Verifying Data Integrity of a Non-Volatile Memory System during Data Caching Process
First Claim
1. A computer program product comprising a computer recordable medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:
- program a non-volatile memory with a set of test patterns, wherein the non-volatile memory is used to harden cache data from a volatile memory for a storage controller responsive to a power event;
read the set of test patterns from the non-volatile memory;
verify whether the non-volatile memory stored the set of test patterns correctly; and
post a failure status to the storage controller responsive to the non-volatile memory storing the set of test patterns incorrectly.
1 Assignment
0 Petitions
Accused Products
Abstract
To ensure integrity of non-volatile flash, the controller programs the non-volatile memories with background test patterns and verifies the non-volatile memories during power on self test (POST) operation. In conjunction with verifying the non-volatile memories, the controller may routinely run diagnostics and report status to the storage controller. As part of the storage controller power up routines, the storage controller issues a POST command to the controller via an I2C register that is monitored by the storage controller. The storage controller may determine that the non-volatile flash is functional without any defects, and the controller may remove power from the non-volatile flash to extend its reliability. Periodically, in the background, the controller may run diagnostic routines to detect any failures associated with the volatile memory and the controller itself.
112 Citations
20 Claims
-
1. A computer program product comprising a computer recordable medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
program a non-volatile memory with a set of test patterns, wherein the non-volatile memory is used to harden cache data from a volatile memory for a storage controller responsive to a power event; read the set of test patterns from the non-volatile memory; verify whether the non-volatile memory stored the set of test patterns correctly; and post a failure status to the storage controller responsive to the non-volatile memory storing the set of test patterns incorrectly. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, in a data processing system, for verifying data integrity of a non-volatile memory system during data caching process, the method comprising:
-
programming a non-volatile memory with a set of test patterns, wherein the non-volatile memory is used to harden cache data from a volatile memory for a storage controller responsive to a power event; reading the set of test patterns from the non-volatile memory; verifying whether the non-volatile memory stored the set of test patterns correctly; and posting a failure status to the storage controller responsive to the non-volatile memory storing the set of test patterns incorrectly. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A memory system comprising:
-
a controller, wherein the controller is configured to detect a power event from a power supply that provides power to a storage controller and the memory system; a volatile memory; and a non-volatile memory, wherein the non-volatile memory is used to harden cache data from the volatile memory for a storage controller responsive to the power event; wherein the controller is configured to program the non-volatile memory with a set of test patterns, wherein the non-volatile memory is used to harden cache data from a volatile memory for a storage controller, read the set of test patterns from the non-volatile memory, verify whether the non-volatile memory stored the set of test patterns correctly, and post a failure status to the storage controller responsive to the non-volatile memory storing the set of test patterns incorrectly. - View Dependent Claims (19, 20)
-
Specification