US20080096631A1 - Gaming Device With Error Correcting Memory - Google Patents

Gaming Device With Error Correcting Memory Download PDF

Info

Publication number
US20080096631A1
US20080096631A1 US11/576,368 US57636805A US2008096631A1 US 20080096631 A1 US20080096631 A1 US 20080096631A1 US 57636805 A US57636805 A US 57636805A US 2008096631 A1 US2008096631 A1 US 2008096631A1
Authority
US
United States
Prior art keywords
ecc
gaming machine
memory
error
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/576,368
Inventor
Mark Gagner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LNW Gaming Inc
Original Assignee
WMS Gaming Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WMS Gaming Inc filed Critical WMS Gaming Inc
Priority to US11/576,368 priority Critical patent/US20080096631A1/en
Assigned to WMS GAMING INC. reassignment WMS GAMING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GAGNER, MARK B.
Publication of US20080096631A1 publication Critical patent/US20080096631A1/en
Assigned to BALLY GAMING, INC. reassignment BALLY GAMING, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: WMS GAMING INC.
Assigned to SG GAMING, INC. reassignment SG GAMING, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: BALLY GAMING, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3225Data transfer within a gaming system, e.g. data sent between gaming machines and users
    • G07F17/323Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the player is informed, e.g. advertisements, odds, instructions
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3241Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance

Definitions

  • the present invention relates generally to gaming devices, and more particularly to a gaming device having an error correcting memory.
  • Today's gaming machine typically comprises a computerized system controlling a video display or reels that provide wagering games such as slots, video card games (poker, blackjack etc.), video keno, video bingo, video pachinko and other games typical in the gaming industry.
  • wagering games such as slots, video card games (poker, blackjack etc.), video keno, video bingo, video pachinko and other games typical in the gaming industry.
  • the popularity of such machines with players is dependent 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.
  • Players also appreciate the reliability of a gaming machine, as do the casino operators. Shrewd operators consequently strive to employ the most entertaining, exciting, and reliable machines available because such machines attract frequent play and hence increase profitability to the operator.
  • RAM Random Access Memory
  • RAM is power dependent and does not retain the current state of the computer's operation when power is removed.
  • a further drawback with many forms of RAM is that errors may occur in the memory that corrupt the data.
  • One aspect of the systems and methods includes providing a data store in the ECC memory.
  • the data store may be a pool of data blocks, a file system, or a database.
  • Critical data generated during the course of the operation of the gaming machine is stored in the database. Errors in accessing the data in the ECC may be corrected and logged. In addition, errors in accessing the data in the ECC may cause the system to shut down
  • FIG. 1 is a perspective view of a gaming machine embodying the present invention
  • FIG. 2 is a block diagram of a gaming control system suitable for operating the gaming machine in FIG. 1 ;
  • FIG. 3 is a block diagram illustrating the interaction between the control system and the ECC memory of a gaming machine according to varying embodiments of the invention
  • FIG. 4 is a flowchart illustrating a method for utilizing ECC memory on a gaming machine according to various embodiments of the invention.
  • FIG. 1 illustrates an exemplary gaming machine 10 , also referred to as a Video Lottery Terminal (VLT), in which embodiments of the invention may be implemented.
  • gaming machine 10 is operable to conduct a wagering game such as mechanical or video slots, poker, keno, bingo, or blackjack.
  • the gaming machine 10 includes a video display 12 such as a cathode ray tube (CRT), liquid crystal display (LCD), plasma, or other type of video display known in the art.
  • a touch screen preferably overlies the display 12 .
  • the gaming machine 10 is an “upright” version in which the display 12 is oriented vertically relative to a player.
  • the gaming machine may be a “slant-top” version in which the display 12 is slanted at about a thirty-degree angle toward the player.
  • the gaming machine 10 includes a plurality of possible credit receiving mechanisms 14 for receiving credits to be used for placing wagers in the game.
  • the credit receiving mechanisms 14 may, for example, include a coin acceptor, a bill acceptor, a ticket reader, and a card reader.
  • the bill acceptor and the ticket reader may be combined into a single unit.
  • the card reader may, for example, accept magnetic cards and smart (chip) cards coded with money or designating an account containing money.
  • the gaming machine 10 includes a user interface comprising a plurality of push-buttons 16 , the above-noted touch screen, and other possible devices.
  • the plurality of push-buttons 16 may, for example, include one or more “bet” buttons for wagering, a “play” button for commencing play, a “collect” button for cashing out, a help” button for viewing a help screen, a “pay table” button for viewing the pay table(s), and a “call attendant” button for calling an attendant. Additional game specific buttons may be provided to facilitate play of the specific game executed on the machine.
  • the touch screen may define touch keys for implementing many of the same functions as the push-buttons.
  • Other possible user interface devices include a keyboard and a pointing device such as a mouse or trackball.
  • a processor controls operation of the gaming machine 10 .
  • the processor randomly selects a game outcome from a plurality of possible outcomes and causes the display 12 to depict indicia representative of the selected game outcome.
  • the processor awards the player with a number of credits associated with the winning outcome.
  • FIG. 2 is a block diagram of a control system suitable for operating the gaming machine 10 .
  • Money/credit detector 22 signals a processor 20 when a player has inserted money, tickets, tokens, cards or other mechanism for obtaining credits for plays on the gaming machine through credit mechanisms 14 .
  • the player may select any variables associated with the wagering game and place his/her wager to purchase a play of the game.
  • the processor 20 In a play of the game, the processor 20 generates at least one random event using a random number generator (RNG) and provides an award to the player for a winning outcome of the random event.
  • the random event may be generated by a remote computer using an RNG or pooling schema and then transmitted to the gaming machine.
  • the processor 20 operates the display 12 to represent the random event(s) and outcome(s) in a visual form that can be understood by the player.
  • the control system may include one or more additional slave control units for operating the display 12 and any secondary displays.
  • System memory 24 stores control software, operational instructions and data associated with the gaming machine.
  • the system memory 24 comprises a separate read-only memory (ROM) and battery-backed random-access memory (RAM).
  • ROM read-only memory
  • RAM battery-backed random-access memory
  • the system memory 24 may be implemented on any of several alternative types of memory structures or may be implemented on a single memory structure.
  • a payoff mechanism 26 is operable in response to instructions from the processor 20 to award a payoff to the player.
  • the payoff may, for example, be in the form of a number of credits.
  • the number of credits is determined by one or more math tables stored in the system memory 24 .
  • ECC (Error Correction Code) memory 28 in addition to system memory 24 , provides storage for software and data associated with the gaming machine.
  • ECC memory is capable of detecting single-bit and multiple-bit errors.
  • ECC memory uses an algorithms to encode information in a block of bits that contains sufficient detail to permit the recovery of a single bit error in the protected data.
  • ECC memory may use groupings of 7 bits to protect 32 bits, or 8 bits to protect 64 bits.
  • the ECC memory may correct single-bit errors on the fly, that is, the error is corrected with no notification to the operating system or application. Thus the correction of single-bit errors occurs transparently to the system. In alternative embodiments, the correction of single-bit errors may be reported to the operating system.
  • Many forms of ECC memory are available for use by those skilled in the art.
  • ECC memory may detect, but not correct, errors of 2, 3 or even 4 bits, in addition to detecting and correcting single-bit errors.
  • ECC memory handles these multi-bit errors by generating a non-maskable interrupt (NMI).
  • NMI non-maskable interrupt
  • ECC memory 28 may comprise battery backed RAM, including battery backed SRAM (Static RAM).
  • ECC memory 28 may comprise MRAM (magnetoresistive or magnetic RAM).
  • MRAM magnetoresistive or magnetic RAM
  • NVRAM 308 may be FRAM (Ferroelectric RAM). MRAM and FRAM are desirable, because they do not require battery backup in order for the memory to retain data. It should be noted that any of these memory types may also be used for general purpose memory 24 .
  • FIG. 3 is a block diagram providing further details regarding the interrelationship between the processor 20 , system memory 24 and ECC memory 28 components in a gaming machine.
  • system memory 24 includes one or more gaming applications 302 executable by processor 20 .
  • gaming applications 302 may need to read and write data to system memory 24 and to a data store 306 maintained on ECC memory 28 .
  • the data stored in data store 306 may include critical data.
  • Critical data is generally data that is maintained across reboots or power cycles for the gaming machine.
  • Critical data may also include data that must be reported to one or more of the various regulatory agencies that control gaming in a jurisdiction. Examples of critical data may include one or more of the following:
  • data store 306 may be treated as a single memory directly available to a gaming application, as is the illustrated by gaming application 302 . 3 directly accessing data store 306 .
  • data store 306 may be organized as a set of one or more data pools that may be allocated to gaming applications 302 .
  • data store 306 is managed by a data store manager 304 .
  • access to data store 306 by applications 302 is through the data store manager, as illustrated by gaming applications 302 . 1 and 302 . 3 .
  • data store 306 comprises a file system.
  • Data store 304 may be a file system component of an operating system.
  • data store 306 is a database and data store manager 304 is a database manager.
  • data store 306 may be a relational database, a hierarchical database, an object orient database, or an XML (eXtensible Markup Language) database.
  • multiple sections of ECC memory 28 may contain different data stores 306 .
  • the ECC memory sections 28 and corresponding data stores 306 may be read-only containing static data, read-write containing dynamic data, or any combination of the two.
  • FIG. 4 is a flowchart illustrating a method 400 for using an ECC memory on a gaming machine.
  • the method to be performed by the operating environment constitutes computer programs made up of computer-executable instructions. Describing the method by reference to a flowchart enables one skilled in the art to develop such programs including such instructions to carry out the method on suitable processors for gaming machines (the processor or processors of the computer executing the instructions from computer-readable media).
  • the method illustrated in FIG. 4 is inclusive of acts that may be taken by an operating environment executing an exemplary embodiment of the invention.
  • Method 400 begins by accessing the ECC memory (block 402 ).
  • the access may be by a gaming application, by a data store manager, or by an operating system.
  • the access may be to read data from the ECC memory or write data to the ECC memory.
  • critical data may written to the ECC Memory.
  • the control system may receive a notification of an error in accessing the ECC memory (block 404 ).
  • the error may be a single bit error or a multiple bit error (block 406 ).
  • notifications regarding single bit errors may not be received, but may be queried by the control system.
  • the system may log the error (block 408 ). The log may then be used to determine if there is a pattern of single-bit errors indicating that a portion or all of the ECC memory is unreliable.
  • various actions may be performed in order to insure the integrity of a data store on the ECC memory.
  • the control system may initiate a shutdown of the gaming machine (block 410 ).
  • a shutdown may be necessary in order to prevent further corruption of the memory and to preserve the critical data that has already been written to the memory.
  • the system may mark a portion of the ECC memory that includes the memory location having the multiple-bit error as “bad” whereby future writes to the ECC memory will not be attempted to the marked portion (block 412 ).
  • the portion may be added to a “bad block” list for those embodiments where data store 306 is a file system.
  • the system may attempt to retry the access (block 414 ). Retrying an access may be useful in those situations where the multiple bit error is a transient error that does not necessarily mean the ECC memory is unreliable.
  • control system may mark an area in the ECC memory as bad, and also attempt to retry the access using a different portion of the ECC memory.

Abstract

Systems and methods for operating a gaming machine having an ECC memory are disclosed. One aspect of the systems and methods includes providing a data store in the ECC memory. The data store may be a pool of data blocks, a file system, or a database. Critical data generated during the course of the operation of the gaming machine is stored in the data store. Errors in accessing the data in the ECC may be corrected and logged. In addition, errors in accessing the data in the ECC may cause the system to shut down.

Description

    RELATED APPLICATION
  • This application claims the priority benefit of U.S. Provisional Application Ser. No. 60/522,445, filed Oct. 2, 2004, the contents of which are incorporated herein by reference.
  • LIMITED COPYRIGHT WAIVER
  • A portion of the disclosure of this patent document contains material to which the claim of copyright protection is made. The copyright owner has no objection to the facsimile reproduction by any person of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office file or records, but reserves all other rights whatsoever.
  • FIELD
  • The present invention relates generally to gaming devices, and more particularly to a gaming device having an error correcting memory.
  • BACKGROUND
  • Today's gaming machine typically comprises a computerized system controlling a video display or reels that provide wagering games such as slots, video card games (poker, blackjack etc.), video keno, video bingo, video pachinko and other games typical in the gaming industry. Generally, the popularity of such machines with players is dependent 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. Players also appreciate the reliability of a gaming machine, as do the casino operators. Shrewd operators consequently strive to employ the most entertaining, exciting, and reliable machines available because such machines attract frequent play and hence increase profitability to the operator.
  • Currently, microprocessor-based gaming machines, as well as most microprocessor-based devices use a direct access data storage mechanism commonly referred to in the industry as Random Access Memory (RAM). RAM is immediately accessible by the processor with no additional software required (as in the case of disk drives). The content of this memory is typically critical to the operation of the gaming machine and is continuously changing as it is read and written, as when game play occurs. In addition, many jurisdictions require that critical data be maintained across power cycles and resets of the gaming machine.
  • One drawback of RAM is that it is power dependent and does not retain the current state of the computer's operation when power is removed. A further drawback with many forms of RAM is that errors may occur in the memory that corrupt the data. Some systems have attempted to mitigate this problem by maintaining duplicate copies of critical data in two separate memory sections. Unfortunately, this leads to increased system costs and potential decrease in system performance due to the need to copy the critical data.
  • SUMMARY
  • The above-mentioned shortcomings, disadvantages and problems are addressed by the present invention, which will be understood by reading and studying the following specification.
  • Systems and methods for operating a gaming machine having an ECC (Error Correcting Code) memory are disclosed. One aspect of the systems and methods includes providing a data store in the ECC memory. The data store may be a pool of data blocks, a file system, or a database. Critical data generated during the course of the operation of the gaming machine is stored in the database. Errors in accessing the data in the ECC may be corrected and logged. In addition, errors in accessing the data in the ECC may cause the system to shut down
  • The present invention describes systems, methods, and computer-readable media of varying scope. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a perspective view of a gaming machine embodying the present invention;
  • FIG. 2 is a block diagram of a gaming control system suitable for operating the gaming machine in FIG. 1;
  • FIG. 3 is a block diagram illustrating the interaction between the control system and the ECC memory of a gaming machine according to varying embodiments of the invention;
  • FIG. 4 is a flowchart illustrating a method for utilizing ECC memory on a gaming machine according to various embodiments of the invention.
  • DETAILED DESCRIPTION
  • In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical and other changes may be made without departing from the scope of the present invention.
  • Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
  • In the Figures, the same reference number is used throughout to refer to an identical component which appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description.
  • The description of the various embodiments is to be construed as exemplary only and does not describe every possible instance of the invention. Numerous alternatives could be implemented, using combinations of current or future technologies, which would still fall within the scope of the claims. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
  • FIG. 1 illustrates an exemplary gaming machine 10, also referred to as a Video Lottery Terminal (VLT), in which embodiments of the invention may be implemented. In some embodiments, gaming machine 10 is operable to conduct a wagering game such as mechanical or video slots, poker, keno, bingo, or blackjack. If based in video, the gaming machine 10 includes a video display 12 such as a cathode ray tube (CRT), liquid crystal display (LCD), plasma, or other type of video display known in the art. A touch screen preferably overlies the display 12. In the illustrated embodiment, the gaming machine 10 is an “upright” version in which the display 12 is oriented vertically relative to a player. Alternatively, the gaming machine may be a “slant-top” version in which the display 12 is slanted at about a thirty-degree angle toward the player.
  • The gaming machine 10 includes a plurality of possible credit receiving mechanisms 14 for receiving credits to be used for placing wagers in the game. The credit receiving mechanisms 14 may, for example, include a coin acceptor, a bill acceptor, a ticket reader, and a card reader. The bill acceptor and the ticket reader may be combined into a single unit. The card reader may, for example, accept magnetic cards and smart (chip) cards coded with money or designating an account containing money.
  • In some embodiments, the gaming machine 10 includes a user interface comprising a plurality of push-buttons 16, the above-noted touch screen, and other possible devices. The plurality of push-buttons 16 may, for example, include one or more “bet” buttons for wagering, a “play” button for commencing play, a “collect” button for cashing out, a help” button for viewing a help screen, a “pay table” button for viewing the pay table(s), and a “call attendant” button for calling an attendant. Additional game specific buttons may be provided to facilitate play of the specific game executed on the machine. The touch screen may define touch keys for implementing many of the same functions as the push-buttons. Other possible user interface devices include a keyboard and a pointing device such as a mouse or trackball.
  • A processor controls operation of the gaming machine 10. In response to receiving a wager and a command to initiate play, the processor randomly selects a game outcome from a plurality of possible outcomes and causes the display 12 to depict indicia representative of the selected game outcome. In the case of slots for example mechanical or simulated slot reels are rotated and stopped to place symbols on the reels in visual association with one or more pay lines. If the selected outcome is one of the winning outcomes defined by a pay table, the processor awards the player with a number of credits associated with the winning outcome.
  • FIG. 2 is a block diagram of a control system suitable for operating the gaming machine 10. Money/credit detector 22 signals a processor 20 when a player has inserted money, tickets, tokens, cards or other mechanism for obtaining credits for plays on the gaming machine through credit mechanisms 14. Using a button panel 16 and/or a touch screen 18, the player may select any variables associated with the wagering game and place his/her wager to purchase a play of the game. In a play of the game, the processor 20 generates at least one random event using a random number generator (RNG) and provides an award to the player for a winning outcome of the random event. Alternatively, the random event may be generated by a remote computer using an RNG or pooling schema and then transmitted to the gaming machine. The processor 20 operates the display 12 to represent the random event(s) and outcome(s) in a visual form that can be understood by the player. In addition to the processor 20, the control system may include one or more additional slave control units for operating the display 12 and any secondary displays.
  • System memory 24 stores control software, operational instructions and data associated with the gaming machine. In one embodiment, the system memory 24 comprises a separate read-only memory (ROM) and battery-backed random-access memory (RAM). However, it will be appreciated that the system memory 24 may be implemented on any of several alternative types of memory structures or may be implemented on a single memory structure.
  • A payoff mechanism 26 is operable in response to instructions from the processor 20 to award a payoff to the player. The payoff may, for example, be in the form of a number of credits. The number of credits is determined by one or more math tables stored in the system memory 24.
  • ECC (Error Correction Code) memory 28, in addition to system memory 24, provides storage for software and data associated with the gaming machine. ECC memory is capable of detecting single-bit and multiple-bit errors. In general, ECC memory uses an algorithms to encode information in a block of bits that contains sufficient detail to permit the recovery of a single bit error in the protected data. ECC memory may use groupings of 7 bits to protect 32 bits, or 8 bits to protect 64 bits. The ECC memory may correct single-bit errors on the fly, that is, the error is corrected with no notification to the operating system or application. Thus the correction of single-bit errors occurs transparently to the system. In alternative embodiments, the correction of single-bit errors may be reported to the operating system. Many forms of ECC memory are available for use by those skilled in the art.
  • In addition, ECC memory may detect, but not correct, errors of 2, 3 or even 4 bits, in addition to detecting and correcting single-bit errors. In some embodiments, ECC memory handles these multi-bit errors by generating a non-maskable interrupt (NMI).
  • In some embodiments, ECC memory 28 may comprise battery backed RAM, including battery backed SRAM (Static RAM). In alternative embodiments, ECC memory 28 may comprise MRAM (magnetoresistive or magnetic RAM). Generally speaking, MRAM is a non-volatile RAM memory technology that uses magnetic charges to store data instead of electric charges, such as those used in SRAM and DRAM technologies. In further alternative embodiments, NVRAM 308 may be FRAM (Ferroelectric RAM). MRAM and FRAM are desirable, because they do not require battery backup in order for the memory to retain data. It should be noted that any of these memory types may also be used for general purpose memory 24.
  • FIG. 3 is a block diagram providing further details regarding the interrelationship between the processor 20, system memory 24 and ECC memory 28 components in a gaming machine. In some embodiments, system memory 24 includes one or more gaming applications 302 executable by processor 20.
  • During their operation, gaming applications 302 may need to read and write data to system memory 24 and to a data store 306 maintained on ECC memory 28.
  • The data stored in data store 306 may include critical data. Critical data is generally data that is maintained across reboots or power cycles for the gaming machine. Critical data may also include data that must be reported to one or more of the various regulatory agencies that control gaming in a jurisdiction. Examples of critical data may include one or more of the following:
      • Number of winning outcomes
      • Payout for the machine
      • Wagering details (e.g. number of lines wagered, number coins wagered etc.)
      • Coin-in amounts and denominations
  • In some embodiments, data store 306 may be treated as a single memory directly available to a gaming application, as is the illustrated by gaming application 302.3 directly accessing data store 306. In alternative embodiments, data store 306 may be organized as a set of one or more data pools that may be allocated to gaming applications 302.
  • In some embodiments, data store 306 is managed by a data store manager 304. In these embodiments, access to data store 306 by applications 302 is through the data store manager, as illustrated by gaming applications 302.1 and 302.3.
  • In some embodiments, data store 306 comprises a file system. Data store 304 may be a file system component of an operating system.
  • In alternative embodiments, data store 306 is a database and data store manager 304 is a database manager. In varying embodiments, data store 306 may be a relational database, a hierarchical database, an object orient database, or an XML (eXtensible Markup Language) database.
  • In some embodiments, multiple sections of ECC memory 28 may contain different data stores 306. The ECC memory sections 28 and corresponding data stores 306 may be read-only containing static data, read-write containing dynamic data, or any combination of the two.
  • FIG. 4 is a flowchart illustrating a method 400 for using an ECC memory on a gaming machine. The method to be performed by the operating environment constitutes computer programs made up of computer-executable instructions. Describing the method by reference to a flowchart enables one skilled in the art to develop such programs including such instructions to carry out the method on suitable processors for gaming machines (the processor or processors of the computer executing the instructions from computer-readable media). The method illustrated in FIG. 4 is inclusive of acts that may be taken by an operating environment executing an exemplary embodiment of the invention.
  • Method 400 begins by accessing the ECC memory (block 402). The access may be by a gaming application, by a data store manager, or by an operating system. The access may be to read data from the ECC memory or write data to the ECC memory. As an example, critical data may written to the ECC Memory.
  • Occasionally, as a result of an access to ECC memory, the control system may receive a notification of an error in accessing the ECC memory (block 404). The error may be a single bit error or a multiple bit error (block 406). In some embodiments, notifications regarding single bit errors may not be received, but may be queried by the control system.
  • In the case of single bit errors, the system may log the error (block 408). The log may then be used to determine if there is a pattern of single-bit errors indicating that a portion or all of the ECC memory is unreliable.
  • In the case of multiple bit errors, various actions may be performed in order to insure the integrity of a data store on the ECC memory. For example, the control system may initiate a shutdown of the gaming machine (block 410). A shutdown may be necessary in order to prevent further corruption of the memory and to preserve the critical data that has already been written to the memory.
  • Alternatively, the system may mark a portion of the ECC memory that includes the memory location having the multiple-bit error as “bad” whereby future writes to the ECC memory will not be attempted to the marked portion (block 412). As an example, the portion may be added to a “bad block” list for those embodiments where data store 306 is a file system.
  • Further, the system may attempt to retry the access (block 414). Retrying an access may be useful in those situations where the multiple bit error is a transient error that does not necessarily mean the ECC memory is unreliable.
  • It should be noted that the actions described above are not necessarily mutually exclusive. For example, the control system may mark an area in the ECC memory as bad, and also attempt to retry the access using a different portion of the ECC memory.
  • CONCLUSION
  • Systems and methods for providing a gaming machine with an ECC memory have been disclosed. The systems and methods disclosed provide a reliable mechanism for storing critical data that does not require redundant copies of memory. Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention.
  • The terminology used in this application is meant to include all of these environments. It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalents thereof.

Claims (23)

1. A gaming machine comprising:
a processor and a system memory;
an ECC (Error Correcting Code) memory providing a data store;
a gaming application executable by the processor and operable to store critical data in the data store.
2. The gaming machine of claim 1, and further comprising a data store manager to maintain the data store.
3. The gaming machine of claim 2, wherein the data store manager comprises a file system component and wherein the data store comprises a file system.
4. The gaming machine of claim 2, wherein the data store manager comprises a database manager and wherein the data store comprises a database maintained by the database manager.
5. The gaming machine of claim 4, wherein the database comprises a relational database.
6. The gaming machine of claim 4, wherein the database comprises an object oriented database.
7. The gaming machine of claim 4, wherein the database comprises a hierarchical database.
8. The gaming machine of claim 1, wherein a plurality of data stores are maintained in the ECC Memory.
9. The gaming machine of claim 8, wherein at least two of the plurality of data stores have differing types.
10. The gaming machine of claim 1, wherein the ECC memory is non-volatile.
11. The gaming machine of claim 1, wherein the ECC memory comprises a read-only memory.
12. A computer-implemented method for operating a gaming machine, the method comprising:
providing an ECC memory for the gaming machine; and
accessing the ECC memory;
receiving a notification of an ECC error in response to the access; and
initiating an action in response to the notification.
13. The computer-implemented method of claim 12, wherein the ECC error comprises a single bit error and wherein the action comprises logging the error.
14. The computer-implemented method of claim 12, wherein the ECC error comprises a multiple bit error and wherein the action comprises initiating a shutdown of the gaming machine.
15. The computer-implemented method of claim 12, wherein the ECC error comprises a multiple bit error and wherein the action comprises initiating marking a portion of the ECC memory.
16. The computer-implemented method of claim 12, wherein the ECC error comprises a multiple bit error and wherein the action comprises retrying the access to the ECC memory.
17. The computer-implemented method of claim 12, wherein accessing the ECC memory comprises storing critical data in the ECC memory.
18. A computer-readable medium having computer executable instructions for performing a method for operating a gaming machine, the method comprising:
accessing an ECC memory on a gaming machine;
receiving a notification of an ECC error in response to the access; and
initiating an action in response to the notification.
19. The computer-readable medium of claim 18, wherein the ECC error comprises a single bit error and wherein the action comprises logging the error.
20. The computer-readable medium of claim 18, wherein the ECC error comprises a multiple bit error and wherein the action comprises initiating a shutdown of the gaming machine.
21. The computer-readable medium of claim 18, wherein the ECC error comprises a multiple bit error and wherein the action comprises initiating marking a portion of the ECC memory.
22. The computer-readable medium of claim 18, wherein the ECC error comprises a multiple bit error and wherein the action comprises retrying the access to the ECC memory.
23. The computer-readable medium of claim 18, wherein accessing the ECC memory comprises storing critical data in the ECC memory.
US11/576,368 2004-10-02 2005-09-30 Gaming Device With Error Correcting Memory Abandoned US20080096631A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/576,368 US20080096631A1 (en) 2004-10-02 2005-09-30 Gaming Device With Error Correcting Memory

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US52244504P 2004-10-02 2004-10-02
US11/576,368 US20080096631A1 (en) 2004-10-02 2005-09-30 Gaming Device With Error Correcting Memory
PCT/US2005/035309 WO2006039556A2 (en) 2004-10-02 2005-09-30 Gaming device with error correcting memory

Publications (1)

Publication Number Publication Date
US20080096631A1 true US20080096631A1 (en) 2008-04-24

Family

ID=36143108

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/576,368 Abandoned US20080096631A1 (en) 2004-10-02 2005-09-30 Gaming Device With Error Correcting Memory

Country Status (2)

Country Link
US (1) US20080096631A1 (en)
WO (1) WO2006039556A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172496A1 (en) * 2007-12-28 2009-07-02 Texas Instruments Incorporated Technique for memory imprint reliability improvement

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009042089A1 (en) 2007-09-26 2009-04-02 Wms Gaming Inc. Wagering game machines with non-volatile memory

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4251863A (en) * 1979-03-15 1981-02-17 Sperry Corporation Apparatus for correction of memory errors
US4394763A (en) * 1979-08-31 1983-07-19 Fujitsu Limited Error-correcting system
US4493081A (en) * 1981-06-26 1985-01-08 Computer Automation, Inc. Dynamic memory with error correction on refresh
US4740968A (en) * 1986-10-27 1988-04-26 International Business Machines Corporation ECC circuit failure detector/quick word verifier
US4862463A (en) * 1987-07-20 1989-08-29 International Business Machines Corp. Error correcting code for 8-bit-per-chip memory with reduced redundancy
US4896257A (en) * 1985-01-19 1990-01-23 Panafacom Limited Computer system having virtual memory configuration with second computer for virtual addressing with translation error processing
US5233616A (en) * 1990-10-01 1993-08-03 Digital Equipment Corporation Write-back cache with ECC protection
US5289477A (en) * 1991-06-06 1994-02-22 International Business Machines Corp. Personal computer wherein ECC and partly error checking can be selectively chosen for memory elements installed in the system, memory elements enabling selective choice of error checking, and method
US5307356A (en) * 1990-04-16 1994-04-26 International Business Machines Corporation Interlocked on-chip ECC system
US5313475A (en) * 1991-10-31 1994-05-17 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US5477551A (en) * 1992-10-26 1995-12-19 Dell Usa, L.P. Apparatus and method for optimal error correcting code to parity conversion
US5511078A (en) * 1992-11-30 1996-04-23 International Business Machines Corporation Method and apparatus for correction errors in a memory
US6078942A (en) * 1996-04-25 2000-06-20 Microsoft Corporation Resource management for multimedia devices in a computer
US6085296A (en) * 1997-11-12 2000-07-04 Digital Equipment Corporation Sharing memory pages and page tables among computer processes
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6128713A (en) * 1997-09-24 2000-10-03 Microsoft Corporation Application programming interface enabling application programs to control allocation of physical memory in a virtual memory system
US6142872A (en) * 1998-03-31 2000-11-07 Walker Digital, Llc Method and apparatus for team play of slot machines
US6443839B2 (en) * 1999-10-06 2002-09-03 Igt Standard peripheral communications
US6620047B1 (en) * 1995-06-29 2003-09-16 Igt Electronic gaming apparatus having authentication data sets
US6641484B2 (en) * 2001-09-21 2003-11-04 Igt Gaming machine including security data collection device

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4251863A (en) * 1979-03-15 1981-02-17 Sperry Corporation Apparatus for correction of memory errors
US4394763A (en) * 1979-08-31 1983-07-19 Fujitsu Limited Error-correcting system
US4493081A (en) * 1981-06-26 1985-01-08 Computer Automation, Inc. Dynamic memory with error correction on refresh
US4896257A (en) * 1985-01-19 1990-01-23 Panafacom Limited Computer system having virtual memory configuration with second computer for virtual addressing with translation error processing
US4740968A (en) * 1986-10-27 1988-04-26 International Business Machines Corporation ECC circuit failure detector/quick word verifier
US4862463A (en) * 1987-07-20 1989-08-29 International Business Machines Corp. Error correcting code for 8-bit-per-chip memory with reduced redundancy
US5307356A (en) * 1990-04-16 1994-04-26 International Business Machines Corporation Interlocked on-chip ECC system
US5233616A (en) * 1990-10-01 1993-08-03 Digital Equipment Corporation Write-back cache with ECC protection
US5289477A (en) * 1991-06-06 1994-02-22 International Business Machines Corp. Personal computer wherein ECC and partly error checking can be selectively chosen for memory elements installed in the system, memory elements enabling selective choice of error checking, and method
US5313475A (en) * 1991-10-31 1994-05-17 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US5477551A (en) * 1992-10-26 1995-12-19 Dell Usa, L.P. Apparatus and method for optimal error correcting code to parity conversion
US5511078A (en) * 1992-11-30 1996-04-23 International Business Machines Corporation Method and apparatus for correction errors in a memory
US6620047B1 (en) * 1995-06-29 2003-09-16 Igt Electronic gaming apparatus having authentication data sets
US6078942A (en) * 1996-04-25 2000-06-20 Microsoft Corporation Resource management for multimedia devices in a computer
US6128713A (en) * 1997-09-24 2000-10-03 Microsoft Corporation Application programming interface enabling application programs to control allocation of physical memory in a virtual memory system
US6085296A (en) * 1997-11-12 2000-07-04 Digital Equipment Corporation Sharing memory pages and page tables among computer processes
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6142872A (en) * 1998-03-31 2000-11-07 Walker Digital, Llc Method and apparatus for team play of slot machines
US6443839B2 (en) * 1999-10-06 2002-09-03 Igt Standard peripheral communications
US6641484B2 (en) * 2001-09-21 2003-11-04 Igt Gaming machine including security data collection device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172496A1 (en) * 2007-12-28 2009-07-02 Texas Instruments Incorporated Technique for memory imprint reliability improvement
US8495438B2 (en) * 2007-12-28 2013-07-23 Texas Instruments Incorporated Technique for memory imprint reliability improvement

Also Published As

Publication number Publication date
WO2006039556A2 (en) 2006-04-13
WO2006039556A3 (en) 2006-07-27

Similar Documents

Publication Publication Date Title
US7610462B2 (en) Gaming machine with secure fault-tolerant memory
US7063615B2 (en) Electronic gaming apparatus with authentication
US7470182B2 (en) Computerized gaming system, method and apparatus
US7267612B2 (en) Gaming apparatus with portrait-mode display
EP1496419B1 (en) Gaming machine having targeted run-time software authentication
US6620047B1 (en) Electronic gaming apparatus having authentication data sets
US8113933B2 (en) Gaming machine providing multiple poker games with a push up feature
AU2001245529B2 (en) Computerized gaming system, method and apparatus
US9171423B2 (en) Linear scatter jackpot method and system
US10810827B2 (en) Gaming system having shifting accumulation of bonus wilds
US10275991B2 (en) Multi-slot game within slot game
US20070213134A1 (en) Casino game system and casino game terminal that can be used therein
US10453303B2 (en) Progressive paytable discounts
US8206216B2 (en) Gaming machine with auto-detect feature activation
US20070281793A1 (en) Gaming machine with journaling
US20080293499A1 (en) Gaming System Peripherals With Automatic System Configuration
US20080096631A1 (en) Gaming Device With Error Correcting Memory
US20080085774A1 (en) Gaming Device with Embedded Data System
US20050059450A1 (en) Systems and methods for evaluating a gaming outcome using a game rules script
US8123621B2 (en) Storing data in wagering game systems
US20240119801A1 (en) Gaming machine, method of providing game, and program
US20090083188A1 (en) Secure Data Systems and Methods
US20210097820A1 (en) Randomly modulated boosted feature areas for slot machines
AU2014277662B2 (en) Preventing a media display from hijacking a gaming machine
AU768482B2 (en) Improved electronic gaming apparatus

Legal Events

Date Code Title Description
AS Assignment

Owner name: WMS GAMING INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GAGNER, MARK B.;REEL/FRAME:019655/0384

Effective date: 20070411

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: BALLY GAMING, INC., NEVADA

Free format text: MERGER;ASSIGNOR:WMS GAMING INC.;REEL/FRAME:036225/0201

Effective date: 20150629

AS Assignment

Owner name: SG GAMING, INC., NEVADA

Free format text: CHANGE OF NAME;ASSIGNOR:BALLY GAMING, INC.;REEL/FRAME:051642/0103

Effective date: 20200103