A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. Copyright 2006, 2007, WMS Gaming, Inc.
Embodiments of the inventive subject matter relate generally to wagering game machines, and more particularly, to memory management within wagering game machines.
Wagering game machines, such as slot machines, video poker machines, and the like, have been a cornerstone of the gaming industry for several years. Generally, the popularity of such machines depends on the likelihood (or perceived likelihood) of winning money at the machine and the intrinsic entertainment value of the machine relative to other available gaming options. Where the available gaming options include a number of competing machines and the expectation of winning at each machine is roughly the same (or believed to be the same), players are most likely attracted to the most entertaining and exciting of the machines. Consequently, shrewd operators strive to employ the most entertaining and exciting machines available because such machines attract frequent play and increase profitability for the operator. In the competitive wager gaming machine industry, there is a continuing need for manufacturers to produce new game types or to enhance entertainment and excitement associated with existing wager gaming machines.
Computerized wagering games have largely replaced traditional mechanical wagering game machines such as slot machines, and are rapidly being adopted to implement computerized versions of games that are traditionally played live such as poker and blackjack. These computerized games provide many benefits to the game owner and to the gambler, including greater reliability than can be achieved with a mechanical game or human dealer, more variety, sound, and animation in presentation of a game, and a lower overall cost of production and management.
One aspect of modern computerized wagering games is that a single console or cabinet is capable of providing several different games, similar to a personal computer. In certain wagering game machines, non-volatile random access memory (NVRAM) is used to store critical data. Such critical data may include game history data, accounting data, security data, player tracking data, or other game state data. Typically, modifying the set of games on a wagering game machine necessitates re-initializing or re-formatting the NVRAM and losing any existing critical data. Retaining critical data between game installations is advantageous to maintain a consistent playing environment. When installing or modifying games on a computerized wagering machine, it is desirable to effectively manage critical data to ensure game integrity.
The CPU 126 is also connected to an input/output (I/O) bus 122, which facilitates communication between the wagering game machine's components. The I/O bus 122 is connected to a payout mechanism 108, primary display 110, secondary display 112, value input device 114, player input device 116, information reader 118, wager input unit 120, and storage unit 130. In one embodiment, the wager input unit 120 can electronically receive wagering value (e.g., monetary value) from a player's casino account or other suitable “cashless gaming” value source. The I/O bus 122 is also connected to an external system interface 124, which is connected to external systems 104 (e.g., wagering game networks).
In one embodiment, the control system 106 can include additional peripheral devices and/or more than one of each component shown in
In one embodiment, any of the components of the control system 106 (e.g., the NVRAM management unit 136) can include hardware, firmware, and/or software for performing the operations described herein. Furthermore, any of the components can include machine-readable media including instructions for causing a machine to perform the operations described herein. Machine-readable media includes any mechanism that provides (i.e., stores and/or transmits) information in a form readable by a machine (e.g., a wagering game machine, computer, etc.). For example, tangible machine-readable media includes read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory machines, etc. Machine-readable media also includes any media suitable for transmitting software over a network.
The wagering game machines described herein can take any suitable form, such as floor standing models, handheld mobile units, bartop models, workstation-type console models, etc. In one embodiment, the wagering game network 200 can include other network devices, such as accounting servers, wide area progressive servers, and/or other devices suitable for use in connection with embodiments of the invention.
The components of each casino 212 can communicate over wired 208 and/or wireless connections 210. Furthermore, they can employ any suitable connection technology, such as Bluetooth, 802.11, Ethernet, public switched telephone networks, SONET, etc.
Typically, a game stores critical data in NVRAM. Critical data may include one or more of game outcome, credit balance, reel positions, game history, random number generator seeds, game configuration, machine configuration, player information, or other state information or information critical to the operation and record keeping in a gaming machine. The critical data is stored in NVRAM to maintain a player's game state in the case of a sudden power failure. In some embodiments, NVRAM is formatted with fixed partitions to optimize file system operations. In other embodiments, NVRAM is formatted with dynamic partitions.
The temporary storage device can include in various embodiments, volatile or non-volatile memory, such as a hard disk, flash memory, or random access memory (RAM). In further embodiments, the temporary storage device is a removable media, such as a universal serial bus (USB) memory stick or a hot-swappable hard drive. In other embodiments, the temporary storage device includes one or more of an optical drive (e.g., CD-RW drive or DVD-RW drive) or a network storage device.
In an embodiment, some or all of the data copied from the NVRAM module to the temporary storage device is compressed. In an embodiment, the transferred data is encrypted or protected by other security measures, such as a password.
At 304, the NVRAM module 138 is cleared. In an embodiment, the clearing is performed by writing zeros to every address location in the NVRAM module 138. This may be preferred to ensure that subsequent games that access a previously used memory range are not able to intentionally or accidentally retrieve false, inconsistent, or inaccurate data related to the previous game files. In other embodiments, only enough of the NVRAM is cleared to destroy the file system. In an embodiment, clearing is performed by writing ones to certain addresses or ranges of addresses to destroy the data or file system. In an embodiment, the clearing is performed by calling another process or sending a control command to a device to clear the NVRAM. For example, the NVRAM management unit 136 can initialize and run executable code that exists in the wagering game machine's main memory 128. In an embodiment, step 304 is optional and may not be performed.
At 306, the NVRAM management unit 136 copies data into the NVRAM module 138. In an embodiment, the data can comprise some or all of the previous contents of the NVRAM, which are stored on the temporary storage device. In an embodiment, if a structured copy was used to copy files to the temporary storage device, then after a file system is created on the cleared NVRAM, files can be copied or moved back to the NVRAM. In contrast, in another embodiment, if a raw copy, such as an image, was used to transfer the contents of the NVRAM to the temporary storage device, then files can be read from the raw copy (e.g., image) on the temporary storage device and transferred to the NVRAM or alternatively, part or all of the raw data can be transferred to the NVRAM. In an embodiment, some or all of the data to be stored on the NVRAM module 138 is generated by a process. For example, after the NVRAM is cleared, an operator can install a new game program, where the initial steps of installation include clearing some or all of the NVRAM, formatting the NVRAM with a new file system, and then installing necessary default game files. In an embodiment, some or all of the data is copied from a source other than the temporary storage device. In an embodiment, some of all of the data copied to the NVRAM is from the temporary storage device and is either a subset or a superset of the data initially copied from the NVRAM to the temporary storage device.
In certain embodiments, the data is compressed or uncompressed files, encrypted data, or executable data. For example, in order to improve the capacity efficiency of the temporary storage device, the data can be compressed after being copied to the temporary storage device and then decompressed before being copied back to the NVRAM module 138. Alternatively, the data can be copied back to the NVRAM module 138 in a compressed state and then decompressed by a process or program that accesses the data. In some embodiments, an authentication, verification or confirmation step is inherent to the copying process. For example, after a file is copied for a storage device to the NVRAM module 138, a process is used to calculate a checksum and compare it to a known value to verify an accurate copy.
The wagering game machine 400 comprises a housing 412 and includes input devices, including value input devices 418 and a player input device 424. For output, the wagering game machine 400 includes a primary display 414 for displaying information about a basic wagering game. The primary display 414 can also display information about a bonus wagering game and a progressive wagering game. The wagering game machine 400 also includes a secondary display 416 for displaying wagering game events, wagering game outcomes, and/or signage information. While some components of the wagering game machine 400 are described herein, numerous other elements can exist and can be used in any number or combination to create varying forms of the wagering game machine 400.
The value input devices 418 can take any suitable form and can be located on the front of the housing 412. The value input devices 418 can receive currency and/or credits inserted by a player. The value input devices 418 can include coin acceptors for receiving coin currency and bill acceptors for receiving paper currency. Furthermore, the value input devices 418 can include ticket readers or barcode scanners for reading information stored on vouchers, cards, or other tangible portable storage devices. The vouchers or cards can authorize access to central accounts, which can transfer money to the wagering game machine 400.
The player input device 424 comprises a plurality of push buttons on a button panel 426 for operating the wagering game machine 400. In addition, or alternatively, the player input device 424 can comprise a touch screen 428 mounted over the primary display 414 and/or secondary display 416.
The various components of the wagering game machine 400 can be connected directly to, or contained within, the housing 412. Alternatively, some of the wagering game machine's components can be located outside of the housing 412, while being communicatively coupled with the wagering game machine 400 using any suitable wired or wireless communication technology.
The operation of the basic wagering game can be displayed to the player on the primary display 414. The primary display 414 can also display a bonus game associated with the basic wagering game. The primary display 414 can include a cathode ray tube (CRT), a high resolution liquid crystal display (LCD), a plasma display, light emitting diodes (LEDs), or any other type of display suitable for use in the wagering game machine 400. Alternatively, the primary display 414 can include a number of mechanical reels to display the outcome. In
A player begins playing a basic wagering game by making a wager via the value input device 418. The player can initiate play by using the player input device's buttons or touch screen 428. The basic game can include arranging a plurality of symbols along a payline 432, which indicates one or more outcomes of the basic game. Such outcomes can be randomly selected in response to player input. At least one of the outcomes, which can include any variation or combination of symbols, can trigger a bonus game.
In some embodiments, the wagering game machine 400 can also include an information reader 452, which can include a card reader, ticket reader, bar code scanner, RFID transceiver, or computer readable storage medium interface. In some embodiments, the information reader 452 can be used to award complimentary services, restore game assets, track player habits, etc.
In some embodiments, the wagering game machine 400 can also include an information reader, which can include a card reader, ticket reader, bar code scanner, RFID transceiver, or computer readable storage medium interface. In some embodiments, the information reader can be used to award complimentary services, restore game assets, track player habits, etc.
In some embodiments, the wagering machine is a stand alone gaming device, a mobile gaming device, or a gaming device in a server-based gaming system.
In the above detailed description, reference is made to specific examples by way of drawings and illustrations. These embodiments, which are also referred to herein as “examples,” are described in sufficient detail to enable those skilled in the art to practice the inventive subject matter, and serve to illustrate how the inventive subject matter may be applied to various purposes or embodiments. Other embodiments are included within the inventive subject matter, as logical, mechanical, electrical, and other changes may be made to the example embodiments described herein. Features or limitations of various embodiments described herein, however essential to the example embodiments in which they are incorporated, do not limit the inventive subject matter as a whole, and any reference to the invention, its elements, operation, and application are not limiting as a whole, but serve only to define these example embodiments. The above detailed description does not, therefore, limit embodiments of the invention, which are defined only by the appended claims.
Each of the embodiments described herein are contemplated as falling within the inventive subject matter, which is set forth in the following claims.
This patent application is a U.S. National Stage Filing under 35 U.S.C. 371 from International Patent Application Serial No. PCT/US2007/004141, filed Feb. 13, 2007, and published on Aug. 23, 2007 as WO 2007/095368 A2, which claims the benefit of priority of U.S. Provisional Patent Application Ser. No. 60/743,284 entitled “REORGANIZING OF NVRAM USING A TEMPORARY STORAGE DEVICE,” filed on Feb. 14, 2006; and of U.S. Provisional Patent Application Ser. No. 60/744,969 entitled “REORGANIZING A WAGERING GAME MACHINE'S NVRAM USING A TEMPORARY STORAGE DEVICE,” filed on Apr. 17, 2006, the contents of which are incorporated herein by reference in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2007/004141 | 2/13/2007 | WO | 00 | 8/8/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/095368 | 8/23/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5473569 | Chwu | Dec 1995 | A |
5579522 | Christeson et al. | Nov 1996 | A |
5680570 | Rantala et al. | Oct 1997 | A |
6205548 | Hasbun | Mar 2001 | B1 |
6251014 | Stockdale et al. | Jun 2001 | B1 |
6314483 | Goto et al. | Nov 2001 | B1 |
6322450 | Nakano | Nov 2001 | B1 |
6582311 | Sugimura | Jun 2003 | B1 |
6595860 | Yamamoto et al. | Jul 2003 | B1 |
6743103 | Sugimura | Jun 2004 | B2 |
6775738 | Ash et al. | Aug 2004 | B2 |
6804763 | Stockdale et al. | Oct 2004 | B1 |
7111141 | Nelson | Sep 2006 | B2 |
7384339 | LeMay et al. | Jun 2008 | B2 |
7441084 | Henshaw et al. | Oct 2008 | B2 |
7610462 | Gagner et al. | Oct 2009 | B2 |
7618317 | Jackson | Nov 2009 | B2 |
7704147 | Quraishi et al. | Apr 2010 | B2 |
7722468 | Cockerille et al. | May 2010 | B2 |
7736234 | Cockerille et al. | Jun 2010 | B2 |
7798900 | Nguyen et al. | Sep 2010 | B2 |
7819750 | Lam et al. | Oct 2010 | B2 |
7931533 | LeMay et al. | Apr 2011 | B2 |
7988559 | Yoseloff et al. | Aug 2011 | B2 |
20020026566 | Awada et al. | Feb 2002 | A1 |
20020049909 | Jackson et al. | Apr 2002 | A1 |
20030073497 | Nelson | Apr 2003 | A1 |
20030097522 | Lay et al. | May 2003 | A1 |
20040198479 | Martinek et al. | Oct 2004 | A1 |
20050010738 | Stockdale et al. | Jan 2005 | A1 |
20050251617 | Sinclair et al. | Nov 2005 | A1 |
20060287109 | Mercado et al. | Dec 2006 | A1 |
20070011427 | Nelson | Jan 2007 | A1 |
20080026853 | Crowder, Jr. | Jan 2008 | A1 |
20100248819 | Shimabukuro et al. | Sep 2010 | A1 |
Number | Date | Country |
---|---|---|
WO-2007095368 | Aug 2007 | WO |
WO-2009061488 | May 2009 | WO |
Entry |
---|
Linux System Administrators Guide: 5.11 Disks without filesystems (retrieved from http://www.tldp.org/LDP/sag/html/disk-no-fs.html; Dec. 26, 2005 version, p. 1; webarchive link: https://web. archive.org/web/20051226010159/http://www.tldp.org/LDP/sag/html/disk-no-fs.html. |
“International Application Serial No. PCT/US2007/004141, Search Report mailed Jun. 3, 2008”, 4 Pgs. |
“International Application Serial No. PCT/US2007/004141, Written Opinion mailed Jun. 3, 2008”, 6 Pgs. |
“U.S. Appl. No. 12/741,883 , Response filed Jul. 9, 2012 to Non Final Office Action mailed Feb. 8, 2012”, 16 pgs. |
“U.S. Appl. No. 12/741,883, Non Final Office Action mailed Feb. 8, 2012”, 15 pgs. |
“International Application Serial No. PCT/US2007/004141, International Preliminary Report on Patentability mailed May 8, 2009”, 12 pgs. |
“International Application Serial No. PCT/US2008/012604, International Preliminary Report on Patentability mailed Feb. 25, 2010”, 11 pgs. |
“International Application Serial No. PCT/US2008/012604, International Search Report mailed Jan. 16, 2009”, 4 pgs. |
“International Application Serial No. PCT/US2008/012604, Written Opinion mailed Jan. 16, 2009”, 8 pgs. |
Number | Date | Country | |
---|---|---|---|
20090055611 A1 | Feb 2009 | US |
Number | Date | Country | |
---|---|---|---|
60743284 | Feb 2006 | US | |
60744969 | Apr 2006 | US |