The exemplary and non-limiting embodiments of this invention relate generally to memory storage systems, methods, devices and computer programs and, more specifically, relate to mass memory devices, such as those containing non-volatile flash memory.
This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived, implemented or described. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
The following abbreviations that may be found in the specification and/or the drawing figures are defined as follows:
Various types of flash-based mass storage memories currently exist. A basic premise of mass storage memory is to hide the flash technology complexity from the host system. A technology such as eMMC is one example.
One non-limiting example of a flash memory controller construction is described in “A NAND Flash Memory Controller for SD/MMC Flash Memory Card”, Chuan-Sheng Lin and Lan-Rong Dung, IEEE Transactions of Magnetics, Vol. 43, No. 2, February 2007, pp. 933-935 (hereafter referred to as Lin et al.)
Reference may also be made to US Patent Application Publication 2008/0228984, Sep. 18, 2008, “Single-Chip Multi-Media Card/Secure Digital (MCC/SD) Controller Reading Power-On Boot Code from Integrated Flash Memory for User Storage”, I-Kang Yu et al. This publication describes another example of a flash controller where a Multi-Media Card/Secure Digital (MMC/SD) single-chip flash device contains a MMC/SD flash microcontroller and flash mass storage blocks containing flash memory arrays that are block-addressable rather than randomly-addressable. MMC/SD transactions from a host MMC/SD bus are read by a bus transceiver on the MMC/SD flash microcontroller. Various routines that execute on a CPU in the MMC/SD flash microcontroller are activated in response to commands in the MMC/SD transactions. A flash-memory controller in the MMC/SD flash microcontroller transfers data from the bus transceiver to the flash mass storage blocks for storage. Rather than booting from an internal ROM coupled to the CPU, a boot loader is transferred by direct memory access (DMA) from the first page of the flash mass storage block to an internal RAM. The flash memory is automatically read from the first page at power-on. The CPU then executes the boot loader from the internal RAM to load the control program. This approach is said to enable the microcontroller ROM to be eliminated or minimized.
Also of potential interest is an application note AN2539 “How to boot an embedded system from an eMMC™ equipped with a Microsoft FAT file system”, Numonyx B.V., November 2008. This application note in Appendix A provides an overview of eMMC, and in Appendix B provides an overview of FAT.
In a first aspect thereof the exemplary embodiments of this invention provide a method that comprises, in response to an allocation of read/write memory in a host device for use by a mass memory storage device, writing data from the mass memory storage device to the allocated read/write memory of the host device; and subsequently reading the data from the allocated memory to the mass memory storage device.
In another aspect thereof the exemplary embodiments of this invention provide an apparatus that comprises a controller; a volatile memory that is readable and writable by the controller; a non-volatile memory that is readable and writable by the controller; and an interface for connecting the apparatus to a host device. The controller is configurable to respond to an allocation of read/write memory in the host device to write data to the allocated memory of the host device, and to subsequently read the data from the allocated memory.
In another aspect thereof the exemplary embodiments of this invention provide a method that comprises allocating read/write memory in a host device for use by a mass memory storage device; receiving data from the mass memory storage device and writing the received data into the allocated read/write memory of the host device; and subsequently sending the data from the allocated memory to the mass memory storage device.
In a still further aspect thereof the exemplary embodiments of this invention provide an apparatus that comprises a controller; a memory that is readable and writable by the controller; and an interface for connecting the apparatus to a mass storage memory device. The controller is configurable to allocate a portion of the memory for use by the mass storage memory device. The controller is further configurable to receive data from the mass storage memory device and to store the received data in the allocated portion of the memory, and to subsequently send the data from the allocated portion of the memory to the mass storage memory device.
In the attached Drawing Figures:
At present, most mass storage memories provide LBA-based access, e.g., eMMC and different types of external memory cards such as SD. However, it may also be the case that the entire file system (FS) SW is embedded in the mass storage memory device.
When a mass storage memory is used in a high volume consumer device, such as a mobile wireless communication device, one important consideration is cost, and one factor affecting the cost is the amount of RAM in the mass storage memory device itself
Another important consideration is performance. The overall performance depends on many factors. For example, for lengthy (time consuming) operations (in particular if the mass storage memory device contains an entire file system SW) there would be an advantage to include a substantial amount of RAM in the mass storage memory device. However, this can have a negative impact on the cost.
It may be the case that system context (metadata) would be stored in the flash memory of the mass storage memory device. However, this approach has several associated disadvantages. For example, repeatedly writing the system context (metadata) to the mass storage memory device raises wearing issues that can impact the usable life of the mass storage memory device. Also, writing data to the flash memory can be a relatively slow process.
Another important consideration is the power efficiency. To provide good power efficiency the mass storage memories are preferably shutdown (powered-off) when not needed (meaning also that the internal RAM of the device is preferably shutdown as well). However, and assuming that the RAM is volatile in nature, then whatever data is stored in the RAM is lost when the power is removed from the RAM. To then perform re-initialization after power-up all needed information (e.g., logical-to-physical mapping information and/or file system structures) need to be restored. A full re-initialization of a LBA mass storage memory may require a substantial (and user-noticeable) amount of time (e.g., up to one second with an SD card), and entire file system initialization (if the file system is resident in the mass storage memory) may take even longer. Therefore, it is desirable to retain internal device context over the power-off/power-on cycle.
Before further describing the exemplary embodiments of this invention, reference is made to
The mass storage memory 20 includes a microcontroller or, more simply, a controller 22 that is connected via at least one internal bus 27 with a volatile RAM 24, a non-volatile mass memory 26 (e.g., a multi-gigabyte flash memory mass storage) and a MSMB interface (I/F) 28. The controller 22 operates in accordance with stored program instructions. The program instructions may be stored in the RAM 24 or in a ROM or in the mass memory 26. The mass storage memory 20 may be embodied as an MMC, eMMC or a SD device, as non-limiting examples, and may be external to (plugged into) the host device 10 or installed within the host device 10. Note that the mass memory 26 may, in some embodiments, store a file system (FS) 26A. In this case then the RAM 24 may store FS-related metadata 24A, such as one or more data structures comprised of bit maps, file allocation table data and/or other FS-associated information.
The exemplary embodiments of this invention provide a technique to share the RAM 14 of the host device 10 with the mass storage memory device 20. It may be assumed that the host device 10 (e.g., a mobile computer, a cellular phone, a digital camera, a gaming device, a PDA, etc.) has the capability to allocate and de-allocate the RAM 14. As will be discussed in further detail below, the allocation of the RAM 14 may be performed dynamically or it may be performed statically. The allocation of a portion of the RAM may be performed in response to a request received at the host device 10, or at the initiative of the host device 10.
In the exemplary embodiments of this invention the RAM 14 allocation is provided for the mass storage memory 20 (connected via the MSMB 18 to the host CPU 12), if the mass storage memory 20 has a need to extend its own RAM 24 space and/or if the mass storage memory 20 has a need for non-volatile RAM (the contents of which are not lost when the mass storage memory 20 is powered-off). It is also within the scope of the exemplary embodiments of this invention for the mass storage memory 20 to read and/or write (R/W) allocated RAM 14 in the host device 10. The allocation/de-allocation and R/W access methods may be implemented by extensions to a command set used to communicate with the mass storage memory 20 via an applicable mass storage memory protocol.
In accordance with certain exemplary embodiments of this invention the mass storage memory device 20 is provided with a mechanism to interrupt/send a message to host device 10 to initiate an allocation of space in the RAM 14. The interrupt/message is sent over the MSMB 18, and may be considered as an extension to current command sets. Referring to
It should be noted that in other exemplary embodiments of this invention the allocation of host RAM 14 may occur differently. For example, the host device 10 may allocate RAM 14 dynamically and pass a ‘pointer’ to the allocated RAM to the mass storage memory device 20. It is then up to the controller 22 of the mass storage memory device 20 how to utilize the allocated host RAM 14. Note that in this embodiment an explicit allocation request from the mass storage memory device 20 may not be sent to the host device 10. Instead, the host device 10 may on its own initiative allocate a portion of the RAM 14, such as when it first detects the presence of the mass memory storage device 20. Of course, subsequent signaling between the mass storage memory device 20 and the host device 10 may be used to change the size of the allocated RAM 14 if the initial allocation is not sufficient for the needs of the controller 22. As another example of RAM 14 allocation, a portion of the RAM 14 may be allocated by the host 10 in a static manner, and the mass storage memory device 20 then simply uses the same portion of the RAM 14 each time it needs to extend the RAM 24. In this case the mass storage memory device 20 may already have knowledge of the location/size of the allocated RAM 14, and a pointer is not needed to be sent from the host device 10.
Note that while it may typically be the case that the mass storage memory device 20 will receive an allocation of host memory to store contents of the volatile RAM 24, in general the allocation may be for storing data for any read/write memory contained within the mass storage memory device 20.
Within the sectional view of
Signals going to and from the camera 128 may pass through an image/video processor 44 that encodes and decodes the various image frames. A separate audio processor 46 may also be present controlling signals to and from the speakers 34 and the microphone 124. The graphical display interface 120 is refreshed from a frame memory 48 as controlled by a user interface chip 50 which may process signals to and from the display interface 20 and/or additionally process user inputs from the keypad 22 and elsewhere.
Certain embodiments of the UE 10 may also include one or more secondary radios such as a wireless local area network radio WLAN 37 and a Bluetooth7 radio 39, which may incorporate an antenna on the chip or be coupled to an antenna off the chip. Throughout the apparatus are various memories such as random access memory RAM 43, read only memory ROM 45, and in some embodiments removable memory such as the illustrated memory card 20 on which various programs 10C may be stored. All of these components within the UE 10 are normally powered by a portable power supply such as a battery 49.
The processors 38, 40, 42, 44, 46, 50, if embodied as separate entities in a UE 10, may operate in a slave relationship to the main processor (CPU) 12, which may then be in a master relationship to them. Certain embodiments may be disposed across various chips and memories as shown, or disposed within another processor that combines some of the functions described above for
In this exemplary embodiment the CPU 12 of the UE 10 (the host device) operates with the memory card 20 (the mass storage memory device) as described above with respect to
There are a number of technical effects that may be realized by the use of the exemplary embodiments of the invention. For example, there is provided a cost efficient way to extend RAM in the mass storage memory device 20. Further by example, the mass storage memory device 20 may be powered off, while retaining mass storage memory device information on the RAM 14 of the host system.
Based on the foregoing it should be apparent that the exemplary embodiments of this invention provide a method, apparatus and computer program(s) to extend the RAM of a mass storage memory device to include the RAM of an attached host device.
The various blocks shown in
In general, the various exemplary embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the exemplary embodiments of this invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof
It should thus be appreciated that at least some aspects of the exemplary embodiments of the inventions may be practiced in various components such as integrated circuit chips and modules, and that the exemplary embodiments of this invention may be realized in an apparatus that is embodied as an integrated circuit. The integrated circuit, or circuits, may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor or data processors, a digital signal processor or processors, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary embodiments of this invention.
Various modifications and adaptations to the foregoing exemplary embodiments of this invention may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings. However, any and all modifications will still fall within the scope of the non-limiting and exemplary embodiments of this invention.
It should be noted that the terms “connected,” “coupled,” or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and may encompass the presence of one or more intermediate elements between two elements that are “connected” or “coupled” together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As employed herein two elements may be considered to be “connected” or “coupled” together by the use of one or more wires, cables and/or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as several non-limiting and non-exhaustive examples.
Furthermore, some of the features of the various non-limiting and exemplary embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.
This patent application is a continuation of and claims priority to U.S. patent application Ser. No. 14/945,757, filed Nov. 19, 2015, which claims priority to U.S. patent application Ser. No. 14/520,030, filed Oct. 21, 2014, now U.S. Pat. No. 9,208,078 and issued Dec. 8, 2015, which claims priority to U.S. patent application Ser. No. 12/455,763, entitled “Apparatus and Method to Share Host System RAM with Mass Storage Memory RAM,” filed Jun. 4, 2009, now U.S. Pat. No. 8,874,824 and issued Oct. 28, 2014. The entire contents of U.S. utility patent application Ser. Nos. 14/945,757, 14/520,030, and 12/455,763, and U.S. Pat. Nos. 9,208,078 and 8,874,824 are fully incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5586291 | Lasker et al. | Dec 1996 | A |
5701516 | Cheng et al. | Dec 1997 | A |
5802069 | Coulson | Sep 1998 | A |
5809340 | Bertone et al. | Sep 1998 | A |
5924097 | Hill et al. | Jul 1999 | A |
6067300 | Baumert et al. | May 2000 | A |
6115785 | Estakhri et al. | Sep 2000 | A |
6480936 | Ban et al. | Nov 2002 | B1 |
6513094 | Magro | Jan 2003 | B1 |
6522586 | Wong | Feb 2003 | B2 |
6526472 | Suzuki | Feb 2003 | B2 |
6665747 | Nazari | Dec 2003 | B1 |
6785764 | Roohparvar | Aug 2004 | B1 |
6842829 | Nichols et al. | Jan 2005 | B1 |
7136963 | Ogawa et al. | Nov 2006 | B2 |
7181574 | Lele | Feb 2007 | B1 |
7321958 | Hofstee et al. | Jan 2008 | B2 |
7480749 | Danilak | Jan 2009 | B1 |
7571295 | Sakarda | Aug 2009 | B2 |
7697311 | Fukuda et al. | Apr 2010 | B2 |
7809962 | Chang et al. | Oct 2010 | B2 |
8190803 | Hobson et al. | May 2012 | B2 |
8218137 | Noh et al. | Jul 2012 | B2 |
8321713 | Nobunaga | Nov 2012 | B2 |
8514621 | Choi et al. | Aug 2013 | B2 |
8826051 | Wakrat et al. | Sep 2014 | B2 |
20020087817 | Tomaiuolo et al. | Jul 2002 | A1 |
20020093913 | Brown et al. | Jul 2002 | A1 |
20020108014 | Lasser | Aug 2002 | A1 |
20030028737 | Kaiya et al. | Feb 2003 | A1 |
20030137860 | Khatri | Jul 2003 | A1 |
20040010671 | Sampsa et al. | Jan 2004 | A1 |
20040049692 | Okamoto | Mar 2004 | A1 |
20040203670 | King et al. | Oct 2004 | A1 |
20040221124 | Beckert et al. | Nov 2004 | A1 |
20040230317 | Kumar et al. | Nov 2004 | A1 |
20050010738 | Stockdale et al. | Jan 2005 | A1 |
20050071570 | Takasugl et al. | Mar 2005 | A1 |
20050097280 | Hofstee et al. | May 2005 | A1 |
20050204113 | Harper et al. | Sep 2005 | A1 |
20060041888 | Radulescu et al. | Feb 2006 | A1 |
20060069899 | Schoinas et al. | Mar 2006 | A1 |
20060075147 | Schoinas et al. | Apr 2006 | A1 |
20060075395 | Lee et al. | Apr 2006 | A1 |
20060174056 | Lambert et al. | Aug 2006 | A1 |
20060179212 | Kim et al. | Aug 2006 | A1 |
20060184758 | Satori et al. | Aug 2006 | A1 |
20060224789 | Cho et al. | Oct 2006 | A1 |
20060280077 | Suwa | Dec 2006 | A1 |
20070088867 | Cho et al. | Apr 2007 | A1 |
20070207854 | Wolf et al. | Sep 2007 | A1 |
20070234006 | Radulescu et al. | Oct 2007 | A1 |
20070283078 | Li et al. | Dec 2007 | A1 |
20080080688 | Burgan et al. | Apr 2008 | A1 |
20080104291 | Hinchey | May 2008 | A1 |
20080126857 | Basham et al. | May 2008 | A1 |
20080127131 | Gao et al. | May 2008 | A1 |
20080162792 | Wu et al. | Jul 2008 | A1 |
20080183954 | Lee et al. | Jul 2008 | A1 |
20080189485 | Jung et al. | Aug 2008 | A1 |
20080228984 | Yu et al. | Sep 2008 | A1 |
20080244173 | Takai | Oct 2008 | A1 |
20080281944 | Vorne et al. | Nov 2008 | A1 |
20080282030 | Kalwitz et al. | Nov 2008 | A1 |
20080320211 | Kinoshita | Dec 2008 | A1 |
20090106503 | Lee et al. | Apr 2009 | A1 |
20090157950 | Selinger | Jun 2009 | A1 |
20090164705 | Gorobets | Jun 2009 | A1 |
20090182940 | Matsuda et al. | Jul 2009 | A1 |
20090182962 | Khmelnitsky | Jul 2009 | A1 |
20090198871 | Tzeng | Aug 2009 | A1 |
20090198872 | Tzeng | Aug 2009 | A1 |
20090210615 | Struk et al. | Aug 2009 | A1 |
20090216937 | Yasufuku | Aug 2009 | A1 |
20090222629 | Yano et al. | Sep 2009 | A1 |
20090307377 | Anderson et al. | Dec 2009 | A1 |
20090313420 | Wiesz et al. | Dec 2009 | A1 |
20090327584 | Tetrick et al. | Dec 2009 | A1 |
20100005281 | Buchmann et al. | Jan 2010 | A1 |
20100030961 | Ma et al. | Feb 2010 | A9 |
20100037012 | Yano et al. | Feb 2010 | A1 |
20100100648 | Madukkarumukumana et al. | Apr 2010 | A1 |
20100106886 | Marcu et al. | Apr 2010 | A1 |
20100106901 | Higeta et al. | Apr 2010 | A1 |
20100115193 | Manus et al. | May 2010 | A1 |
20100161882 | Stern et al. | Jun 2010 | A1 |
20100169558 | Honda et al. | Jul 2010 | A1 |
20100169604 | Trika et al. | Jul 2010 | A1 |
20100172180 | Paley et al. | Jul 2010 | A1 |
20100250836 | Sokolov et al. | Sep 2010 | A1 |
20100268928 | Wang et al. | Oct 2010 | A1 |
20100293420 | Kapil et al. | Nov 2010 | A1 |
20100312947 | Luukkainen et al. | Dec 2010 | A1 |
20110082967 | Deshkar et al. | Apr 2011 | A1 |
20110087804 | Okaue et al. | Apr 2011 | A1 |
20110099326 | Jung et al. | Apr 2011 | A1 |
20110145537 | Feldman et al. | Jun 2011 | A1 |
20110208914 | Winokur et al. | Aug 2011 | A1 |
20110264860 | Hooker et al. | Oct 2011 | A1 |
20110296088 | Duzly et al. | Dec 2011 | A1 |
20120079171 | Ju et al. | Mar 2012 | A1 |
20120102268 | Smith et al. | Apr 2012 | A1 |
20120131263 | Yeh | May 2012 | A1 |
20120131269 | Fisher et al. | May 2012 | A1 |
20120210326 | Torr et al. | Aug 2012 | A1 |
20130007348 | Fai et al. | Jan 2013 | A1 |
20130138840 | Kegel et al. | May 2013 | A1 |
20130145055 | Kegel et al. | Jun 2013 | A1 |
20130282957 | Mylly | Oct 2013 | A1 |
20130332691 | Hyvonen et al. | Dec 2013 | A1 |
20130339635 | Amit et al. | Dec 2013 | A1 |
20130346668 | Floman et al. | Dec 2013 | A1 |
20140188719 | Poornachandran et al. | Jul 2014 | A1 |
20160062659 | Floman et al. | Mar 2016 | A1 |
20160357436 | Hyvonen et al. | Dec 2016 | A1 |
20170038975 | Mylly et al. | Feb 2017 | A1 |
Number | Date | Country |
---|---|---|
2005200855 | Sep 2004 | AU |
1762025 | Apr 2006 | CN |
101329654 | Dec 2008 | CN |
101887350 | Nov 2010 | CN |
101937318 | Jan 2011 | CN |
101952808 | Jan 2011 | CN |
0481716 | Apr 1992 | EP |
1091283 | Apr 2001 | EP |
1094392 | Apr 2001 | EP |
1763036 | Mar 2007 | EP |
59135563 | Aug 1984 | JP |
0268671 | Mar 1990 | JP |
H02068671 | Mar 1990 | JP |
06124596 | May 1994 | JP |
H06236681 | Aug 1994 | JP |
10228413 | Aug 1998 | JP |
H10240607 | Sep 1998 | JP |
11143643 | May 1999 | JP |
2000003309 | Jan 2000 | JP |
2000057039 | Feb 2000 | JP |
2000067584 | Mar 2000 | JP |
2002108691 | Apr 2002 | JP |
2002259322 | Sep 2002 | JP |
2002351741 | Dec 2002 | JP |
2003015949 | Jan 2003 | JP |
2003150445 | May 2003 | JP |
2004021669 | Jan 2004 | JP |
2006011818 | Jan 2006 | JP |
2006195569 | Jul 2006 | JP |
2006221627 | Aug 2006 | JP |
2006520958 | Sep 2006 | JP |
2007079724 | Mar 2007 | JP |
2007115382 | May 2007 | JP |
2007518166 | Jul 2007 | JP |
2007220210 | Aug 2007 | JP |
2011022657 | Feb 2011 | JP |
2011028537 | Feb 2011 | JP |
2011086064 | Apr 2011 | JP |
2011238175 | Nov 2011 | JP |
2013109419 | Jun 2013 | JP |
20060082040 | Jul 2006 | KR |
200701233 | Jan 2007 | TW |
201135746 | Oct 2011 | TW |
201209831 | Mar 2012 | TW |
201214446 | Apr 2012 | TW |
WO9965193 | Dec 1999 | WO |
WO2004084231 | Sep 2004 | WO |
WO2005088468 | Jun 2005 | WO |
WO2005066773 | Jul 2005 | WO |
WO2012021380 | Feb 2012 | WO |
Entry |
---|
International Search Report for PCT Application No. PCT/FI2009/050083 dated Jun. 3, 2009, 4 pages. |
Tanenbaum, “Structured Computer Organization”, Prentice-Hall, Inc, 1984, 5 pages. |
U.S. Appl. No. 13/358,806, filed Jan. 26, 2012, Mylly, et al., “Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System,” 45 pages. |
Apostolakis, et al., “Software-Based Self Testing of Symmetric Shared-Memory Multiprocessors”, IEEE Transactions on Computers, vol. 58, No. 12, Dec. 2009, 13 pages. |
The Chinese Office Action dated Dec. 19, 2013 for Chinese patent application No. 200980106241.1, a counterpart foreign application of U.S. Pat. No. 8,307,180, 3 pages. |
Translated Chinese Office Action dated Mar. 28, 2016 for Chinese Patent Application No. 201380006769.8, a counterpart foreign application of U.S. Appl. No. 13/358,806, 36 pages. |
The Chinese Office Action dated Apr. 1, 2016 for Chinese Patent Application No. 201310136995.X, a counterpart foreign application of U.S. Appl. No. 13/451,951, 8 pages. |
The Chinese Office Action dated Apr. 9, 2013 for Chinese patent application No. 200980106241.1, a counterpart foreign application of U.S. Pat. No. 8,307,180, 4 pages. |
Translated Chinese Office Action dated Jul. 17, 2015 for Chinese patent application No. 201310136995.X, a counterpart foreign application of U.S. Appl. No. 13/451,951, 28 pages. |
“Embedded MultiMediaCard (eMMC) Mechanical Standard”, JESD84-C43, JEDEC Standard, JEDEC Solid State Technology Association, Jun. 2007, 13 pages. |
European Search Report for Application No. 09715221.9, dated Oct. 25, 2011, 30 pages. |
The Extended European Search Report dated Aug. 31, 2015 for European patent application No. 13741595.6, 8 pages. |
“How to Boot an Embedded System for an eMMC Equipped with a Microsoft FAT File System”, AN2539 Numonyx Application Note, Nov. 2008, 25 pages. |
JEDEC Standard, “Embedded MultiMediaCard (eMMC) Product Standard, High Capacity,” JESD84-A42, Jun. 2007, 29 pages. |
JEDEC Standard, “Embedded ZmultiMediaCard(eMMC) eMMC/Card Product Standard, high Capacity, Including Reliable Write, Boot, and Sleep Modes,” (MMCA, 4.3), JSEDD84-A43, Nov. 2007, 166 pages. |
JEDEC Standard, “Embedded MultiMediaCard (eMMC) Mechanical Standard,” JESD84-C43, Jun. 2007, 13 pages. |
Translated Japanese Office Action dated Jan. 16, 2013 for Japanese patent application No. 2010548134, a counterpart foreign application of U.S. Pat. No. 8,307,180, 6 pages. |
Translated Japanese Office Action dated Jan. 7, 2015 for Japanese patent application No. 2013-103695, a counterpart foreign application of U.S. Pat. No. 8,307,180, 8 pages. |
Translated Japanese Office Action dated Nov. 25, 2013 for Japanese patent application No. 2013-103695, a counterpart foreign application of U.S. Pat. No. 8,307,180, 8 pages. |
Translated Japanese Office Action dated Dec. 14, 2015 for Japanese patent application No. 2013-103695, a counterpart foreign application of U.S. Pat. No. 8,307,180, 4 pages. |
Translated Japanese Office Action dated Jun. 30, 2016 for Japanese Patent Application No. 2015-099731, a counterpart foreign application of U.S. Pat. No. 8,307,180, 9 pages. |
The Japanese Office Action dated Aug. 27, 2013 for Japanese patent application No. 2010548134, a counterparf foreign application of U.S. Pat. No. 8,307,180, 4 pages. |
Japanese Search Report for Application No. 2010-548134, dated May 10, 2012, 11 pages. |
Translated Korean Office Action dated Mar. 3, 2014 for Korean patent application No. 2013-7002338, a counterpart foreign application of U.S. Pat. No. 8,307,180, 5 pages. |
Office Action for Korean Patent Application No. 10-2010-7021534, dated Sep. 30, 2011, 3 pages. |
Li, et al., “A Method for Improving Concurrent Write Performance by Dynamic Mapping Virtual Storage System Combined with Cache Management”, 2011 IEEE 7th International Conference of Parallel Distributed System, Dec. 7-8, 2011, 10 pages. |
Lin et al., “A NAND Flash Memory Controller for SDIMMC Flash Memory Card,” IEEE Dec. 2006, pp. 933-935. |
Numonyz, “How to boot an embedded system from an eMMCTM equipped with a Microsoft FAT file system.” Application note AN2539, Nov. 2008, pp. 1-25. |
Final Office Action for U.S. Appl. No. 13/527,745, dated Jan. 16, 2015, Matti Floman, “Virtual Memory Module”, 22 pages. |
Office action for U.S. Appl. No. 14/945,757, dated Jan. 21, 2016, Luukkainen et al., “Apparatus and Method to Share Host System RAM with Mass Storage Memory RAM”, 16 pages. |
Office Action for U.S. Appl. No. 13/451,951, dated Jan. 7, 2014, Kimmo J. Mylly, “Managing Operational State Data in Memory Module”, 24 pages. |
Office Action for U.S. Appl. No. 13/951,169, dated Oct. 8, 2013, Jani Hyvonen, “Extended Utilization Area for a Memory Device”, 9 pages. |
Office Action for U.S. Appl. No. 13/358,806, dated Nov. 27, 2013, Kimmo J. Mylly, “Apparatus and Method to Provide Cache Move With Non-Volatile Mass Memory System”, 26 pages. |
Office action for U.S. Appl. No. 13/358,806, dated Nov. 6, 2015, Mylly et al., “Apparatus and Method to Provide Cache Move With Non-Volatile Mass Memory System”, 44 pages. |
Non-Final Office Action for U.S. Appl. No. 14/863,253, dated Dec. 21, 2015, Matti Floman, “Virtual Memory Module”, 15 pages. |
Final Office Action for U.S. Appl. No. 13/451,951, dated Dec. 4, 2014, Kimmo J. Mylly, “Managing Operational State Data of a Memory Module Using Host Memory in Association with State Change”, 24 pages. |
Office Action for U.S. Appl. No. 14/520,030, dated Dec. 4, 2014, Olli Luukkainen, “Apparatus and Method to Share Host System RAM with Mass Storage Memory RAM”, 6 pages. |
Office Action for U.S. Appl. No. 13/596,480, dated Mar. 13, 2014, Kimmo J. Mylly, “Dynamic Central Cache Memory”, 15 pages. |
Final Office Action for U.S. Appl. No. 13/951,169, dated Mar. 27, 2014, Jani Hyvonen, “Extended Utilization Area for a Memory Device”, 10 pages. |
Office Action for U.S. Appl. No. 13/358,806, dated Apr. 30, 2015, Kimmo J. Mylly, “Apparatus and Method to Provide Cache Move With Non-Volatile Mass Memory System”, 42 pages. |
Final Office Action for U.S. Appl. No. 14/520,030, dated May 20, 2015, Olli Luukkaninen, “Apparatus and Method to Share Host System RAM with Mass Storage Memory RAM”, 6 pages. |
Office Action for U.S. Appl. No. 13/451,951 dated Jun. 18, 2015, Kimmo J. Mylly, “Managing Operational State Data of a Memory Module Using Host Memory in Association with State Change”, 33 pages. |
Office action for U.S. Appl. No. 13/527,745, dated Jun. 23, 2014, Floman et al., “Virtual Memory Module”, 13 pages. |
Office Action for U.S. Appl. No. 14/732,507, dated Jul. 1, 2015, Jani Hyvonen, “Extended Utilization Area for a Memory Device”, 11 pages. |
Office action for U.S. Appl. No. 14/945,757, dated Jul. 28, 2016, Luukkainen et al., “Apparatus and Method to Share Host System RAM with Mass Storage Memory RAM”, 5 pages. |
Final Office Action for U.S. Appl. No. 13/358,806, dated Sep. 10, 2014, Kimmo J. Mylly, “Apparatus and Method to Provide Cache Move With Non-Volatile Mass Memory System”, 27 pages. |
Office action for U.S. Appl. No. 14/732,507, dated Dec. 10, 2015, Hyvonen et al., “Extended Utilization Area for a Memory Device”, 9 pages. |
“PCI Local Bus Specification Revision 3.0”, PCI-SGI, Feb. 3, 2004, 344 pages, pp. 238-246. |
The PCT Search Report dated Feb. 25, 2015 for PCT application No. PCT/US2014/069616, 10 pgs. |
The PCT Search Report and Written Opinion dated Mar. 6, 2014 for PCT application No. PCT/US13/56980, 11 pages. |
The PCT Search Report and Written Opinion dated Apr. 16, 2014 for PCT application No. PCT/US13/49434, 8 pages. |
The PCT Search Report and Written Opinion dated Sep. 5, 2013 for PCT application No. PCT/US13/37298, 9 pages. |
Office action forOffice action for U.S. Appl. No. 14/566,547, dated Nov. 4, 2016, Mylly, “Unified Memory Type Aware Storage Module”, 14 pages. |
The Taiwanese Office Action dated Oct. 6, 2016 for Taiwanese Patent Application No. 102114073, a counterpart foreign application of U.S. Pat. No. 9,311,226, 6 pgs. |
The Japanese Office Action dated Dec. 20, 2016 for Japanese Patent Application No. 2014-553773, a counterpart foreign application of U.S. Pat. No. 9,417,998. |
Translation of the Chinese Office Action dated Jun. 20, 2017 for Chinese Patent Application No. 201380006769.8, a counterpart foreign application of U.S. Pat. No. 9,417,998, 8 pgs. |
The European Office Action dated Jul. 5, 2017 for European patent application No. 09715221.9, a counterpart foreitgn application of U.S. Pat. No. 8,307,180, 6 pages. |
The Chinese Office Action dated Apr. 21, 2017 for Chinese Patent Application No. 201510093389.3, a counterpart foreign application of U.S. Pat. No. 8,307,180. |
Translated Japanese Office Action dated Apr. 21, 2017 for Japanese patent application No. 2015-099731, a counterpart foreign application of U.S. Pat. No. 8,307,180, 6 pages. |
Office action for U.S. Appl. No. 15/181,293, dated Oct. 5, 2017, Hyvonen et al., “Extended Utilization Area for a Memory Device”, 7 pages. |
Office Action for U.S. Patent Application, dated Aug. 23, 2017, Mylly, “Managing Operational State Data in Memory Module”, 10 pages. |
The Taiwanese Office Action dated Aug. 11, 2017 for Taiwanese patent application No. 106101747, a counterpart foreign application of U.S. Pat. No. 9,311,226. |
Chinese Office Action dated Dec. 15, 2017 for Chinese Patent Application No. 201510093389.3, a counterpart foreign application of U.S. Pat. No. 8,307,180, 6 pgs. |
Taiwanese Office Action dated Jan. 18, 2018 for Taiwanese Patent Application No. 106101747, a counterpart foreign application of U.S. Pat. No. 9,311,226, 4 pgs. |
Number | Date | Country | |
---|---|---|---|
20170046067 A1 | Feb 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14945757 | Nov 2015 | US |
Child | 15335688 | US | |
Parent | 14520030 | Oct 2014 | US |
Child | 14945757 | US | |
Parent | 12455763 | Jun 2009 | US |
Child | 14520030 | US |