IP Library Granted Patent US 7,475,184
Granted Patent B2
US 7,475,184 · App. 11/215,744 · Granted Jan 6, 2009

Systems and methods for providing nonvolatile memory management in wireless phones

Assignee: Silicon Storage Technology, Inc.
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,475,184
App. No.
11/215,744
Granted
Jan 6, 2009
Kind
B2
Abstract

The present invention is related to memory management, and in particular, to methods and systems for accessing and managing nonvolatile, such as in a wireless phone. A wireless phone memory controller is disclosed that, comprises a first interface circuit configured to be coupled to wireless phone nonvolatile memory, a second interface circuit configured to be coupled to wireless phone volatile memory, a first processor interface configured to be coupled to a first wireless phone processor, wherein the first processor interface is configured to provide the first processor with access to the wireless phone volatile memory, a second processor interface configured to be coupled to a second wireless phone processor, and a controller circuit configured to copy at least a portion of wireless phone nonvolatile memory data to the wireless phone volatile memory.

Claims (82)

1. A wireless phone memory controller, comprising:

a memory controller including a:

a nonvolatile memory controller circuit configured to be coupled to nonvolatile memory;

a volatile memory controller circuit configured to be coupled to volatile memory;

a boot controller circuit configured to be coupled to the nonvolatile memory controller circuit, the boot controller circuit configured to cause user-defined boot program code to be read from nonvolatile memory into memory controller memory;

a first processor interface, including a first reset signal, configured to be coupled to a first wireless phone processor, wherein, the memory controller is configured to release the first wireless phone processor from a reset state after the user-defined boot code is read into the memory controller memory; and

a second processor interface, including a second reset signal, configured to be coupled to a second wireless phone processor, wherein the second reset signal is configured to be controlled at least in part by the first processor.

2. The wireless phone memory controller as defined in claim 1 , further comprising:

a first display interface configured to be coupled to a first display; and

a second display interface configured to be coupled to a second display wherein, the memory controller is further configured to transfer display data from the volatile memory to at least the second display at least partly in response to receiving a memory transfer request from the first processor.

3. The wireless phone memory controller as defined in claim 1 , further comprising an interface configured to be coupled to a removable memory device.

4. The wireless phone memory controller as defined in claim 1 , further comprising an interface configured to be coupled to a removable memory card.

5. The wireless phone memory controller as defined in claim 1 , wherein the user defined boot code is loaded into dedicated boot volatile memory.

6. The wireless phone memory controller as defined in claim 1 , wherein the nonvolatile memory includes NAND Flash memory.

7. The wireless phone memory controller as defined in claim 1 , wherein the nonvolatile memory includes AND Flash memory.

8. The wireless phone memory controller as defined in claim 1 , wherein the volatile memory includes SDRAM memory.

9. The wireless phone memory controller as defined in claim 1 , further comprising:

a DMA controller configured to transfer data from the nonvolatile to the volatile memory in response to a request received via the first processor port; and

an ECC circuit configured to provide error detection and correction of data read from the nonvolatile memory.

10. The wireless phone memory controller as defined in claim 1 , further comprising memory storing user defined Flash media management code.

11. The wireless phone memory controller as defined in claim 1 , further comprising a data buffer used to buffer data with respect to nonvolatile data transfers.

12. The wireless phone memory controller as defined in claim 1 , further comprising an error detection and correction circuit that can detect and correct at least a portion of data errors in data read from nonvolatile memory without the intervention of the first or second processors.

13. The wireless phone memory controller as defined in claim 1 , further comprising a circuit that copies a plurality of data pages from nonvolatile memory to volatile memory without intervention of the first or second processors.

14. The wireless phone memory controller as defined in claim 1 , further comprising a second nonvolatile memory controller and a second volatile memory controller.

15. A method of managing phone memory operations, comprising:

causing user-defined boot program code to be read from nonvolatile memory into memory controller memory;

releasing a first wireless phone processor from a reset state using a first reset signal after the user-defined boot code is read into the memory controller memory; and

controlling a second reset signal coupled to a second wireless phone processor using the first wireless phone processor.

16. The method as defined in claim 15 , further comprising:

communicating display information with a first display using a first display interface; and

transferring display data via the memory controller from volatile memory to at least a second display at least partly in response to receiving a memory transfer request from the first processor.

17. The method as defined in claim 16 , further comprising:

transferring data from the nonvolatile to the volatile memory in response to a request received via the first processor port; and

correcting data via an ECC circuit configured to provide error detection and correction of data read from the nonvolatile memory.

18. The method as defined in claim 15 , further comprising providing an interface configured to be coupled to a removable memory card.

19. The method as defined in claim 15 , wherein the user defined boot code is loaded into dedicated boot volatile memory.

20. The method as defined in claim 15 , wherein the nonvolatile memory includes Flash memory.

21. The method as defined in claim 15 , wherein the volatile memory includes S DRAM memory.

22. The method as defined in claim 15 , further comprising storing user defined Flash media management code.

23. The method as defined in claim 15 , further comprising detecting and correcting at least a portion of data errors in data read from nonvolatile memory without the intervention of the first or second processors.

24. The method as defined in claim 15 , further comprising copying a plurality of data pages from nonvolatile memory to volatile memory without intervention of the first or second processors.

25. A wireless phone memory controller, comprising:

a memory controller circuit configured to be coupled to nonvolatile memory and to volatile memory;

a boot controller circuit configured to be coupled to the memory controller circuit, the boot controller circuit configured to cause user-defined boot program code to be read from nonvolatile memory into memory associated with the memory controller circuit;

a first processor interface, including a first reset signal, configured to be coupled to a first processor, wherein, the first processor interface is configured to release the first processor from a reset state after the user-defined boot code is read into the memory associated the memory controller circuit; and

a second processor interface, including a second reset signal, configured to be coupled to a second processor, wherein the second reset signal is configured to be controlled at least in part by the first processor.

26. The wireless phone memory controller as defined in claim 25 , further comprising:

a first display interface configured to be coupled to a first display; and

a second display interface configured to be coupled to a second display wherein, the memory controller circuit is further configured to transfer display data from the volatile memory to at least the second display at least partly in response to receiving a memory transfer request from the first processor.

27. The wireless phone memory controller as defined in claim 25 , further comprising an interface configured to be coupled to a removable memory card.

28. The wireless phone memory controller as defined in claim 25 , wherein the user defined boot code is loaded into dedicated boot volatile memory.

29. The wireless phone memory controller as defined in claim 25 , wherein the nonvolatile memory includes NAND Flash memory.

30. The wireless phone memory controller as defined in claim 25 , wherein the nonvolatile memory includes AND Flash memory.

31. The wireless phone memory controller as defined in claim 25 , wherein the volatile memory includes SDRAM memory.

32. The wireless phone memory controller as defined in claim 25 , further comprising:

a DMA controller configured to transfer data from the nonvolatile to the volatile memory in response to a request received via the first processor; and

an ECC circuit configured to provide error detection and correction of data read from the nonvolatile memory.

33. The wireless phone memory controller as defined in claim 25 , further comprising memory storing user defined Flash media management code.

34. The wireless phone memory controller as defined in claim 25 , further comprising a data buffer used to buffer data with respect to nonvolatile data transfers.

35. The wireless phone memory controller as defined in claim 25 , further comprising an error detection and correction circuit that can detect and correct at least a portion of data errors in data read from nonvolatile memory without the intervention of the first or second processors.

36. The wireless phone memory controller as defined in claim 25 , further comprising a circuit that copies a plurality of data pages from nonvolatile memory to volatile memory without intervention of the first or second processors.

37. The wireless phone memory controller as defined in claim 25 , further comprising a second nonvolatile memory controller and a second volatile memory controller.

38. A memory controller for controlling the operation of a first nonvolatile memory comprising:

a first memory interface circuit including a first bus for interfacing with the first nonvolatile memory;

a second nonvolatile memory;

a boot controller circuit configured to be coupled to the second nonvolatile memory, the boot controller circuit configured to cause a boot program code to be read from the second nonvolatile memory for execution;

a first processor interface, including a second bus configured to be coupled to a first host processor; and

a second processor interface, including a third bus configured to be coupled to a second host processor.

39. A memory controller for controlling the operation of a first nonvolatile memory comprising:

a first interface circuit, including a first bus, configured to be coupled to the first a nonvolatile memory;

a second nonvolatile memory:

a second interface circuit, including a second bus, configured to be coupled to the second nonvolatile memory:

a volatile memory:

a third interface circuit, including a third bus, configured to be coupled to the volatile memory;

a first processor interface, configured to be coupled to a first host processor, wherein the first processor interface is configured to provide the first processor with access to the volatile memory;

a second processor interface, configured to be coupled to a second host processor; and

controller circuit configured to execute at least a portion of the data stored in the second nonvolatile memory without intervention by the first processor or the second processor.

40. A memory controller for controlling the operation of a first nonvolatile memory external to the memory controller comprising:

a nonvolatile memory controller circuit having a first bus, configured to be coupled to a the first nonvolatile memory;

a second nonvolatile memory;

a boot controller circuit configured to be coupled to the second nonvolatile memory, the boot controller circuit configured to cause a boot program code to be read from the second nonvolatile memory for execution; and

a first processor interface, configured to be coupled to a first host processor.

Assignments (6)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2013
From: GREENLIANT LLC
To: GOOGLE INC.
Reel/Frame 029622/0079 →
NUNC PRO TUNC ASSIGNMENT Recorded Aug 3, 2010
From: SILICON STORAGE TECHNOLOGY, INC.
To: GREENLIANT SYSTEMS, INC.
Reel/Frame 024776/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2010
From: GREENLIANT SYSTEMS, INC.
To: GREENLIANT LLC
Reel/Frame 024776/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2007
From: MAXILICON, INC.
To: SILICON STORAGE TECHNOLOGY, INC.
Reel/Frame 019037/0261 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2005
From: LEE, SCHWEIRAY JOSEPH
To: MAXILICON, INC.
Reel/Frame 017050/0311 →
Continuity (3)
Provisional Application 6061121900 · Sep 20, 2004
Provisional Application 6060526500 · Aug 30, 2004
Related Publication 20060053246A1 · Mar 9, 2006