US8806283B1ActiveUtility
Automatic and on-demand testing of non-volatile storage devices
Est. expiryDec 15, 2031(~5.4 yrs left)· nominal 20-yr term from priority
G11C 29/46G06F 3/0689G01R 31/31701G06F 3/068G11C 29/765G06F 3/0679G06F 11/1008G11C 29/52G11C 2029/0407G01R 31/2808G11C 29/48G06F 11/22G06F 11/2284
74
PatentIndex Score
7
Cited by
27
References
14
Claims
Abstract
Systems and methods for testing non-volatile storage devices are disclosed that provide functionality to control when testing of the non-volatile storage device is performed. In one embodiment, information stored in persistent memory indicates whether testing is enabled or disabled. For example, the testing information may indicate that testing is to be performed upon a first initialization of a non-volatile storage device, but not in connection with subsequent power-up events. Furthermore, functionality is disclosed for re-running and/or bypassing testing of the non-volatile storage device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of testing a non-volatile storage system comprising a non-volatile storage medium and a controller, the method comprising:
determining whether execution of a test is enabled by accessing a value stored on the non-volatile storage medium, the value indicating whether the test is to be executed again regardless of a prior successful execution of the test;
when execution of the test is enabled:
performing a second execution of the test, the second execution of the test occurring at a point in time after a first execution of the test, wherein the first execution of the test comprises a successful execution of the test; and
determining whether the second execution of the test has been performed successfully; and
when the second execution of the test has been performed successfully, modifying the value, as stored on the non-volatile storage medium, to indicate that execution of the test is disabled to prevent the test from being executed on a subsequent power-up cycle of the non-volatile storage system.
2. The method of claim 1 , wherein determining whether the execution of the test is enabled further comprises making a determination of whether the non-volatile storage system has previously been initialized.
3. The method of claim 2 , wherein a determination that the non-volatile storage system has not been previously initialized indicates that the execution of the test is enabled.
4. The method of claim 1 , further comprising modifying the value to indicate that the execution of the test is enabled in response to receiving a request from a host system.
5. The method of claim 4 , wherein the request comprises a vendor specific command not included in a command set of a storage interface between the host system and the non-volatile storage system.
6. The method of claim 1 , wherein the value is represented by a flag stored on the non-volatile storage medium.
7. The method of claim 1 , wherein the non-volatile storage medium comprises flash memory.
8. The method of claim 1 , wherein the non-volatile storage medium comprises magnetic storage.
9. The method of claim 1 , further comprising reporting to a host system when execution of the test was unsuccessful.
10. A method of managing the testing of a non-volatile storage system comprising a non-volatile storage medium and a controller, the method comprising:
receiving a command from a host system in operative communication with the non-volatile storage system;
setting a value stored on the non-volatile storage medium in response to receiving the command, the value indicating whether a test is to be executed again regardless of a prior successful execution of the test; and
using the value to determine whether to execute the test on a subsequent power-up cycle of the non-volatile storage system, wherein the test is performed successfully in a prior time period,
wherein said method is performed by the non-volatile storage system.
11. The method of claim 10 , wherein the value indicates that at least one test of a plurality of tests will be executed and at least one test of the plurality of tests will not be executed when the non-volatile storage system is subsequently powered up.
12. The method of claim 10 , wherein the value is represented by a plurality of bits, wherein each of the plurality of bits relates to one of the one or more tests.
13. The method of claim 10 , wherein setting the value is performed in response to the command issued by an emulator program of the host system.
14. A non-volatile storage system comprising:
a non-volatile storage medium; and
a controller configured to:
access a value stored on the non-volatile storage medium that indicates whether a test is to be executed again regardless of a prior successful execution of the test;
when execution of the test is enabled:
perform a second execution of the test, the second execution of the test occurring at a point in time after a first execution of the test, wherein the first execution of the test comprises a successful execution of the test; and
determine whether the second execution of the test has been performed successfully; and
when the second execution of test has been performed successfully, modify the value to indicate that execution of the test is disabled.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.