×

MEMORY MANAGEMENT DEVICE AND MEMORY MANAGEMENT METHOD

  • US 20120079283A1
  • Filed: 09/01/2011
  • Published: 03/29/2012
  • Est. Priority Date: 09/24/2010
  • Status: Active Grant
First Claim
Patent Images

1. A memory management device to which a memory is connected and which performs verification at reading of data stored in the memory and at writing of data to the memory, the device comprising:

  • a first storage unit configured to store therein a root secret value that is a secret value assigned to the memory;

    a second storage unit configured to hold an upper counter value that is in common among a predetermined plurality of data pieces and lower counter values associated with the data pieces, respectively;

    an assignment unit configured to update counter values including the upper counter value and the lower counter values at writing of the data pieces to the memory and calculate data verification values; and

    a verification unit configured to performs a verification process of the data verification values at reading of the data pieces, whereinat writing of first data piece to the memory;

    the assignment unit increments a lower counter value associated with the first data piece each time the number of times the first data piece is written to the memory is increased;

    when the lower counter value associated with the first data piece overflows, the assignment unit updates counter values associated with the first data piece by incrementing the upper counter value in common among the plurality of data pieces and resetting the lower counter value;

    the assignment unit calculates a first secret value for each data piece using the counter values associated with the first data piece and the root secret value, and calculates a first data verification value using the first data piece and the first secret value for each data piece;

    when the counter values associated with the first data piece are updated, the assignment unit recalculates the first secret value for each data piece using the updated counter values and the root secret value, and recalculates the first data verification value using the first data piece and the first secret value for each data piece; and

    the assignment unit writes the first data piece and the calculated first data verification value or the recalculated first data verification value to the memory,at reading of the first data piece from the memory;

    the verification unit reads the first data piece and the first data verification value from the memory;

    when the first data piece and the first data verification value are read, the verification unit calculates a second secret value for each data piece using updated values of the counter values associated with the first data piece and the root secret value, and calculates a second data verification value using the read first data piece and the second secret value for each data piece; and

    the verification unit compares the read first data verification value and the second data verification value to perform verification of the read first data piece, andat writing of second data piece to the memory;

    when a lower counter value associated with the second data piece overflows, the assignment unit updates counter values associated with the second data piece by incrementing the upper counter value in common among the plurality of data pieces and resetting the lower counter value;

    the assignment unit calculates the first secret value for each data piece using the counter values associated with the second data piece and the root secret value, and calculates a second data verification value using the second data piece and the first secret value for each data piece;

    when the counter values associated with the second data piece are updated, the assignment unit recalculates the first secret value for each data piece using the updated counter values and the root secret value, and recalculates the first data verification value using the second data piece and the first secret value for each data piece;

    the assignment unit writes the second data piece and the calculated second data verification value or the recalculated first data verification value to the memory;

    when the lower counter value associated with the first data piece overflows as a result of incrementing the upper counter value, the assignment unit updates the counter values associated with the first data piece by resetting the lower counter value;

    the assignment unit calculates the first secret value for each data piece using the counter values associated with the first data piece and the root secret value, and calculates the first data verification value using the first data piece and the first secret value for each data piece;

    when the counter values associated with the first data piece are updated, the assignment unit recalculates the first secret value for each data piece using the updated counter values and the root secret value, and recalculates the first data verification value using the first data piece and the first secret value for each data piece; and

    the assignment unit writes the calculated first data verification value or the recalculated first data verification value to the memory.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×