US2017269837A1PendingUtilityA1

Using counters and a table to protect data in a storage device

Assignee: INTEL CORPPriority: Nov 14, 2014Filed: Apr 4, 2017Published: Sep 21, 2017
Est. expiryNov 14, 2034(~8.3 yrs left)· nominal 20-yr term from priority
G06F 21/60G06F 21/805G06F 3/0637G06F 3/0689G06F 3/062G06F 3/0622G06F 21/6227G06F 3/0673G06F 11/0727
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Provided are a system, memory controller, and method for using counters and a table to protect data in a storage device. Upon initiating operations to modify a file in the storage device, a storage write counter is incremented in response to initiating the operations to modify the file. In response to incrementing the storage write counter, write table operations are initiated including setting a table write counter to a storage write counter and setting a table commit counter to the storage commit counter plus a value. The operation to modify the file in response to completing the write table operations. The system commit counter is incremented by the value in response to completing the operation to modify the file.

Claims

exact text as granted — not AI-modified
1 - 25 . (canceled) 
     
     
         26 . A system for protecting data in a storage device, comprising:
 a first counter;   a second counter;   a security engine executed to:
 initiate an operation to modify a file; 
 update a first counter and second counter to have different values, wherein the second counter has a greater value than the first counter 
 perform the operation to modify the file in response to updating the first and the second counters; and 
 use the first and second counters to determine whether to allow writes to proceed to files in response to a power-on event. 
   
     
     
         27 . The system of  claim 26 , wherein the update the first counter and second counter sets the first counter to a number of initiated writes and sets the second counter to a number of completed writes plus a value. 
     
     
         28 . The system of  claim 27 , wherein the determine whether to allow the writes to proceed determines to allow the writes to proceed if the first counter equals the number of initiated writes and the second counter equals the number of completed writes. 
     
     
         29 . The system of  claim 28 , wherein the security engine is further executed to:
 determine whether a failure occurred after incrementing the number of initiated writes without updating the first and second counters in response to determining that the first counter does not equal the number of initiated writes or the second counter does not equal the number of completed write operations; and   initiate set error state operations to set the first counter to the number of initiated writes and the second counter to the number of completed writes in response to determining that a failure occurred after incrementing the number of initiated writes without updating the first and second counters.   
     
     
         30 . The system of  claim 29 , wherein the set error state operations further increment the number of initiated writes and the number of completed writes and sets the second counter to the number of completed writes plus a value. 
     
     
         31 . The system of  claim 26 , wherein the security engine is further executed to:
 update credits based on a time the first and second counters were last modified and a current time; and   determine whether there are a sufficient number of credits in order to modify the file, wherein the modify the file is only performed if there are the sufficient number of credits.   
     
     
         32 . The system of  claim 31 , wherein the update the first and second counters and the update the credits comprise an atomic operation. 
     
     
         33 . The system of  claim 26 , wherein the first and second counters are implemented in hardware of the storage device. 
     
     
         34 . The system of  claim 26 , wherein the system comprises a flash memory device including the security engine and the storage device. 
     
     
         35 . A memory controller coupled to a storage device to protect data in the storage device, comprising:
 a first counter;   a second counter;   a security engine executed to:
 initiate an operation to modify a file; 
 update a first counter and second counter to have different values, wherein the second counter has a greater value than the first counter 
 perform the operation to modify the file in response to updating the first and the second counters; and 
 use the first and second counters to determine whether to allow writes to proceed to files in response to a power-on event. 
   
     
     
         36 . The memory controller of  claim 35 , wherein the update the first counter and second counter sets the first counter to a number of initiated writes and sets the second counter to a number of completed writes plus a value. 
     
     
         37 . The memory controller of  claim 36 , wherein the determine whether to allow the writes to proceed determines to allow the writes to proceed if the first counter equals the number of initiated writes and the second counter equals the number of completed writes. 
     
     
         38 . The memory controller of  claim 37 , wherein the security engine is further executed to:
 determine whether a failure occurred after incrementing the number of initiated writes without updating the first and second counters in response to determining that the first counter does not equal the number of initiated writes or the second counter does not equal the number of completed write operations; and   initiate set error state operations to set the first counter to the number of initiated writes and the second counter to the number of completed writes in response to determining that a failure occurred after incrementing the number of initiated writes without updating the first and second counters.   
     
     
         39 . The memory controller of  claim 38 , wherein the set error state operations further increment the number of initiated writes and the number of completed writes and sets the second counter to the number of completed writes plus a value. 
     
     
         40 . The memory controller of  claim 35 , wherein the security engine is further executed to:
 update credits based on a time the first and second counters were last modified and a current time; and   determine whether there are a sufficient number of credits to perform the operations to modify the file, wherein the modify the file is only performed if there are the sufficient number of credits.   
     
     
         41 . The memory controller of  claim 40 , wherein the update the first and second counters and the update the credits comprise an atomic operation. 
     
     
         42 . The memory controller of  claim 35 , wherein the first and second counters are implemented in hardware of the storage device. 
     
     
         43 . A method for protecting data in a storage device, comprising:
 initiating an operation to modify a file;   updating a first counter and second counter to have different values, wherein the second counter has a greater value than the first counter performing the operation to modify the file in response to updating the first and the second counters; and   using the first and second counters to determine whether to allow writes to proceed to files in response to a power-on event.   
     
     
         44 . The method of  claim 43 , wherein the updating the first counter and second counter sets the first counter to a number of initiated writes and sets the second counter to a number of completed writes plus a value. 
     
     
         45 . The method of  claim 44 , wherein the determining whether to allow the writes to proceed determines to allow the writes to proceed if the first counter equals the number of initiated writes and the second counter equals the number of completed writes. 
     
     
         46 . The method of  claim 45 , further comprising:
 determining whether a failure occurred after incrementing the number of initiated writes without updating the first and second counters in response to determining that the first counter does not equal the number of initiated writes or the second counter does not equal the number of completed write operations; and   initiating set error state operations to set the first counter to the number of initiated writes and the second counter to the number of completed writes in response to determining that a failure occurred after incrementing the number of initiated writes without updating the first and second counters.   
     
     
         47 . The method of  claim 46 , wherein the set error state operations further increment the number of initiated writes and the number of completed writes and sets the second counter to the number of completed writes plus a value. 
     
     
         48 . The method of  claim 43 , further comprising:
 updating credits based on a time the first and second counters were last modified and a current time; and   determining whether there are a sufficient number of credits to perform the operations to modify the file, wherein the modify the file is only performed if there are the sufficient number of credits.   
     
     
         49 . The method of  claim 48 , wherein the updating the first and second counters and the update the credits comprise an atomic operation. 
     
     
         50 . The method of  claim 43 , wherein the first and second counters are implemented in hardware of the storage device.

Join the waitlist — get patent alerts

Track US2017269837A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.