This relates generally to non-volatile memories.
A non-volatile memory is a microelectronic memory that stores data even when power is removed. Examples of non-volatile memories include static random access memories, flash memories, and phase change memories, to mention a few examples.
Generally, a non-volatile memory is coupled to a memory controller which basically controls all operations of the non-volatile memory. The non-volatile memory then is basically a reservoir of data which is accessed by the memory controller. Transactions between the memory controller and the non-volatile memory are initiated by the memory controller.
In accordance with some embodiments of the present invention, instead of using the conventional master/slave relationship between the memory controller and the non-volatile memory, a peer-to-peer relationship may be utilized. In the peer-to-peer relationship, the non-volatile memory may initiate transactions.
As used herein, a “transaction” is any activity, involving something more than the provision of data or information, outside of the non-volatile memory or any request to an entity outside the non-volatile memory. As used herein, the term “initiate” means to begin a transaction without input from any other external device. As used herein, a non-volatile memory is a microelectronic storage device that retains information when power is off and that includes an array of rows and columns of addressable memory cells.
Referring to
The control is coupled to an external bus 24 when the memory 22 is in use by an interface 26, in one embodiment. The control 28 may have a storage 30 which is separate from the array 32 in some embodiments. For example, the storage may be a code storage that may be implemented by static random access memory. However, in other embodiments, the control 28 may use memory cells in the array 32. Thus, in some embodiments, the interface, the control, the storage, and the array are all integrated in the same integrated circuit substrate.
The memory 22 may be provided in one single package and, in some embodiments, may be completely compatible with sockets or receivers traditionally used for mounting packaged non-volatile memory integrated circuits. The size of the packaged integrated circuit memory 22 and its pin configuration may be completely compatible with existing sockets and other devices that receive such devices. In some embodiments, the memory 22 may be used in place of conventional non-volatile memories in the same positions and locations and in the same way they are conventionally used, except that the memory 22 can initiate transactions.
The memory 22 may initiate transactions under control of the control 28 in one embodiment. The control 28 may issue requests or other transactions, including communications, through an interface 26 with a bus 24. In some embodiments, outgoing communications may be implemented through a separate pin connection on the external package. In other embodiments, a pin used for other purposes may also be used for such outgoing transactions. In some embodiments, the pin used for outgoing transactions may be bidirectional and may receive responses from the memory controller 20.
The non-volatile memory 22 that can initiate transactions may have a number of applications. One application is in connection with cellular phones where a small footprint and ability to do more functions may make the memory advantageous in many areas. Thus, in some cases, the non-volatile memory 22 may find particular applicability in connection with mobile devices, but its applicability is not so limited.
Generally, the memory 22 may initiate requests for information on its own initiative without waiting for polling or other outside stimulus. Likewise, the memory 22, in some embodiments, may also provide information to or through the memory controller upon its own initiative, without waiting for polling or other outside stimulus.
As an example, when the memory controller 20 accesses the memory 22 over a bus 24, the memory 22 on its own may ask for security information, such as a password or authentication. It may receive the password or authentication back from the memory controller, may compare the password or authentication data to information stored on the memory 22, for example, in the storage 30, and may decide whether or not to allow access to the memory. Thus, such a memory may have particular applications in secure information storage, including the storage of highly confidential data and in the storage of code and other information that hackers would like to compromise.
Similarly, the memory 22 can request the status information from the memory controller. For example, if the memory 22 knows that the memory controller is powered down, or that the memory controller has information that it will not use for a period of time, this information can be used by the memory 22 to decide to perform internal background or maintenance activities, such as wear leveling. In addition, the memory 22 may obtain information about the memory controller status in order to set the power consumption state of the memory 22.
Also, the memory 22 may request bus access from the memory controller 20 in order to initiate transactions with the rest of a processor-based system. This allows the memory to actively be involved in activities within the system. In some cases, tasks normally performed by the main or central processing unit of the processor-based system may be off loaded to the control 28. This may free the main or central processor to do other activities. It may also enable transferring activities from the memory controller 20 in some embodiments.
As still another example, the memory 22 may initiate transactions in order to self-configure itself. For example, the memory 22 may initiate transactions to cause the system to provide information to the memory 22 to facilitate such configuration. It may also obtain preference information from the system in order to configure the memory 22. The memory 22 may configure itself by setting partition sizes, ignoring requests to certain addresses, operating at different speeds or in different read modes, such as burst, page mode, or other modes, offer alternatives, or ask for synchronous speed information so that the memory either speeds up or slows down to either operate more quickly or to save power when operating speed is less important.
Thus, referring to
In some embodiments, the memory device 14 may receive inputs, as indicated by the arrow directed toward the non-volatile memory device 14, as is conventional in slave-type non-volatile memory devices. However, the non-volatile memory device 14 may also initiate transactions, as indicated by the outgoing arrow. These transactions may include data that is offered by the non-volatile memory without stimulus from the outside of the non-volatile memory device 14. It may also include alerts, as indicated in
In addition to having a direct access to the system controller 12, as indicated by
References throughout this specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one implementation encompassed within the present invention. Thus, appearances of the phrase “one embodiment” or “in an embodiment” are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be instituted in other suitable forms other than the particular embodiment illustrated and all such forms may be encompassed within the claims of the present application.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
Number | Name | Date | Kind |
---|---|---|---|
4709137 | Yoshida et al. | Nov 1987 | A |
5798507 | Kawagishi et al. | Aug 1998 | A |
5832286 | Yoshida | Nov 1998 | A |
6040997 | Estakhri | Mar 2000 | A |
6119200 | George | Sep 2000 | A |
6545891 | Tringali et al. | Apr 2003 | B1 |
6665803 | Lunsford et al. | Dec 2003 | B2 |
6859856 | Piau et al. | Feb 2005 | B2 |
8359654 | Rave et al. | Jan 2013 | B2 |
20020051394 | Tobita et al. | May 2002 | A1 |
20020159291 | Umemoto et al. | Oct 2002 | A1 |
20030061525 | Lunsford et al. | Mar 2003 | A1 |
20030079077 | Piau et al. | Apr 2003 | A1 |
20050046897 | Leason | Mar 2005 | A1 |
20050050283 | Miller et al. | Mar 2005 | A1 |
20050108297 | Rollin et al. | May 2005 | A1 |
20060116184 | Hayashi | Jun 2006 | A1 |
20060271760 | Nicolai | Nov 2006 | A1 |
20060289659 | Mizushima | Dec 2006 | A1 |
20070106842 | Conley et al. | May 2007 | A1 |
20090040842 | Sprouse et al. | Feb 2009 | A1 |
20090125664 | Ueyama | May 2009 | A1 |
20090172400 | Rave et al. | Jul 2009 | A1 |
20100185808 | Yu et al. | Jul 2010 | A1 |
20100205350 | Bryant-Rich | Aug 2010 | A1 |
Number | Date | Country |
---|---|---|
101142630 | Mar 2008 | CN |
0662674 | Jan 1995 | EP |
602237575 | Nov 1985 | JP |
03-014054 | Jan 1991 | JP |
H03-014054 | Jan 1991 | JP |
07-334407 | Dec 1995 | JP |
08069512 | Mar 1996 | JP |
08227444 | Sep 1996 | JP |
10-187898 | Jul 1998 | JP |
2002-366919 | Dec 2002 | JP |
2002366919 | Dec 2002 | JP |
2006-195719 | Jul 2006 | JP |
2006-195719 | Jul 2007 | JP |
2008-276790 | Nov 2008 | JP |
2008276790 | Nov 2008 | JP |
10-2003-0084037 | Nov 2003 | KR |
10-2006-0055541 | May 2006 | KR |
2006085323 | Jun 2006 | WO |
2006085324 | Aug 2006 | WO |
WO-2006085324 | Aug 2006 | WO |
WO2007085893 | Aug 2007 | WO |
Entry |
---|
Stanley et al. “On-The-Go Supplement to the USB 2.0 Specification.” Rev. 1.0. Dec. 2001. |
Korean Patent Office, Korean Office Action issued in corresponding KR Application No. 10-2009-121718, dated Mar. 14, 2011, 5 pgs. |
Chinese Patent Office, Chinese Office Action issued in corresponding CN Application No. 200910246794-9, dated Jun. 23, 2011, 13 pgs. |
Decision of Rejection issued Mar. 30, 2012 for CN Application No. 200910246794.9. |
Korean Office Action received for Korean Patent Application No. 10-2009-121718, dated Sep. 25, 2011, 2 pages. |
Final Rejection action received, dated Jul. 13, 2012 for Japanese Appln No. 2009-280323. |
Letter of Inquiry for Japanese Appl No. 2009-280323 dated Apr. 26, 2013. |
Office Action for JP Appl No. 2009-280323, dated Jan. 7, 2014. |
Office Action issued May 29, 2014 for Chinese Appln No. 200910246794.9. |
Number | Date | Country | |
---|---|---|---|
20100146233 A1 | Jun 2010 | US |