IP Library Granted Patent US 7,127,564
Granted Patent B2
US 7,127,564 · App. 10/376,838 · Granted Oct 24, 2006

Double buffered flash programming

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,127,564
App. No.
10/376,838
Granted
Oct 24, 2006
Kind
B2
Abstract

A double buffered flash bank. In one embodiment, a flash interface may be programmed by a register interface with a first set of data while a second set of data is being written to the register interface. In one embodiment, flash banks may be programmed in parallel using latched register interfaces. For example, while data from a first register interface is being written to the first flash bank and data from a second register interface is being written to a second flash bank, new data may be written to the first register interface and to the second register interface. The new data may then be written from the first register interface to the first flash bank and from the second register interface to the second flash bank.

Claims (99)

1. A method, comprising:

writing a first address and a first set of data to a register interface;

writing the first set of data from the register interface to a first flash bank using the first address; and

writing a second address and a second set of data to the register interface, wherein at least a portion of the writing the second address and the second set of data to the register interface is performed simultaneously with the writing the first set of data from the register interface to the first flash bank.

2. The method of claim 1 ,

wherein the register interface further comprises a register and a latch, wherein the writing the first address and the first set of data to the register interface comprises writing the first address and the first set of data to the register.

3. The method of claim 2 , further comprising:

transferring the first address and the first set of data from the register to the latch before the writing the second address and the second set of data to the register interface.

4. The method of claim 1 ,

wherein the register interface further comprises a first register interface coupled to the first flash bank and a second register interface coupled to a second flash bank.

5. The method of claim 4 ,

wherein the writing the first address and the first set of data to the register interface comprises writing the first address and the first set of data to the first register interface, and wherein writing the first set of data from the register interface to the first flash bank using the first address comprises writing the first set of data from the first register interface to the first flash bank using the first address.

6. The method of claim 5 , further comprising:

writing a third address and a third set of data to the second register interface.

7. The method of claim 6 ,

wherein the first register interface further comprises a first register and a first latch, and the second register interface further comprises a second register and a second latch.

8. The method of claim 7 ,

wherein the writing the first address and the first set of data to the first register interface further comprises:

writing the first address and the first set of data to the first register; and

transferring the first address and the first set of data from the first register to the first latch, wherein the transferring the first address and the first set of data from the first register to the first latch occurs before the writing of the second address and the second set of data to the first register interface.

9. The method of claim 8 ,

wherein writing the third address and the third set of data to the second register interface further comprises writing the third address and the third set of data to the second register, wherein at least a portion of the third address and the third set of data is written to the second register simultaneously with writing the first set of data to the first register interface.

10. The method of claim 6 , further comprising:

writing the third set of data to the second flash bank.

11. The method of claim 10 , further comprising:

reading the first set of data from the first flash bank; and

reading the third set of data from the second flash bank.

12. The method of claim 10 ,

wherein at least a portion of the writing of the third set of data to the second flash bank is performed simultaneously with the writing the first set of data to the first flash bank.

13. The method of claim 6 , further comprising:

writing a command pending bit to a status register coupled to the register interface to indicate that the second set of data in the register interface or the third set of data in the register interface should be written to the first flash bank or the second flash bank.

14. The method of claim 5 , further comprising:

writing a busy bit to a status register coupled to the register interface to indicate whether the first set of data is being written to the first flash bank.

15. A system, comprising:

a register interface;

a first flash bank coupled to the register interface;

a processor coupled to the register interface;

a memory coupled to the processor and configured to store program instructions executable to:

write a first address and a first set of data to the register interface;

write the first set of data from the register interface to the first flash bank using the first address; and

write a second address and a second set of data to the register interface, wherein at least a portion of the writing the second address and the second set of data to the register interface is performed simultaneously with the writing the first set of data from the register interface to the first flash bank.

16. The system of claim 15 ,

wherein the register interface further comprises a register and a latch, wherein the writing the first address and the first set of data to the register interface comprises writing the first address and the first set of data to the register.

17. The system of claim 16 ,

wherein the program instructions are further executable to transfer the first address and the first set of data from the register to the latch before the writing the second address and the second set of data to the register interface.

18. The system of claim 15 ,

wherein the register interface further comprises a first register interface coupled to the first flash bank and a second register interface coupled to a second flash bank.

19. The system of claim 18 ,

wherein the writing the first address and the first set of data to the register interface comprises writing the first address and the first set of data to the first register interface, and wherein writing the first set of data from the register interface to the first flash bank using the first address comprises writing the first set of data from the first register interface to the first flash bank using the first address.

20. The system of claim 19 ,

wherein the program instructions are further executable to write a third address and a third set of data to the second register interface.

21. The system of claim 20 ,

wherein the first register interface further comprises a first register and a first latch, and the second register interface further comprises a second register and a second latch.

22. The system of claim 21 ,

wherein the writing the first address and the first set of data to the first register interface further comprises:

writing the first address and the first set of data to the first register; and

transferring the first address and the first set of data from the first register to the first latch, wherein the transferring the first address and the first set of data from the first register to the first latch occurs before the writing of the second address and the second set of data to the first register interface.

23. The system of claim 22 ,

wherein writing the third address and the third set of data to the second register interface further comprises:

writing the third address and the third set of data to the second register, wherein at least a portion of the writing of the third address and the third set of data to the second register is performed simultaneously with the writing of the first set of data to the first flash bank.

24. The system of claim 19 ,

wherein the program instructions are further executable to write a busy bit to a status register coupled to the register interface to indicate whether the first set of data is being written to the first flash bank.

25. The system of claim 20 ,

wherein the program instructions are further executable to:

write the third set of data to the second flash bank.

26. The system of claim 25 ,

wherein the program instructions are further executable to:

read the first set of data from the first flash bank; and

read the third set of data from the second flash bank.

27. The system of claim 25 ,

wherein at least a portion of the writing of the third set of data to the second flash bank is performed simultaneously with the writing the first set of data to the first flash bank.

28. The system of claim 20 ,

wherein the program instructions are further executable to write a command pending bit to a status register coupled to the register interface to indicate that the second set of data in the register interface or the third set of data in the register interface should be written to the first flash bank or the second flash bank.

29. The system of claim 28 ,

wherein the first register interface is coupled to a first status register with a first command pending bit to indicate that the second set of data should be written to the first flash bank and the second register interface is coupled to a second status register with a second command pending bit to indicate that the third set of data should be written to the second flash bank.

30. A system, comprising:

a means for writing a first address and a first set of data to a register interface;

a means for writing the first set of data from the register interface to a first flash bank using the first address; and

a means for writing a second address and a second set of data to the register interface, wherein at least a portion of the writing the second address and the second set of data to the register interface is performed simultaneously with the writing the first set of data from the register interface to the first flash bank.

31. A computer readable memory medium comprising program instructions, wherein the program instructions are computer-executable to:

write a first address and a first set of data to a register interface;

write the first set of data from the register interface to a first flash bank using the first address; and

write a second address and a second set of data to the register interface, wherein at least a portion of the writing the second address and the second set of data to the register interface is performed simultaneously with the writing the first set of data from the register interface to the first flash bank.

32. A method, comprising:

writing a first address and a first set of data to a first register interface;

writing a second address and a second set of data to a second register interface, wherein at least a portion of the second address and the second set of data is written to the second register interface simultaneously with writing the first address and the first set of data to the first register interface;

writing the first set of data to a first flash bank;

writing the second set of data to a second flash bank; and

wherein at least a portion of the writing of the second set of data to the second flash bank is performed simultaneously with the writing the first set of data to the first flash bank.

33. The method of claim 32 ,

wherein the first register interface further comprises a first register and a first latch, and the second register interface further comprises a second register and a second latch;

wherein writing the first address and the first set of data to the first register interface comprises writing the first address and the first set of data to the first register and transferring the first address and the first set of data from the first register to the first latch;

wherein writing the second address and the second set of data to the second register interface comprises writing the second address and the second set of data to the second register and transferring the second address and the second set of data from the second register to the second latch; and

wherein the second address and the second set of data are transferred from the second register to the second latch simultaneously with transferring the first address and the first set of data from the first register to the first latch.

34. A method, comprising:

writing a first address and a first set of data to a register interface;

writing the first set of data from the register interface to a first flash bank using the first address;

writing a second address and a second set of data to the register interface, wherein at least a portion of the writing the second address and the second set of data to the register interface is preformed simultaneously with the writing the first set of data from the register interface to the first flash bank, wherein the register interface further comprises a first register interface coupled to the first flash bank and a second register interface coupled to a second flash bank; and

writing a third address and a third set of data to the second register interface, wherein at least a portion of the third address and the third set of data is written to the second register interface simultaneously with writing the first set of data to the first register interface.

Assignments (10)
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 044820/0715 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2003
From: SHOEPFIN, ROBERT W.; WAHLER, RICHARD E.; STREIBER, RONALD W.; VIRZI, JOHN D.; NOVIELLO, DONALD D.
To: STANDARD MICROSYSTEMS CORPORATION
Reel/Frame 013849/0473 →