Verifying data integrity in a data storage device
First Claim
1. An apparatus comprising a data storage device including:
- a working memory area having a fixed number of working cells accessible at respective addresses, each memory cell being adapted to store one unit of data;
a verification memory area having a corresponding fixed number of verification cells accessible at the same addresses as the working cells, each verification cell storing a predetermined value equal to a function of the address of the verification cell; and
a controller configured to
1) receive a read command having an address value, and
2) upon receiving the read command, a) retrieve the value stored in the verification cell selected by the address value, b) determine whether the retrieved value is equal to said function of the address value, and c) if so, retrieve the unit of data stored in the working cell selected by the address value, and if not, initiate a protective action.
9 Assignments
0 Petitions
Accused Products
Abstract
A data storage device may include one or more pages, each page having a fixed number of memory cells, each memory cell being adapted to store one unit of data; a verification page, the verification page having a corresponding fixed number of verification cells, each verification cell storing a predetermined value; and a controller configured to 1) receive a read command having an address value, and 2) upon receiving the read command, a) retrieve a predetermined value from a verification cell corresponding to the address value, b) determine whether the retrieved predetermined value is an expected value, and c) if so, providing a retrieved unit of data, and if not, initiating a protective action. Determining whether the retrieved predetermined value is the expected value may include applying a function to the address value to obtain a result and determining whether the result corresponds to the retrieved predetermined value.
-
Citations
23 Claims
-
1. An apparatus comprising a data storage device including:
-
a working memory area having a fixed number of working cells accessible at respective addresses, each memory cell being adapted to store one unit of data; a verification memory area having a corresponding fixed number of verification cells accessible at the same addresses as the working cells, each verification cell storing a predetermined value equal to a function of the address of the verification cell; and a controller configured to
1) receive a read command having an address value, and
2) upon receiving the read command, a) retrieve the value stored in the verification cell selected by the address value, b) determine whether the retrieved value is equal to said function of the address value, and c) if so, retrieve the unit of data stored in the working cell selected by the address value, and if not, initiate a protective action. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of retrieving data from a device comprising:
-
receiving an address for a memory location in the device; retrieving a value from a verification cell in the device associated with the memory location, the verification cell storing a predetermined value equal to a function of the address of the memory location; determining whether the retrieved value is an expected value equal to said function of the received address; and if the retrieved value is the expected value, providing a data value as a retrieved unit of data; and
if the retrieved value is not the expected value, initiating a protective action. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method of retrieving data from a device comprising:
-
receiving an address corresponding to a memory location in a device; determining whether the device is in a secure mode or a bypass mode; if the device is in the secure mode, a) retrieving a value from a verification cell storing a predetermined value equal to a function of an address value associated with the verification cell;
b) determining whether the retrieved value is an expected value equal to said function of the received address; and
c) if the retrieved value is the expected value, providing a data value as a retrieved unit of data; and
if the retrieved value is not the expected value, initiating a protective action; andif the device is in the bypass mode, providing a retrieved unit of data. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An article of manufacture comprising a non-transitory storage media containing instructions that, when executed by a controller, perform operations comprising:
-
receiving an address corresponding to a memory location in a device; determining whether the device is in a secure mode or a bypass mode; if the device is in the secure mode, a) retrieving a value from a memory verification cell corresponding to the memory location, the verification cell storing a predetermined value equal to a function of an address value associated with the verification cell;
b) determining whether the retrieved value is an expected value equal to said function of the received address; and
c) if the retrieved value is the expected value, providing a data value as a retrieved unit of data, and if the retrieved value is not the expected value, initiating a protective action; andif the device is in the bypass mode, outputting a retrieved unit of data. - View Dependent Claims (23)
-
Specification