Dynamic nonvolatile memory with random access
Abstract
FIELD: information technologies. SUBSTANCE: in one or more examples of realisation new game downloading or deletion from game machine is described, when all existing critical data in NV-RAM memory remain undamaged. In one example of invention realisation method and device are developed for dynamic distribution and release of memory area, which make it possible to provide for both permanent and temporary storage of data in NV-RAM. Method and device are suggested for monitoring of available memory area and dynamic change of memory size in NV-RAM. In one example of realisation method is developed for control of NV-RAM integrity and determination of error in critical data. In one or more examples of realisation methods are described for compaction and transfer of NV-RAM content, which make it possible to combine available memory area or to prevent unauthorised access to NV-RAM memory. EFFECT: saving of critical data even in case of malfunction in game machine. 15 cl, 12 dwg
Term
Term ended
Expired 11 September 2023, 3 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
15 claims: 3 independent, 12 dependent
- 1System of distribution of non-volatile memory for storing critical data in a gaming machine, comprising:a nonvolatile memory having a memory area for storing a configurable critical data for a plurality of types of games held on the gaming machine, wherein the first critical data contains 1) information about the current status of the machine generated during one or more of the plurality of types of betting games;and 2) the information about previous state machine comprising credit information associated with the previous performing one or more of the plurality of types of betting games;dispatcher nonvolatile memory configured for allocating and freeing memory space in the nonvolatile memory to the first critical data associated with the first game, without altering or modifying existing second critical data also stored in the nonvolatile memory. 1. Система распределения энергонезависимой памяти для хранения критических данных в игровой машине, содержащая:энергонезависимую память, имеющую область памяти, конфигурируемую для хранения критических данных для множества типов игр, проводимых на игровой машине, где первые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения одной или более из множества типов букмекерских игр;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением одной или более из множества типов букмекерских игр;диспетчер энергонезависимой памяти, сконфигурированный для распределения и освобождения области памяти в энергонезависимой памяти для первых критических данных, ассоциированных с первой игрой, без изменения или модифицирования существующих вторых критических данных, также хранимых в энергонезависимой памяти. 1. Система распределения энергонезависимой памяти для хранения критических данных в игровой машине, содержащая:энергонезависимую память, имеющую область памяти, конфигурируемую для хранения критических данных для множества типов игр, проводимых на игровой машине, где первые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения одной или более из множества типов букмекерских игр;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением одной или более из множества типов букмекерских игр;диспетчер энергонезависимой памяти, сконфигурированный для распределения и освобождения области памяти в энергонезависимой памяти для первых критических данных, ассоциированных с первой игрой, без изменения или модифицирования существующих вторых критических данных, также хранимых в энергонезависимой памяти.
- 7A method of installation of the game on the gaming machine, the method comprising:generating a first critical data associated with the execution of the first game for the first code betting games installed on the gaming machine, distributing the memory area in the nonvolatile memory to the first critical data using a non-volatile memory system, entries First of critical data in non-volatile memory, where the first critical data include 1) information about the current status of the machine generated during the first betting games;and 2) the information about previous state machine comprising credit information associated with the last performed the first betting games, receiving a second game code, wherein the first game code associated with a second betting game, installable on the gaming machine, storing the second game code in the memory on the gaming machine;generate the second critical data associated with the second game code, the distribution area of memory in the nonvolatile memory to the second critical data via distribution system volatile memory recording the second critical data in non-volatile memory, wherein the second critical data include 1) information about the current state machine generated during the second betting games;and 2) information on the previous condition of the machine, including the credit information associated with the last of the second betting games;prichemenergonezavisimaya memory includes first critical data;and the first critical data remains after the installation of the second game of the code intact. 7. Способ инсталляции игры на игровой машине, содержащий этапы:генерации первых критических данных, ассоциированных с исполнением первого игрового кода для первой букмекерской игры, инсталлированной на игровой машине, распределяющей область памяти в энергонезависимой памяти для первых критических данных с помощью системы энергонезависимой памяти;записи первых критических данных в энергонезависимую память, где первые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения первой букмекерской игры;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением первой букмекерской игры;приема второго игрового кода, где первый игровой код ассоциирован со второй букмекерской игрой, инсталлируемой на игровой машине;сохранения второго игрового кода в запоминающем устройстве на игровой машине;генерации вторых критических данных, ассоциированных со вторым игровым кодом;распределения области памяти в энергонезависимой памяти для вторых критических данных с помощью системы распределения энергонезависимой памяти;записи вторых критических данных в энергонезависимую память, где вторые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения второй букмекерской игры;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением второй букмекерской игры;причемэнергонезависимая память включает в себя первые критические данные;и первые критические данные остаются после инсталляции второго игрового кода неповрежденными. 7. Способ инсталляции игры на игровой машине, содержащий этапы:генерации первых критических данных, ассоциированных с исполнением первого игрового кода для первой букмекерской игры, инсталлированной на игровой машине, распределяющей область памяти в энергонезависимой памяти для первых критических данных с помощью системы энергонезависимой памяти;записи первых критических данных в энергонезависимую память, где первые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения первой букмекерской игры;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением первой букмекерской игры;приема второго игрового кода, где первый игровой код ассоциирован со второй букмекерской игрой, инсталлируемой на игровой машине;сохранения второго игрового кода в запоминающем устройстве на игровой машине;генерации вторых критических данных, ассоциированных со вторым игровым кодом;распределения области памяти в энергонезависимой памяти для вторых критических данных с помощью системы распределения энергонезависимой памяти;записи вторых критических данных в энергонезависимую память, где вторые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения второй букмекерской игры;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением второй букмекерской игры;причемэнергонезависимая память включает в себя первые критические данные;и первые критические данные остаются после инсталляции второго игрового кода неповрежденными.
- 11A method for removing a first betting games of the gaming machine, comprising the steps of:storing the second critical data associated with the second betting game, a nonvolatile memory, wherein the generation of second betting game carried by the second game code, and the second critical data comprises 1) about the current status of the machine generated during the second betting games;and 2) information on the previous condition of the machine, including the credit information associated with the previous holding of a second betting games;identify more unnecessary portion of the first critical data associated with the first betting game, where the generation of the first betting game performed by the first game code, and the first critical data contain 1) information about the current status of the machine generated during the first betting games;and 2) the information about previous state machine comprising credit information associated with previous holding one first betting games;identification memory area storing more unnecessary portion of the first critical data in non-volatile memory by using the controller non-volatile memory;removing a portion of the first critical data associated with a first betting game, wherein deleting does not preclude the use of second critical data also stored in non-volatile memory;iosvobozhdeniya memory area previously occupied by the first critical data. 11. Способ удаления первой букмекерской игры из игровой машины, содержащий этапы:сохранения вторых критических данных, ассоциированных со второй букмекерской игрой, в энергонезависимой памяти, где генерация второй букмекерской игры осуществляется с помощью второго игрового кода, и вторые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения второй букмекерской игры;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением одной второй букмекерской игры;идентификации более ненужной части первых критических данных, ассоциированных с первой букмекерской игрой, где генерация первой букмекерской игры осуществляется с помощью первого игрового кода, и первые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения первой букмекерской игры;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением одной первой букмекерской игры;идентификации области памяти, хранящей более ненужную часть первых критических данных, в энергонезависимой памяти путем использования диспетчера энергонезависимой памяти;удаления части первых критических данных, ассоциированных с первой букмекерской игрой, где удаление не препятствует использованию вторых критических данных, также хранимых в энергонезависимой памяти;иосвобождения области памяти, ранее занятой первыми критическими данными. 11. Способ удаления первой букмекерской игры из игровой машины, содержащий этапы:сохранения вторых критических данных, ассоциированных со второй букмекерской игрой, в энергонезависимой памяти, где генерация второй букмекерской игры осуществляется с помощью второго игрового кода, и вторые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения второй букмекерской игры;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением одной второй букмекерской игры;идентификации более ненужной части первых критических данных, ассоциированных с первой букмекерской игрой, где генерация первой букмекерской игры осуществляется с помощью первого игрового кода, и первые критические данные содержат 1) информацию о текущем состоянии машины, генерируемую во время проведения первой букмекерской игры;и 2) информацию о предыдущем состоянии машины, включающую в себя кредитную информацию, ассоциированную с предыдущим проведением одной первой букмекерской игры;идентификации области памяти, хранящей более ненужную часть первых критических данных, в энергонезависимой памяти путем использования диспетчера энергонезависимой памяти;удаления части первых критических данных, ассоциированных с первой букмекерской игрой, где удаление не препятствует использованию вторых критических данных, также хранимых в энергонезависимой памяти;иосвобождения области памяти, ранее занятой первыми критическими данными.
Independent claims3
75 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
The present invention relates to memory management and, in particular, to a method and apparatus for dynamically storing critical data by allocating and freeing memory space in a gaming machine.
BACKGROUND OF THE INVENTION
Advances in technology have made it possible to create a gaming machine with the possibility of the player a variety of different games. As a convenience for the player and as a way of extending the time of his / her game mnogoigrovye machine casinos can bring significant benefits. A gaming machine with the possibility of a number of different games can significantly reduce the cost of ownership casino. In addition to reducing the additional costs to the owner of the casino such a machine would be able to create a rich player experience.
To change the games stored on the gaming machine must be loaded a new game. This often requires the removal of an existing game with a gaming machine. In operation, delete the contents of non-volatile random access memory (NV-RAM) should be subject to modification. The prototype systems require modification to existing memory NV-RAM has been subjected to the cleaning and replacement of the compiled memory card again, reflecting the addition or removal of a particular game (s).
The process of recompiling or re-initialize the contents of NV-RAM leads to unwanted removal of all information relating to critical data gaming machine. These critical data may contain information about the history of the games, accounting information, information security, player tracking information or any other type of information on the state for a long period of time.
Information about the history of the games can provide a record of the results for a number of rounds of games to play on a gaming machine. For example, information about the history of the games can be used to verify the payment of the gaming machine, able to carry out checks before the payment of winning the jackpot in the case of detection of suspicious activity. Game History may also be used, for example, audit types jackpots generated by a certain number of rounds of the game, or provide evidence of hacking gaming machine. Consequently, this type of information is critical to the casino owner or game machine.
The information provides the current count or a history of loans made to the gaming machine and issued by the gaming machine may be a source of valuable financial information. For example, the total number of credits of the gaming machine can be collected based on the banknotes and coins, the amount of credits generated from the inserted credit card or bonus credits created by entering a PIN (personal identification number). Data of this type are extremely important to a casino owner because generate income that the gaming machine generates over a period of time.
Safety information may provide information related to the event of breaking the gaming machine. Among the elements of this information may be the time of day, type of game, the amount of bets, the result of any specific information such as diagnostic work-related state of the gaming machine in case of burglary.
Information on player tracking also urgently needed to provide useful feedback on the preferences of the player. Casinos can track player information to provide the best and most supportive gaming environment for the player. Game type, the name of the game, the duration of the game, the amount of the drawing or the like - These factors provide casino owner invaluable information about how he / she should entice the player and maintain its interest in the game.
Consequently, reliable support for various critical data previously described in the process of adding or deleting the game with the gaming machine and at all other times is essential. Erasing critical data from NV-RAM leads to many negative consequences.
With regard to the above process of the prior art, the addition or deletion of the game of the gaming machine requires a complete recompilation of NV-RAM memory and creating a new fixed map. This procedure is tedious because it may require the careful removal and replacement of the existing NV-RAM in the gaming machine. It is assumed that the NV-RAM may be reprogrammed without removing it from the gaming machine; However, this process can cause loss of time and unproductive concern client and lead to loss of casino revenue. To perform this operation on each gaming machine requires additional time and labor. As a result, additional costs for the car can be significant.
In the prototype system uses the principle of a fixed memory card that does not allow the use of dynamic memory NV-RAM. Consequently, fixed reserves memory card, which is often not used and do not need to play during mapping. If this area of memory was reserved, it could be used to store critical data associated with another game or created by the addition of new game software. This procedure memory allocation is an obstacle to the provision of effective and appropriate changes to the game on the gaming machine.
Hence, those skilled in the art requires a method and apparatus for gaming machine memory management that will overcome the shortcomings of the prior art.
SUMMARY OF THE INVENTION
In one embodiment, the invention comprises a method and apparatus for downloading games in the gaming machine without altering or deleting critical data unrelated to the added game. The described method allows you to dynamically check and allocate sufficient memory space to download information about the critical data in nonvolatile random access memory (NV-RAM). In one embodiment, after the recording of data in NV-RAM contents of the NV-RAM is tested.
In one embodiment, the invention comprises a method and apparatus for removing a game from a gaming machine without altering or deleting critical data unrelated to the removed game. After removal of the critical data associated with the deleted game is dynamically resizing NV-RAM, providing an increase in the size of the available memory. In one embodiment, after the recording of data in NV-RAM contents of the NV-RAM is tested.
In one embodiment, a method and apparatus for dynamically allocating and freeing memory, allowing to provide storage in NV-RAM both temporary and permanent data. After the distribution or release the memory capacity changes. The temporary memory region is used only during the working transaction required by the gaming machine, which increases the use of the memory area provided by NV-RAM, to the maximum. It offers an example of monitoring the size of the available memory in NV-RAM and dynamic resizing allocated memory areas, to meet the requirements of any critical gaming transactions for gaming machines.
In one embodiment, a method and apparatus for identifying and replacing erroneous data stored in NV-RAM, on the corrected data without altering or deleting critical data unrelated to the erroneous data.
Additional objects, features and advantages of the present invention over the prior art are evident from the following detailed description of the drawings with the accompanying figures.
DESCRIPTION OF DRAWINGS
1 illustrates a block diagram of an exemplary embodiment, the non-volatile random access memory.
2A illustrates a flow chart of a typical process download a game into the gaming machine.
2B illustrates a flowchart of process steps in a typical content inspection nonvolatile random access memory after downloading games in the gaming machine.
3 illustrates an operating block diagram of a typical sequence of steps in a method of memory management during removal of a gaming machine game.
4A illustrates an operating block diagram of the steps in a typical process distribution and release of memory space during a critical game transaction.
4B illustrates an operating block diagram of a typical sequence of steps in a method for monitoring and dynamically resizing available memory area within a non-volatile random access memory.
5 illustrates an operating block diagram of a typical sequence of steps in a method for performing data integrity in the non-volatile random access memory.
6A illustrates an operating block diagram of the steps in a typical process for compacting or reorganizing memory space in non-volatile random access memory.
6B illustrates an operating flow diagram of the typical steps in an alternative method of sealing or reorganized ation storage area in the nonvolatile random access memory.
6C illustrates an operating block diagram of the steps in an alternative method of sealing a typical or reorganizing memory space in non-volatile random access memory.
7 illustrates an operating block diagram of a typical sequence of steps in a method of reordering data in the memory.
8 illustrates an operating block diagram of a typical sequence of steps in a method of encryption of data to write data into memory.
DETAILED DESCRIPTION OF THE INVENTION
The invention provides a method and apparatus for dynamic load or remove the game (s) stored in the gaming machine without changing or removing the "critical data" unrelated to add or delete the game (games). The term "critical data" may be defined as information that is recorded, past and present state of the gaming machine. Examples of such conditions include the history of the game, accounting, security information, or the like Critical data of this type may be stored in non-volatile memory or nonvolatile memory of the gaming machine permanently or temporarily. In one embodiment when downloading or removing the game (s) in a gaming machine critical data is added or removed by allocating or release the memory area in the nonvolatile random access memory (NV-RAM) of the gaming machine.
One embodiment of the invention relates to a method of loading a game to the gaming machine without altering or deleting critical data unrelated to the added game. A number of examples of the invention relates to methods for maximum utilization of free memory in NV-RAM in the operation and maintenance of the gaming machine. A number of examples of the invention relates to methods for efficient use of memory in NV-RAM when loading or removing games from the gaming machine. One embodiment of the invention relates to a method for determining the amount of dynamic memory NV-RAM based on the technical requirements for a gaming machine. One embodiment of the invention relates to a method of identifying erroneous data within the NV-RAM, removing the erroneous data, and restoring correct data into NV-RAM. Several embodiments of the invention relates to data manipulation in time to suppress the intentional modification of critical data by an unregistered user. In the following description, in order to provide a comprehensive description of the present invention, numerous specific details are given. However, one skilled in the art will appreciate that the present invention may be practiced without these specific details. In other instances, detailed description of known features is omitted so as not to impede the identification of the subject invention.
1 illustrates a block diagram of the steps in the exemplary embodiment, non-volatile random access memory. In one embodiment, the NV-RAM 104 consists of a series of memory elements arranged in rows and columns. In order to discuss the basic problems of storage element 108 is described as a block heap. As shown in Figure 1, the entire NV-RAM 104 comprises heap blocks 108 arrayed in rows and columns. Concrete block heap 108 can be accurately defined by specifying its row and column numbers. For simplicity, we consider NV-RAM 104 is physically divided into 10 rows and 10 columns, for a total of 100 blocks heap for NV-RAM 104. For example, the first block 112 of the heap, which is localized in the upper part of the stack memory can be referenced by its physical position in memory on the heap block placed in the position (row 1, column 1), while on the last block of the heap 116 can be referenced by its position, is determined (line 10, column 10).
NV-RAM 104 plays a significant role in the normal operation of the gaming machine. Heap blocks 108 store data that may be classified as permanent or temporary. These constant type described in this document as a critical data. Critical data contains data considered as highly important. Critical data is stored information relating to the current (it) or previous (they) state (s) of the gaming machine. Examples of critical data can be called a game history information, security information, accounting information, player tracking information, information from a global network progressive games, game state information or any "critical" data relating to the game. Critical data such as the amount of money given into the loan or paid gaming machine gaming machine may be stored permanently in NV-RAM 104 as the financial information. This critical accounting information reflects the current and the previous state of the machine for the next round of play. For the owner of the casino, this information is important in determining the profitability of the casino.
In contrast to the time constant region may be used to process important commands related to the current state or the current operation of the gaming machine. After the command processing time domain can be allocated for other purposes such critical data storage. For example, operations that are necessary in transferring credits from the debit card to the gaming machine may require the use of the data stored temporarily in NV-RAM 104. This temporary, or non-critical data can be used as part of a sequence of transactions or instructions to be executed. However, after the operation the contents of memory can be subjected to abrasion, the result of which will generate additional storage area.
NV-RAM 104 may maintain the contents of its memory over time using a battery as a power source and, thus, independently of external power. As a result of NV-RAM can continue to store data such as critical data as long as the power will be supplied. As a rule, NV-RAM contains its own internal battery pack.
2A illustrates the typical way to download a new game in the gaming machine without the destruction or removal of existing critical data. This is - just one possible method of operation and should not be assumed that the present embodiment of a typical limited to this method. In step 204, a software client requests a new game code. In one embodiment, the request is passed via interface devices such as a keypad, touch pad, or card reader on the gaming machine. In other cases, the new game code may be transmitted to the remote computing devices (i.e., workstation, server, or the like) or a portable device (i.e., laptop computer, personal digital assistant, a handheld computer, or the like .), which can communicate with the gaming machine. Transmission can be through wireless or wired communication. The software may contain client communication manager, manager bank manager virtual player tracking controller event distribution, event manager or dispatcher definition surges. More fully, the term "software client" application is considered generic №09 / 690 931, entitled "High Speed interface with battery backed RAM» ("High Performance Battery Backed RAM Interface"), incorporated herein by reference.
In step 208, the client software sends the critical data in the NV-RAM manager or supervisor. In one embodiment, the NV-RAM manager comprises software to manage the non-volatile memory or nonvolatile memory capable of effectively managing the non-volatile memory or nonvolatile memory. Storing and accessing critical data can be implemented in software controlled non-volatile memory file system or nonvolatile memory. The file system-volatile memory or nonvolatile memory facilitates viewing and modifying data permanently stored in NV-RAM. The file system-volatile memory or non-volatile memory can be considered as distribution system files in the operating system of the computer where the files are organized into directories, subdirectories and files. NV-RAM manager sends requests to functions in NV-RAM. Requests for functions may include a request for the distribution or release memory, opening or closing files or data reading, writing, resizing and moving blocks hippie in memory NV-RAM. As used herein, the term control system NV-RAM manager comprises a combination of NV-RAM, a file system volatile memory or nonvolatile memory, and NV-RAM, supported by processes executed by an operating system permanently stored on the gaming machine. The operating system may contain an operating system manufacturing companies such as Microsoft, Apple, or LINUX. The control system NV-RAM can use standard application tools such as word processing software to view the contents in the NV-RAM. It is assumed that any word-processor combined with the file system volatile memory or nonvolatile memory can facilitate mapping, addition, deletion, and modification of critical data associated with the addition or removal of a particular game (s) within NV-RAM. As an example, a word processor program includes Corel Word Perfect or Microsoft Word. The control system NV-RAM reserves existing critical data for permanent storage in NV-RAM intact during any addition or deletion of critical data.
In step 212, the dispatcher NV-RAM dynamically interact with the NV-RAM, to run queries on the functions related to the distribution or release of the heap blocks that relate to the recording or deletion of critical data. Requests for function performed involving the software client and may comprise any of the requests mentioned in the preceding paragraph.
In step 216, the dispatcher NV-RAM allocates the amount of NV-RAM, required for a new game. It is assumed that the program executed by the software client or hardware device may determine the size of the game to be loaded into the NV-RAM. Sharing this information can be carried out with the controller in any way. Then the NV-RAM manager checks for the existence of sufficient memory and issues a request for memory allocation. Manager NV-RAM can perform the function of an open request for access to an existing node memory NV-RAM. Node is a collection of related blocks of the heap in the NV-RAM. Read in NV-RAM request function provides a handle (or address) for the site of interest NV-RAM, associated with a plurality of blocks heap. Heap blocks comprise used or unused blocks of memory associated with the particular descriptor. As a result, the respective blocks are allocated heap manager NV-RAM for the next recording function.
In step 220, a decision is made whether a sufficient memory size or not. If the memory size is not adequate, the process proceeds to step 224, in which a process called compaction, described below in more detail, is performed a predetermined number of times, in this embodiment N times, to reorganize (or defragment) the memory. The process generates a seal unused contiguous memory size sufficient for storing critical data. In step 228, the operation determines whether the number reaches procedures performed seal N or not and continue the operation until n = N. If the available memory size is still insufficient, then the process ends at step 232, as shown, the transition to a conflict mode. This is followed by step 236, indicating the occurrence of the need for human intervention in the operation of the gaming machine.
In another embodiment of the invention, if in step 240 the memory of sufficient size is available, it proceeds to step 240, where the available heap blocks are identified and there is a dynamic allocation of the heap blocks. The corresponding number of blocks heap is assigned to a node with a unique descriptor. At step 244, NV-RAM manager performs a write function of the critical data associated with new game in the neighboring blocks heap in NV-RAM.
1 may contribute to the understanding of the process described steps 204-244 in Figure 2A. As shown, the second game is added in NV-RAM 104; NV-RAM previously contained elements of critical data associated with the current game # 1. As shown, the critical data elements corresponding to the first game, stored in the first 8 heap blocks 108 NV-RAM 104 (i.e., row 1, columns 1-8). As part of the process described above, NV-RAM manager decides that critical data needs 12 blocks heap. Manager NV-RAM 12 facilitates the distribution of neighboring blocks heap in the NV-RAM. As shown in Figure 1, the next 12 sequential heap blocks are allocated in accordance with the last two heap blocks in row 1 and row 2 all blocks.
The following is a continuation of the description of the method, illustrated in Figure 2, accompanied by a reference to Figure 2, concerning the verification of data integrity. In step 248 NV-RAM manager retrieves a copy of the original critical game data from the interface of the device and sends it to the client software, where the copy is stored in the first cell in the SDRAM memory or any other storage device.
SDRAM - synchronous dynamic random access memory, which can be used to store data required for immediate processing performed by a processor in a gaming machine. Random access memory of this type provides faster read and write memory cycles, but is not suitable for long-term storage of critical data information in a gaming machine. Thereafter, in step 252, the software client stores a copy of the data retrieved from NV-RAM in SDRAM.
Next, in step 256, a software client compares the original critical game data in SDRAM with critical game data stored in NV-RAM. It is assumed that the data confirm the absence of changes in both the original critical game data, and the data stored in NV-RAM, may be subjected to CRC control. Thereafter, in step 260, a decision is made if it matches the data stored in the SDRAM, with the data stored in NV-RAM. If the data coincide, the process advances to step 264. Otherwise, if the data do not match, the gaming machine enters the conflict, as shown at step 268, and step 272 sets the standby state. This process provides a record of critical data associated with the new gaming software in NV-RAM to play a game without errors.
The above steps provide a method of dynamic allocation of memory NV-RAM, comprising storing critical game information associated with the addition of a new game. The advantage of this method over prior art is that the addition of the new game does not touch any critical data previously written into the NV-RAM, the type of data associated with another game. Therefore, the method ensures the preservation of the existing critical game information in NV-RAM, and does not require re-initialization and re-map the entire contents of memory NV-RAM.
3 illustrates an operating block diagram of the steps in a typical process for removal or deallocation of critical data associated with the deleted game of mnogoigrovoy machine. When removing the game from the gaming machine can be removed critical data associated with a particular game. The advantage of this method is that removal of the game from the gaming machine may be accomplished without disrupting the storage of other data in the gaming machine such as critical data. As a result of the removal of games from gaming machines can be done quickly and efficiently. Furthermore, these operations can be performed by service technicians and experts do not require the use of software.
In step 304, the client program receives a request to delete the game from the gaming machines. Next, in step 308, the software client initiates a request for a function to the dispatcher NV-RAM, to identify the handle or node of the critical data associated with the game to be removed. In step 312, the heap blocks of memory corresponding to the node are tagged for removal. In step 316, the controller removes the NV-RAM blocks heap NV-RAM by releasing the appropriate set of blocks heap. As part of this process, the heap block may be subjected to opening and reading.
After removal of the data contained in the set of heap blocks, as shown at step 320, a change in size of the remaining available heap blocks in memory, which thus provides a potentially larger memory space for future critical data storage. At step 324, NV-RAM manager or any other device, system, or software verifies the accuracy of the critical data stored in NV-RAM.
4A illustrates an operating block diagram of a typical method for dynamically resizing available memory space in a gaming machine. Advantages of this method is to distribute and release the required memory space. When memory is required to perform the work transaction, the memory area allocated only during that period of time when it is needed. When memory is freed, a change in memory size that provides increased available memory space for future use.
In step 404, it occurs to initiate a critical game transaction. Examples of critical game transaction can be called reading information from credit debit card, the replenishment of the loan amount in a gaming machine, and receive money from the player. For critical game transaction may require the use of NV-RAM as a temporary or more permanent. NV-RAM may store data values temporarily as an intermediate step in the process of calculation of the critical data. For example, when receiving money from the bill validator player can determine the value of money in integers dollars. This information can be stored in NV-RAM temporarily as an intermediate working step to determine the number of loans in the gaming machine. If the game contains the game at 25 cents, the calculated number of credits would be consistent with forty credits, if the player put the ten dollar bill. In this example, the critical data stored permanently in NV-RAM, may contain the number of credits (forty), although the number of dollars (ten) would constitute an intermediate operational value in the calculation of the number of credits. As a result, the intermediate value of "ten" may contain information that is temporarily stored in NV-RAM and are deleted after calculating the value of the critical data "forty", which can be stored permanently in the NV-RAM.
In step 408, NV-RAM manager allocates memory to facilitate a critical game transaction. Manager NV-RAM memory can be allocated in preparation for storage of critical data typically associated with loading the game, or you may free the memory (as when removing the contents of the temporary memory NV-RAM), if specific data are no longer needed in a gaming machine. Typically, a critical game transaction NV-RAM manager allocates memory or temporarily, or permanently, as shown at step 412. The new data will reside in memory over a period of time determined by their function. In step 416, the transaction data is loaded working in temporary storage to NV-RAM. As noted previously, this data can be used in an intermediate step as part of a calculation of critical data. Thereafter, in step 420, the resulting critical data is stored permanently in the memory NV-RAM. In step 424, the data created, stored or used for intermediate operating transactions can be destroyed, and a memory NV-RAM can be released.
As shown in Figure 4B, in step 428, the gaming machine may go into tracking mode game. In the course of the game on the gaming machine may be a number of different events such as receiving money, a conflict with the drive, a conflict with the drum, the conflict situation in the protection system, power loss, the card insertion player removing the card player input personal identification, rotation of the drum, changes in the value of currency, conflict with the jackpot, etc. During these transactional events requirements of the game or the gaming machine to a temporary or permanent non-volatile memory or nonvolatile memory, may vary. Accordingly, at step 428, the distributed memory are continuously monitored. In step 432 a decision on the adequacy of memory at any given time during operation of the gaming machine.
If sufficient memory, gaming machine is resuming the game by returning to step 424. Otherwise, if at step 532, the system determines that the storage area or the size of distributed domains is insufficient, the operation takes place the transition to step 436. In step 436, the dynamic operation occurs resizing memory to facilitate a game or any other working transaction. The process may be to compaction, described below in more detail, to provide contiguous memory large enough for a particular transaction.
1 is a temporary memory NV-RAM is shown as the first four blocks of the heap in the third line 120 NV-RAM 104. It is expected that these blocks are used to store intermediate data required in the generation of critical data. For example, the critical data associated with the second game, contained in heap blocks located in row 2, and columns 1-10, may be generated using the data stored in the temporary region NV-RAM. After use, the contents in the time domain 120 NV-RAM can be removed and the associated heap blocks can be released.
5 illustrates an operating block diagram of a typical sequence of steps in a method for performing data integrity in the non-volatile random access memory. In one embodiment, the method is used to detect and fix changes to data that may be caused by problems with such static electricity discharge or high voltage surge. This process may begin when the gaming machine. This is shown in step 504. The gaming machine initializes the NV-RAM, which may include checking memory integrity.
In one embodiment, the integrity check is performed by an algorithm CRC (cyclic redundancy check) or other means, such as a checksum, to determine whether the element contains critical data stored in NV-RAM, error. When the game machine is turned on, the state machine to enable it fixed in the title NV-RAM. The status information may comprise a particular signature that may be recognized during the integrity check. For example, a particular signature may indicate that the gaming machine has a particular malfunction or that during the previous operation power supply has been interrupted. If the signatures generated for the title NV-RAM, do not comply with the signatures stored in the title NV-RAM, critical data may have a problem such as breaking gaming machine or any other hardware or software failure. Further control blocks heap NV-RAM may indicate errors in critical data. In the case where the signature indicates that the power outage occurred, the controller NV-RAM may be required to further validate the integrity of the contents of the memory inside the heap, which contains critical data associated with a particular operation during mains outage.
Thereafter, in step 508, NV-RAM manager performs integrity monitoring NV-RAM and determines errors in a critical data element. In step 512, the dispatcher NV-RAM descriptor element identifies erroneous critical data and determines the appropriate heap blocks that contain an element of erroneous critical data. In one embodiment, the controller NV-RAM at the same time executes the query function of opening access to memory containing blocks heap hurt. Request a read can then generate the corresponding set of heap blocks that require removal.
In step 516, the NV-RAM manager queries the delete function, which allows to remove the NV-RAM blocks heap associated with error detection. In step 520, all the heap blocks containing elements unrelated critical data remain within the NV-RAM intact, as the NV-RAM manager reboots piqued data in the respective cells in the NV-RAM, to restore the integrity of critical data. In one embodiment, after a reboot or re-recovered data may be subject to re-examination. In one embodiment, after removal of the damaged data may be generated by a warning.
The advantage of this embodiment lies in the fact that in the process of removing error from non-volatile memory or nonvolatile memory erases minimal subset of all critical data elements. As a result of the process described with reference to Figure 5, typically removes the erroneous critical data element and leaving intact all other critical data elements that are unrelated to the erroneous critical data element.
The prototype with the error in the data item required reinitialization or erase all NV-RAM, which resulted in the loss of all data that is not associated with an error. This is undesirable due to the loss of critical data or having to reboot.
6A-6C illustrate typical ways of sealing NV-RAM. Seal - the reorganization process used and free memory in NV-RAM, implemented for combining the free memory in memory or in larger contiguous memory maximum size. In the process of sealing the dispatcher NV-RAM writes the associated critical data on a number of neighboring blocks heap. The result is a more efficient process execution controller NV-RAM recording and reading. Consequently, there is a significant improvement in performance related data stored in the neighborhood. In addition, the seal provides a more efficient use of memory, as it allows to record the data block in the neighborhood.
6A illustrates a further embodiment of the method compaction or reorganizing memory in NV-RAM. It can be realized by separating the used blocks heap of unused blocks heap. In step 604, the dispatcher NV-RAM blocks in sequence analyzes hippie NV-RAM. It is assumed that the NV-RAM manager starts the analysis at a position of the first heap block (row 1, column 1) NV-RAM, as shown in Figure 1, or in any position. In step 608, it is determined whether the block heap (contains data) or not. If the heap block is used, then at step 612, the heap block is moved or placed at the top of the stack memory NV-RAM. As used heap blocks are moved into the upper part of NV-RAM, may be subjected to sorting based on the type of critical data stored within the heap block. Among sorting criteria can be called critical type of data (for example, accounting data or the history of the game), the game type, or any other factor.
In Step 616 is performed resizing nodes to display the number of heap blocks associated with a particular node. Node is considered a generic application №09 / 690,931, "High-speed interface with a battery-backed RAM» (High Performance Battery Backed RAM Interface). Thereafter, in step 620 analyzes the next heap block and the process is repeated by returning to step 604. After sealing the entire NV-RAM memory the process can be paused or stopped.
In step 608, if the heap block is not used, the process loops back to step 604, where the next heap block is analyzed. It is expected that the management of the movement of the heap blocks can be programmed in conjunction with the client manager NV-RAM. It is assumed that factors of the start and end of the process can be time of day usage NV-RAM, rounds of play on the gaming machine or some other criteria.
6B illustrates an additional embodiment of a method for compacting or reorganizing memory in NV-RAM. It can be realized by moving the blocks in the top or bottom of the stack memory NV-RAM. In step 624, the dispatcher NV-RAM blocks in sequence analyzes in hippie NV-RAM. As described with reference to Figure 6A, NV-RAM manager may begin analysis with the first block of heap localized at position (row 1, column 1) NV-RAM or from any other position. In step 628 a decision is made about whether or not the heap block.
If the heap block is used, the process proceeds to step 632, where the heap block is moved to the upper portion of NV-RAM. If the heap block is not used, the process proceeds to step 636, and the heap block is moved to the bottom of the stack memory NV-RAM. Thereafter, in both cases, changes in the dimensions of associated nodes to display a new reorganization or new aggregate used or unused heap blocks. This is shown in steps 640 and 644. In step 648 the next heap block is analyzed and the process repeats. Since moving heap blocks executed as used with reference to, and as applied to the unused heap blocks, it is assumed that the system described with reference to Figure 6B may provide a faster method of compaction as compared with the system described with reference to Figure 6A.
6C illustrates a further embodiment of the sealing system and the reorganization memory NV-RAM. It can be realized by moving blocks heap to the top of the stack memory NV-RAM based on specific criteria. In step 652 controller NV-RAM sequentially analyzes the heap blocks in NV-RAM. In step 656 a decision is made about whether or not the heap block. If the heap block contains data, the process proceeds to step 660. Then a decision is made concerning block size criteria. For example, the criteria may be that size to the block size of the heap before moving does not exceed 200 kilobytes. This type of criteria may facilitate the movement of smaller units compared with the movement of large blocks, and the criteria may be controlled, for example, a casino employee. In step 664 used to block the heap that satisfies the required criteria, moved to the top of the stack memory in NV-RAM. Expected heap block may be shifted in the memory portion is different from the upper part, described in this embodiment. In step 668 changes the size of available blocks together hippie to display additional available memory space. Then, at step 672 the process is repeated, and the NV-RAM manager analyzes the next block heap.
It is assumed that the movement of the heap blocks described with reference to Figures 6A-6C may be performed by moving the data to another memory portion other than the top or bottom of the stack memory NV-RAM. Methods for moving to a particular position, as described in these embodiments are exemplary and serve for purposes of discussion. Furthermore, it is contemplated that the seal can occur more readily when the availability of unused NV-RAM is low. It is also contemplated that sealing can take place periodically or at specific times of the day or on particular days of the week. As part of the initialization NV-RAM it is assumed that the seal NV-RAM is performed at the first start Manager NV-RAM.
7 illustrates a typical way of moving the contents of the heap blocks in various positions within the memory NV-RAM. This process can occur to provide additional security by reorganizing the data in memory, to prevent unauthorized access to data. Continuous or periodic change of the position data in the memory to reduce the access of the individual data of a particular type.
In step 704, the dispatcher NV-RAM randomly generates a host record. Record node keeps a handle to the NV-RAM which can be a unique descriptor. This handle is used by the client software may provide a pointer to the position of the permanent location of the site or write in NV-RAM. In addition, the recording unit can provide size, file name and information relating to the status of the file. It is assumed the status may be a flag that indicates a possible change in the size or deleting data in NV-RAM and enables the implementation of these operations. At 708 selects an associated block heap or an arbitrary heap block corresponding to the recording unit. In step 712, the heap blocks are placed at the bottom of the memory stack in NV-RAM. It is assumed that data can be transferred to the memory part of the stack other than the bottom. 1 illustrates the physical location of the heap block as a result of moving data into the lower portion of the memory stack (shown as the heap block in position (row 10, column 10)).
Then, in step 716 can be applied compaction procedure described with reference to Figures 6A-C. This process prevents the possibility of unauthorized user to identify the contents of a particular block of the heap, as the contents of the heap blocks, chosen at random, continuously moves to a new position within the NV-RAM.
8 shows a working flowchart of further steps in the process of the system to prevent unauthorized access to data stored in NV-RAM. In step 808, critical game data associated with game code, identification and subjected conservation SDRAM. In step 812, the NV-RAM manager facilitates the processing of critical data by supplying critical data controller NV-RAM. At step 816, NV-RAM manager identifies and allocates heap blocks to store the critical data. In step 820, NV-RAM facilitates the encryption and subsequent storage of critical data into SDRAM. Encryption can be a simple encryption of any type. In one embodiment, the encryption comprises multiplying the critical data to a unique number for a gaming machine. This allows you to create a unique encryption key, which will not be known for a potential cheater. At step 824, the encrypted critical data is written into NV-RAM.
It is assumed that the above described software may be implemented in a computer-readable code type of the software code and computer programs, executable by the processor.
It is understood that the above-described configuration and method to be regarded solely as illustrative of the principles of this invention and that allowed the possibility of offering many other embodiments and modifications without departing from the spirit and scope of the invention as defined by the claims.
Contents5
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| EP1046996A | Cites | European Patent Office (EPO) |
| GB2308471A | Cites | United Kingdom |
| JP58213281A | Cites | Japan |
| RU94029732A1 | Cites | Russian Federation |
| US5344144A | Cites | United States of America |
| US5551020A | Cites | United States of America |
| US5851149A | Cites | United States of America |
| US6065148A | Cites | United States of America |
130 members in 12 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 10243104 | United States of America | – | |
| 24310402 | United States of America | A | |
| 24310402 | United States of America | A | |
| 10243104 | – | – | – |
| US20020243104 | – | – | – |
Members130
| Document | Office | Kind | |
|---|---|---|---|
| CA2358378A1 | Canada | A1 | |
| AU7946901A | Australia | A | |
| CA2364424A1 | Canada | A1 | |
| AU9715401A | Australia | A | |
| US2002071557A1 | United States of America | A1 | |
| US2002116615A1 | United States of America | A1 | |
| US2003073497A1 | United States of America | A1 | |
| CA2481062A1 | Canada | A1 | |
| WO03085613A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003231979A1 | Australia | A1 | |
| US2004053675A1 | United States of America | A1 | |
| CA2498667A1 | Canada | A1 | |
| CA2821431A1 | Canada | A1 | |
| WO2004024259A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2004025655A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU2003268279A1 | Australia | A1 | |
| AU2003270623A1 | Australia | A1 | |
| US2004147314A1 | United States of America | A1 | |
| US6804763B1 | United States of America | B1 | |
| NO20044602L | Norway | L | |
| US2005010738A1 | United States of America | A1 | |
| WO2004025655A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1497800A1 | European Patent Office (EPO) | A1 | |
| US6863608B1 | United States of America | B1 | |
| EP1539312A1 | European Patent Office (EPO) | A1 | |
| RU2004129600A | Russian Federation | A | |
| US2005153778A1 | United States of America | A1 | |
| US6918831B2 | United States of America | B2 | |
| AU2005207319A1 | Australia | A1 | |
| CA2553361A1 | Canada | A1 | |
| CA2553389A1 | Canada | A1 | |
| WO2005071627A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2005071631A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2005192099A1 | United States of America | A1 | |
| EP1586038A2 | European Patent Office (EPO) | A2 | |
| RU2005110937A | Russian Federation | A | |
| AU784141B2 | Australia | B2 | |
| US2006035708A1 | United States of America | A1 | |
| US2006059421A1 | United States of America | A1 | |
| WO2006031662A1 | World Intellectual Property Organization (WIPO) | A1 | |
| RU2005106847A | Russian Federation | A | |
| AU2006201450A1 | Australia | A1 | |
| US2006178188A1 | United States of America | A1 | |
| AU785054B2 | Australia | B2 | |
| US7111141B2 | United States of America | B2 | |
| AU2006223202A1 | Australia | A1 | |
| CA2600809A1 | Canada | A1 | |
| WO2006099234A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP1709603A1 | European Patent Office (EPO) | A1 | |
| EP1711923A1 | European Patent Office (EPO) | A1 | |
| US7127069B2 | United States of America | B2 | |
| AU2006249229A1 | Australia | A1 | |
| US2007004506A1 | United States of America | A1 | |
| AU2006266236A1 | Australia | A1 | |
| CA2613660A1 | Canada | A1 | |
| US2007011427A1 | United States of America | A1 | |
| WO2007005290A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US7168089B2 | United States of America | B2 | |
| EP1586038A4 | European Patent Office (EPO) | A4 | |
| US2007136817A1 | United States of America | A1 | |
| US2007174581A1 | United States of America | A1 | |
| RU2304011C2 | Russian Federation | C2 | |
| US2007207852A1 | United States of America | A1 | |
| AU2007224274A1 | Australia | A1 | |
| CA2644029A1 | Canada | A1 | |
| WO2007103069A2 | World Intellectual Property Organization (WIPO) | A2 | |
| EP1854076A1 | European Patent Office (EPO) | A1 | |
| US2007266220A1 | United States of America | A1 | |
| MX2007010958A | Mexico | A | |
| WO2007103069A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1902429A1 | European Patent Office (EPO) | A1 | |
| CN101171611A | China | A | |
| US7374487B2 | United States of America | B2 | |
| US7384339B2 | United States of America | B2 | |
| US7390262B2 | United States of America | B2 | |
| US7412559B2 | United States of America | B2 | |
| WO2008097790A2 | World Intellectual Property Organization (WIPO) | A2 | |
| JP2008532651A | Japan | A | |
| US2008214300A1 | United States of America | A1 | |
| MX2008011310A | Mexico | A | |
| EP1991965A2 | European Patent Office (EPO) | A2 | |
| AU2003231979B2 | Australia | B2 | |
| AU2008243213A1 | Australia | A1 | |
| US7480857B2 | United States of America | B2 | |
| WO2008097790A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US2009036190A1 | United States of America | A1 | |
| US7515718B2 | United States of America | B2 | |
| RU2352001C2This record | Russian Federation | C2 | |
| US2009135750A1 | United States of America | A1 | |
| RU2359330C2 | Russian Federation | C2 | |
| US2009181765A1 | United States of America | A1 | |
| JP2009528153A | Japan | A | |
| AU2006249229B2 | Australia | B2 | |
| WO2009140211A1 | World Intellectual Property Organization (WIPO) | A1 | |
| RU2359330C9 | Russian Federation | C9 | |
| EP1991965B1 | European Patent Office (EPO) | B1 | |
| ATE450848T1 | Austria | T1 | |
| DE602007003574D1 | Germany | D1 | |
| AU2006201450B2 | Australia | B2 | |
| AU2009206165A1 | Australia | A1 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| The patent is invalid due to non-payment of feesMM4A | MM4A |
Numbers
- Publication
- 2352001
- Publication, DOCDB
- 2352001
- Publication, EPODOC
- RU2352001
- Application
- 200510684709
- Application, DOCDB
- 2005106847
- Application, EPODOC
- RU20050106847
Titles2
- Russian
- ДИНАМИЧЕСКАЯ ЭНЕРГОНЕЗАВИСИМАЯ ПАМЯТЬ С ПРОИЗВОЛЬНЫМ ДОСТУПОМ
- English
- DYNAMIC NONVOLATILE MEMORY WITH RANDOM ACCESS
Classification
- CPC, 11
- G07F17/32
- A63F13/12
- A63F2300/206
- A63F2300/401
- A63F2300/552
- A63F2300/6063
- G06F12/023
- G06F2212/401
- G07F17/3202
- G07F17/3241
- A63F13/30
- IPC, 4
- G11C11 401
- G06F12 00
- G06F12 02
- G07F17 32