US2008288712A1PendingUtilityA1

Accessing metadata with an external host

53
Assignee: CORNWELL MICHAEL JPriority: Apr 25, 2007Filed: Apr 25, 2007Published: Nov 20, 2008
Est. expiryApr 25, 2027(~0.8 yrs left)· nominal 20-yr term from priority
G06F 11/0778G06F 11/0742G06F 11/0766G06F 11/0727G06F 12/0246G06F 11/0748G06F 3/0679
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems and processes may be used to retrieve metadata from a nonvolatile memory of a portable device and transmit the retrieved metadata to an external host. Metadata may be analyzed using the external host and/or at least a portion of the metadata may be modified based on the analysis. Modified metadata may be transmitted from the external host to a memory controller of the host.

Claims

exact text as granted — not AI-modified
1 . A method for managing memory comprising:
 receiving metadata for a nonvolatile memory of a portable device from the portable device on an external host;   performing an analysis of at least a portion of the received metadata using the external host;   modifying at least a portion of the received metadata based on the analysis;   transmitting at least the modified portion of the received metadata to a memory controller of the portable device, the memory controller operable to control the nonvolatile memory of the portable device.   
   
   
       2 . The method of  claim 1  wherein at least a portion of the received metadata comprises one or more time stamps, and wherein performing the analysis of at least a portion of the retrieved metadata comprises determining whether data associated with at least one of the time stamps should be rewritten based at least partially on the time stamp. 
   
   
       3 . The method of  claim 2  further comprising transmitting a command signal to rewrite data associated with at least one of the time stamps, and wherein modifying at least a portion of the received metadata comprises updating one or more time stamps associated with rewritten data. 
   
   
       4 . The method of  claim 1  wherein at least a portion of the received metadata comprises one or more time stamps, and wherein performing the analysis of at least a portion of the retrieved metadata comprises determining whether at least one of the time stamps should be adjusted, and wherein modifying at least a portion of the received data comprises adjusting at least one of the time stamps. 
   
   
       5 . The method of  claim 1  wherein at least a portion of the received metadata comprises bad block data, and wherein bad block data includes a listing of blocks in the memory that do not satisfy performance criteria, and wherein analyzing at least a portion of the received metadata comprises transmitting one or more command signals to the memory controller configured to determine whether one or more blocks in the listing of blocks satisfy performance criteria, and wherein modifying at least a portion of the received data comprises modifying at least a portion of the bad block data based at least partially on the analysis. 
   
   
       6 . The method of  claim 1  wherein at least a portion of the received metadata comprises error correcting code data, and wherein analyzing at least a portion of the retrieved metadata comprises determining whether the error correcting code data should be modified, and wherein modifying at least a portion of the received data comprises modifying at least a portion of the error correcting code data. 
   
   
       7 . The method of  claim 6 , wherein the error correcting code data is modified such that it is compatible with the memory controller of the memory. 
   
   
       8 . The method of  claim 1  wherein at least a portion of the retrieved metadata comprises erase count, and wherein analyzing at least a portion of the retrieved metadata comprises performing testing of blocks based on the erase count; and wherein modifying at least a portion of the retrieved data comprises modifying at least a portion of the metadata based on the erase count. 
   
   
       9 . The method of  claim 1  further comprising initiating a procedure for moving data among physical blocks. 
   
   
       10 . The method of  claim 1  further comprising presenting a notice on a user interface. 
   
   
       11 . The method of  claim 1  wherein the nonvolatile memory comprises a flash memory. 
   
   
       12 . An article comprising a machine-readable medium storing instructions for memory management, the instructions operable to cause data processing apparatus to perform operations comprising:
 detecting establishment of a connection between an external host and a host;   retrieving metadata from a memory of the host, wherein the metadata is retrieved across the connection and transmitted to the external host;   performing an analysis on at least a portion of the retrieved metadata;   modifying at least a portion of the retrieved metadata based on the analysis; and   transmitting at least the modified portion of the retrieved metadata for storage on a plurality of blocks in the memory of the host.   
   
   
       13 . The article of  claim 12  wherein detecting the establishment of the connection includes detecting a bus connection between the external host and the host. 
   
   
       14 . The article of  claim 12  wherein the instructions are further operable to cause data processing apparatus to perform operations comprising initiating a procedure for moving data among physical blocks. 
   
   
       15 . The article of  claim 12  wherein at least a portion of the retrieved metadata comprises one or more time stamps, and wherein performing the analysis of at least a portion of the retrieved metadata comprises determining whether data associated with at least one of the time stamps should be rewritten based at least partially on the time stamp. 
   
   
       16 . The article of  claim 12  wherein at least a portion of the retrieved metadata comprises one or more time stamps, and wherein performing the analysis of at least a portion of the retrieved metadata comprises determining whether at least one of the time stamps should be adjusted, and wherein modifying at least a portion of the retrieved data comprises adjusting at least one of the time stamps. 
   
   
       17 . The article of  claim 12  wherein at least a portion of the retrieved metadata comprises bad block data, and wherein bad block data includes a listing of blocks in the memory that do not satisfy performance criteria, and wherein analyzing at least a portion of the retrieved metadata comprises transmitting one or more command signals to the memory controller, and wherein the memory controller is configured to determine whether one or more blocks in the listing of blocks satisfy performance criteria, and wherein modifying at least a portion of the retrieved data comprises modifying at least a portion of the bad block data based at least partially on the analysis. 
   
   
       18 . The article of  claim 12  wherein at least a portion of the retrieved metadata comprises error correcting code data, and wherein analyzing at least a portion of the retrieved metadata comprises determining whether the error correcting code data should be modified, and wherein modifying at least a portion of the retrieved data comprises modifying at least a portion of the error correcting code data, and wherein the error correcting code data is modified such that it is compatible with the memory controller of the memory. 
   
   
       19 . The article of  claim 12  wherein at least a portion of the retrieved metadata comprises an erase count, and wherein analyzing at least a portion of the retrieved metadata comprises performing testing of blocks based on the erase count; and wherein modifying at least a portion of the retrieved data comprises modifying at least a portion of the metadata based on the erase count. 
   
   
       20 . A system comprising:
 a communication interface of an external host for communicating with a host, wherein the communication interface is configured to retrieve metadata for the memory of the host; and   an analysis module operable to:
 analyze at least a portion of the retrieved metadata; and 
 determine whether to modify at least a portion of the retrieved metadata based at least partially on the analysis. 
   
   
   
       21 . The system of  claim 20  wherein the communication interface includes a bus. 
   
   
       22 . The system of  claim 20  wherein the communication interface is operable to communicate with the host via one or more network protocols. 
   
   
       23 . A system comprising:
 a means for communicating with a memory of a host, wherein the means is configured to:
 retrieve metadata from the memory of a host; and 
 transmit the retrieved data to an external host; 
   a means for analyzing at least a portion of the retrieved metadata to determine whether to modify at least a portion of the retrieved metadata based on the analysis; and   a means for modifying the retrieved metadata based on the determination.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.