IP Library Granted Patent US 7,228,471
Granted Patent B2
US 7,228,471 · App. 11/098,496 · Granted Jun 5, 2007

System and method for testing a data storage device without revealing memory content

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 7,228,471
App. No.
11/098,496
Granted
Jun 5, 2007
Kind
B2
Abstract

A system and method for testing a data storage device without revealing memory content. To control the individual bits of the memory during testing each value is written into the memory according to the equation NEW_DATA=CURRENT_DATA XOR DATA_SEED such that individual bits of NEW_DATA are equal to CURRENT_DATA with selected bits inverted when the corresponding positions in DATA_SEED are high. NEW_DATA is written into the memory, read out and verified, so that all bit positions can be controlled and tested in both logic states, while NEW_DATA and CURRENT_DATA are not ascertainable by the testing software.

Claims (34)

1. A method of testing a data storage device comprising the steps of:

a. reading a Current Value of a memory location in the data storage device, comprising a plurality of bits of data,

b. writing a New Value into the same memory location in the data storage device according to the equation

New Value=Current Value XOR Data Seed

where Data Seed is a value obtained from a data seed register,

c. writing a copy of New Value into a data-written register,

d. reading New Value out of the data storage device,

e. comparing New Value read out of the data storage device in step d. to the corresponding New Value in the data-written register to verify the accuracy of the data read out of the data storage device in step d.

2. The method of claim 1 wherein New Value comprises bits in a new encryption key generated from at least a current encryption key and a key seed.

3. The method of claim 1 wherein in step d. a command for retrieving a current encryption key is used to read New Value out of the data storage device.

4. The method of claim 1 comprising the step of writing the comparison values returned in step e. to a status register.

5. The method of claim 1 comprising, after step e., the step of repeating steps a., b. and c. for a plurality of memory locations in the data storage device.

6. The method of claim 1 in which the method of testing is invoked by, before step a., invoking a routine for generating a new key in conjunction with the step of writing a preset password into memory.

7. A system for testing a data storage device comprising

a processor for reading a Current Value of each of a plurality of memory locations in the data storage device, comprising a plurality of bits of data, generating for Current Value a New Value according to the equation

New Value=Current Value XOR Data Seed

where Data Seed is a value obtained from a data seed register, and writing New Value into the same memory location in the data storage device that stored the corresponding Current Value, and

a data-written register for storing a copy of New Value,

whereby the accuracy of the data read out of the data storage device can be verified by comparing New Value in the data storage device with the corresponding New Value in the data-written register.

8. The system of claim 7 wherein New Value comprises bits in a new encryption key generated from at least a current encryption key and a key seed.

9. The system of claim 7 wherein the processor reads New Value out of the data storage device using a command for retrieving a current encryption key.

10. The system of claim 7 comprising a status register for storing the comparison of New Value in the data storage device with the corresponding New Value in the data-written register.

11. A computer program product for use with a computer, the computer program product comprising a computer usable medium having computer readable program code means embodied in said medium for testing a data storage device, said computer program product having

a. computer readable program code means for reading a Current Value of a memory location in the data storage device, comprising a plurality of bits of data,

b. computer readable program code means for writing a New Value into the same memory location in the data storage device according to the equation

New Value=Current Value XOR Data Seed

where Data Seed is a value obtained from a data seed register,

c. computer readable program code means for writing a copy of New Value into a data-written register,

d. computer readable program code means for reading New Value out of the data storage device, and

e. computer readable program code means for comparing New Value read out of the data storage device to the corresponding New Value in the data-written register to verify the accuracy of the data read out of the data storage device.

12. The computer program product of claim 11 further comprising computer readable program code means for generating New Value from bits in a new encryption key generated from at least a current encryption key and a key seed.

13. The computer program product of claim 11 further comprising computer readable program code means for issuing a command for retrieving a current encryption key in order to read New Value out of the data storage device.

14. The computer program product of claim 11 further comprising computer readable program code means for writing comparison values returned to a status register.

15. The computer program product of claim 11 further comprising computer readable program code means for invoking the method of testing by invoking a routine for generating a new key in conjunction with the step of writing a preset password into memory.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 4, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034161/0056 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2005
From: RANDELL, JERROLD R.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 016448/0595 →