IP Library Granted Patent US 8,683,272
Granted Patent B2
US 8,683,272 · App. 13/779,479 · Granted Mar 25, 2014

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.
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 8,683,272
App. No.
13/779,479
Granted
Mar 25, 2014
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 (35)

1. A method for verifying contents of one or more pages stored within a memory of a 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 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. A method for verifying contents of one or more pages stored within a memory of a gaming device, the method comprising:

initiating a memory validation for one or more pages stored within the memory of the 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 determining whether the page is a read-only page;

configuring a processing loop for the memory validation; and

validating a page is a read-only page.

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

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

8. The method of claim 5 , 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 gaming device.

9. The method of claim 5 , 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.

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

11. The method of claim 5 , 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.

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

initiating a memory validation for one or more pages stored within the memory of the 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 determining whether the active page is a read-only page;

determining whether a page is active by analyzing page table entry and the virtual memory address of the page; and

validating an active page is a read-only page.

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

14. The method of claim 13 , 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 gaming device.

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

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

17. The method of claim 12 , 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 (4)
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 →
CHANGE OF NAME Recorded Jan 18, 2020
From: BALLY GAMING, INC.
To: SG GAMING, INC.
Reel/Frame 051642/0164 →
RELEASE OF SECURITY INTEREST Recorded Dec 1, 2014
From: BANK OF AMERICA, N.A.
To: SHFL ENTERTAINMENT, INC; ARCADE PLANET, INC.; BALLY GAMING, INC; BALLY GAMING INTERNATIONAL, INC.; BALLY TECHNOLOGIES, INC.; SIERRA DESIGN GROUP
Reel/Frame 034501/0049 →
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Nov 30, 2013
From: BALLY GAMING, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031745/0001 →
Continuity (2)
Continuation 12617460 · Nov 12, 2009
Related Publication 20130179738A1 · Jul 11, 2013