IP Library Granted Patent US 7,369,432
Granted Patent B2
US 7,369,432 · App. 11/355,685 · Granted May 6, 2008

Method for implementing a counter in a memory with increased memory efficiency

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,369,432
App. No.
11/355,685
Granted
May 6, 2008
Kind
B2
Abstract

A method for implementing a counter in memory, e.g., non-volatile memory such as flash memory. A first number of first binary values indicating a first portion of a current number of the counter in a binary field may be stored in a portion of memory. Storing the first number may also include increasing the number of first binary values in the binary field. Additionally, a second number indicating a second portion of the current number of the counter may be stored in another portion of memory. The second number may specify the number of times the first binary values has comprised the entirety of the binary field. Thus, the first number and second number may specify the current number of the counter. Storing the first and second number may be performed a plurality of times to implement a counting function of the counter.

Claims (59)

1. A method for implementing a counter in a flash memory, the method comprising:

storing a first number of first binary values in a binary field in a first portion of the flash memory, wherein the first number of first binary values indicates a first portion of a current number of the counter; and

storing a second number in a second portion of the flash memory, wherein the second number indicates a second portion of the current number of the counter;

wherein the first number of first binary values and the second number specify the current number of the counter; and

wherein said storing the first number and said storing the second number are performed a plurality of times to implement a counting function of the counter.

2. The method of claim 1 ,

wherein said storing the first number of first binary values in the binary field further comprises:

increasing the number of first binary values in the binary field.

3. The method of claim 1 ,

wherein the second number specifies a number of times the first number of first binary values has comprised an entirety of the binary field.

4. The method of claim 1 , wherein said storing the second number further comprises:

determining if the first number of first binary values comprises an entirety of the binary field; and

updating the second number if the first number of first binary values comprises the entirety of the binary field in response to said determining.

5. The method of claim 4 , the method further comprising:

setting each member of the binary field to a second binary value in response to said updating.

6. The method of claim 1 ,

wherein said storing the first number of first binary values in the binary field operates to reduce a number of operations to the flash memory.

7. The method of claim 1 ,

wherein said storing the first number of first binary values in the binary field operates to increase a lifetime of the flash memory.

8. The method of claim 1 ,

wherein the second number is a binary number.

9. The method of claim 1 ,

wherein the second number is specified as a number of one of the first binary values and second binary values in a second binary field.

10. The method of claim 1 ,

wherein said storing the first number comprises storing a number of “0” values in a field of “1” values in a first portion of flash memory, and wherein the number of “0” values indicates a first portion of a number.

11. The method of claim 1 ,

wherein the counter implemented in flash memory operates under the performance specifications of a TPM counter.

12. The method of claim 1 , the method further comprising:

storing additional numbers in additional portions of flash memory, wherein one or more of the first number, the second number, and the additional numbers specify the current number of the counter; and

wherein said storing the first number, said storing the second number, and said storing the additional numbers is performed a plurality of times to implement a counting function of the counter.

13. A system for implementing a counter, comprising:

a flash memory comprising a first portion and a second portion;

logic circuitry coupled to the flash memory which stores 1) a first number of first binary values in a binary field in the first portion of the flash memory, wherein the first number of first binary values indicates a first portion of a current number of the counter, and 2) stores a second number in the second portion of the flash memory, wherein the second number indicates a second portion of the current number of the counter;

wherein the first number of first binary values and the second number specify the current number of the counter;

wherein the logic circuitry operates to store the first number and the second number in the flash memory a plurality of times to implement a counting function of the counter.

14. The system of claim 13 ,

wherein the logic circuitry coupled to the flash memory storing the first number of first binary values in the binary field further comprises:

the logic circuitry coupled to the flash memory increasing the number of first binary values in the binary field.

15. The system of claim 13 ,

wherein the second number specifies a number of times the first number of first binary values has comprised an entirety of the binary field.

16. A method for implementing a counter in a flash memory, the method comprising:

counting monotonically by integers by repeatedly storing values in the flash memory, wherein said counting comprises repeatedly performing:

storing a first number of first binary values in a binary field in a first portion of flash memory, wherein the first number of first binary values indicates a first portion of a current number of the counter;

storing a second number in a second portion of flash memory, wherein the second number indicates a second portion of the current number of the counter;

wherein the first number of first binary values and the second number specify the current number of the counter.

17. A computer accessible flash memory medium which implements a counting function, the computer accessible flash memory medium comprising:

a first portion which stores a first number of first binary values in a binary field, wherein the first number of first binary values indicates a first portion of a current number of the counter;

a second portion which stores a second number, wherein the second number indicates a second portion of the current number of the counter;

wherein the first number of first binary values and the second number specify a current number of the counting function;

wherein the first portion and second portion are operable to repeatedly store the first number and the second number, respectively, a plurality of times to implement the counting function.

18. The memory medium of claim 17 ,

wherein repeatedly storing the first number of first binary values in the binary field operates to increase the number of first binary values in the binary field.

19. The memory medium of claim 17 ,

wherein the second number specifies a number of times the first number of first binary values has comprised an entirety of the binary field.

20. A method for storing a number in a flash memory, the method comprising:

storing a first number of first binary values in a binary field in a first portion of the flash memory, wherein the first number of first binary values indicates a first portion of the number; and

storing a second number in a second portion of the flash memory, wherein the second number indicates a second portion of the number;

wherein the first number of first binary values and the second number specify the number; and

wherein said storing the first number and said storing the second number are performed a plurality of times to store a plurality of different numbers in the flash memory.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
MERGER Recorded Dec 11, 2017
From: STANDARD MICROSYSTEMS CORPORATION
To: MICROCHIP TECHNOLOGY INCORPORATED
Reel/Frame 044824/0608 →