IP Library Granted Patent US 9,128,835
Granted Patent B2
US 9,128,835 · App. 14/167,035 · Granted Sep 8, 2015

Background memory validation for gaming devices

Inventors: Ronald A. Cadima (Las Vegas, NV); Anand Singh (Henderson, NV); James Schaefer (Henderson, NV)
Assignee: Bally Gaming, Inc.
G06F11/0742G06F11/073G06F12/12G07F17/32
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,128,835
App. No.
14/167,035
Granted
Sep 8, 2015
Kind
B2
Abstract

Various embodiments are directed to a gaming device including a background memory validation system. The background memory validation system includes a background kernel thread that validates read-only pages on the gaming device. Additionally, the background kernel thread also minimizes potential timing problems because this process only validates page content in memory that is fully-loaded and functional.

Claims (31)

1. A method for verifying contents of one or more pages stored within a memory of a portable gaming device, the method comprising:

receiving a command from a memory validation module to start a background validation kernel thread,

determining whether a page is active and thereafter determining whether the active page is a read-only page;

starting the background validation kernel thread by determining a duration of a memory check cycle, wherein the duration is based on a maximum number of read-only pages to be processed during the memory check cycle or a maximum number of timer ticks before a sleep timer is initiated, thereby allowing other processes to run; and

validating the contents of one or more read-only pages stored within a memory of the portable gaming device with the background validation kernel thread, wherein validating the contents of the read-only pages is a background process.

2. The method of claim 1 , wherein validating the contents of one or more read-only pages further comprises determining whether a page is read-only based on one or more fields of a page table entry for the page and a virtual memory address of the page.

3. The method of claim 1 , wherein validating the contents of one or more read-only pages further comprises:

calculating a CRC32 value for the contents of the read-only page; and

comparing the calculated CRC32 value to a previously-stored CRC32 value for the contents of the read-only page.

4. The method of claim 1 , further comprising periodically requesting a status from the memory validation module.

5. The method of claim 1 , wherein the portable gaming device comprises a tablet-type computing device.

6. The method of claim 1 , wherein the personal computing gaming device comprises a personal computer.

7. A method for verifying contents of one or more pages stored within a memory of a hand-held gaming device, the method comprising:

initiating a memory validation for one or more pages stored within the memory of the handheld gaming device, wherein the memory validation is a background process that uses a background validation kernel thread;

determining a duration of a memory check cycle using the background validation kernel thread, wherein the duration is based on a maximum number of read-only pages to be processed during the memory check cycle or a maximum number of timer ticks before a sleep timer is initiated, thereby allowing other processes to run;

determining whether a page is active and thereafter determining whether the active page is a read-only page;

configuring a processing loop for the memory validation; and

validating a page is a read-only page.

8. The method of claim 7 , further comprising pausing the processing loop after a predetermined number of pages or after a predetermined time limit.

9. The method of claim 7 , further comprising periodically requesting a status from the memory validation.

10. The method of claim 7 , wherein configuring the processing loop further comprises determining a maximum number of pages processed based on a total number of pages within the gaming device and a CPU speed of the handheld gaming device.

11. The method of claim 7 , wherein determining whether a page is read-only further comprises determining whether the page is active, has a valid virtual memory address, and whether the page is not writable.

12. The method of claim 11 , further comprising designating a page table entry for a writable page to be zero.

13. The method of claim 7 , wherein validating the read-only page further comprises: calculating a CRC32 value for the contents of the read-only page; and comparing the calculated CRC32 value to a previously-stored CRC32 value for the contents of the read-only page.

14. The method of claim 7 , wherein the handheld gaming device comprises a cellular-based computing device.

15. A method for verifying contents of one or more pages stored within a memory of a personal computing gaming device, the method comprising: initiating a memory validation for one or more pages stored within the memory of the personal computing gaming device, wherein the memory validation is a background process that uses a background validation kernel thread, determining a duration of a memory check cycle using the background validation kernel thread, wherein the duration is based on a maximum number of read-only pages to be processed during the memory check cycle or a maximum number of timer ticks before a sleep timer is initiated, thereby allowing other processes to run; determining whether a page is active by analyzing page table entry and the virtual memory address of the page and thereafter determining whether the active page is a read-only page; and validating an active page is a read-only page.

16. The method of claim 15 , further comprising configuring a processing loop for the memory validation.

17. The method of claim 16 , wherein configuring the processing loop further comprises determining a maximum number of pages processed based on a total number of pages within the gaming device and a CPU speed of the personal computing gaming device.

18. The method of claim 16 , further comprising pausing the processing loop after a predetermined number of pages or after a predetermined time limit.

19. The method of claim 15 , further comprising periodically requesting a status from the memory validation.

20. The method of claim 15 , wherein determining whether a page is read-only further comprises determining whether the page is active, has a valid virtual memory address, and whether the page is not writable.

Assignments (6)
SECURITY AGREEMENT Recorded May 23, 2025
From: LNW GAMING, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071340/0404 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 051642 FRAME: 0164. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2023
From: BALLY GAMING, INC.
To: SG GAMING, INC.
Reel/Frame 063460/0211 →
SECURITY AGREEMENT Recorded Apr 22, 2022
From: SG GAMING INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059793/0001 →
CHANGE OF NAME Recorded Jan 18, 2020
From: BALLY GAMING, INC.
To: SG GAMING, INC.
Reel/Frame 051642/0164 →
SECURITY AGREEMENT Recorded Apr 11, 2018
From: SCIENTIFIC GAMES INTERNATIONAL, INC.; BALLY GAMING, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 045909/0513 →
SECURITY AGREEMENT Recorded Dec 15, 2017
From: SCIENTIFIC GAMES INTERNATIONAL, INC.; BALLY GAMING, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 044889/0662 →
Continuity (3)
Continuation 13779479 · Feb 27, 2013
Continuation 12617460 · Nov 12, 2009
Related Publication 20140149676A1 · May 29, 2014