Managing operational state data in memory module

Information

  • Patent Grant
  • 11782647
  • Patent Number
    11,782,647
  • Date Filed
    Wednesday, December 29, 2021
    2 years ago
  • Date Issued
    Tuesday, October 10, 2023
    a year ago
Abstract
The specification and drawings present a new apparatus and method for managing/configuring by the memory module controller storing operational state data for operating the memory module controller into an extended random access memory comprised in a memory module and in a host system memory of a host device during various operational modes/conditions of the memory module and the host system memory. Essentially, the memory module controller operated as a master for the data transfers as described herein. The operational state data typically comprises state information, a logical to physical (L2P) mapping table and register settings.
Description
TECHNICAL FIELD

The exemplary and non-limiting embodiments of this invention relate generally to memory storage systems, and, more specifically, relate to managing/configuring by a memory module controller storing operational state data for a memory module.


BACKGROUND

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:

    • ASIC application specific integrated circuit
    • CPU central processing unit
    • DMA direct memory access
    • DRAM dynamic random access memory
    • eMMC embedded multimedia card
    • exFAT extended file allocation table
    • HW hardware
    • IO input output
    • JEDEC joint electron device engineering council
    • LBA logical block address
    • MMM, MM mass memory module or memory module
    • MMC multi media card
    • MMCO memory module controller
    • MRAM magnetic random access memory
    • OS operations system
    • P2L physical to logical
    • PCRAM phase change random access memory
    • RAM random access memory
    • RRAM resistive random access memory
    • SATAIO serial advanced technology attachment international organization
    • SCSI small computer system interface
    • SD secure digital
    • SM system memory or host system memory
    • SRAM static random access memory
    • SSD solid state drive
    • SW software
    • UFS universal flash storage


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. A managedNAND type of memory can be, for example, an eMMC, SSD, UFS or a microSD.



FIG. 1A reproduces FIG. 2 from JEDEC Standard, Embedded MultiMediaCard (eMMC) Product Standard, High Capacity, JESD84-A42, June 2007, JEDEC Solid State Technology Association, and shows a functional block diagram of an eMMC. The JEDEC eMMC includes, in addition to the flash memory itself, an intelligent on-board controller that manages the MMC communication protocol. The controller also handles block-management functions such as logical block allocation and wear leveling. The interface includes a clock (CLK) input. Also included is a command (CMD), which is a bidirectional command channel used for device initialization and command transfers. Commands are sent from a bus master to the device, and responses are sent from the device to the host. Also included is a bidirectional data bus (DAT[7:0]). The DAT signals operate in push-pull mode. By default, after power-up or RESET, only DAT0 is used for data transfer. The memory controller can configure a wider data bus for data transfer using either DAT[3:0] (4-bit mode) or DAT[7:0] (8-bit mode).


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.) FIG. 1B reproduces FIG. 1 of Lin et al., and shows an overall block diagram of the NAND flash controller architecture for a SD/MMC card. The particular controller illustrated happens to use a w-bit parallel Bose-Chaudhuri-Hocquengham (BCH) error-correction code (ECC) designed to correct random bit errors of the flash memory, in conjunction with a code-banking mechanism.


SUMMARY

According to a first aspect of the invention, a method, comprising: dynamically managing, by a memory module controller of a mass memory module, storage of all or a portion of operational state data for operating the memory module controller into an extended random access memory comprised in a memory of the mass memory module and in a host system memory of a host device; and reading, by the memory module controller after waking up from a shut down or a sleep state of the mass memory module, at least a part of the operational state data from one or more of: the extended random access memory and a non-volatile mass memory to restore an operational state of the memory module controller.


According to a second aspect of the invention, an apparatus, comprising: a mass memory module comprising an extended random access memory together with a portion of a host system memory in a host device; and a memory module controller configured to dynamically manage storage of all or a portion of operational state data for operating the memory module controller into an extended random access memory comprised in a memory of the mass memory module and in the host system memory of the host device, and further configured to read, after waking up from a shut down or a sleep state of the mass memory module, a part of the operational state data from one or more of: the extended random access memory and a non-volatile mass memory of the mass memory module to restore an operational state of the memory module controller.





BRIEF DESCRIPTION OF THE DRAWINGS

In the attached Drawing Figures:



FIG. 1A reproduces FIG. 2 from JEDEC Standard, Embedded MultiMediaCard (eMMC) Product Standard, High Capacity, JESD84-A42, June 2007, JEDEC Solid State Technology Association, and shows a functional block diagram of an eMMC;



FIG. 1B reproduces FIG. 1 of Lin et al., and shows an example of an overall block diagram of a NAND flash controller architecture for a SD/MMC card;



FIG. 2 is a simplified block diagram of a host device connected with a mass storage memory device, and is helpful in describing the exemplary embodiments of the invention;



FIG. 3 is a signal/message flow diagram that describes an embodiment of the invention described in commonly-assigned U.S. patent application Ser. No. 12/455,763, where the mass storage memory device of FIG. 2 can allocate, use and de-allocate RAM of the host device;



FIG. 4 is a signal/message flow diagram that describes another embodiment of the invention described in commonly-assigned U.S. patent application Ser. No. 12/455,763, where the mass storage memory device of FIG. 2 has a built-in file system;



FIGS. 5A and 5B, collectively referred to as FIG. 5, are representations of the host device and mass memory module in accordance with embodiments of the invention;



FIG. 6 is a logic flow diagram that illustrates the operation of a method, and a result of execution of computer program instructions embodied on a computer readable memory, further in accordance with the exemplary embodiments of this invention;



FIGS. 7A and 7B are examples of memory maps of the memory module controller in the memory module when utilization of system resources such as the portion DRAM 14G is disabled (FIG. 7A) or enabled (FIG. 7b);



FIG. 8 is a diagram demonstrating embodiments shown in the flow chart in FIG. 6 relating to responding by a memory module controller to a command (or an attribute in the command) from a host device; and



FIG. 9 shows a block diagram of one exemplary embodiment of the host device when embodied as a wireless communication device.





DETAILED DESCRIPTION

Of interest to the ensuing description of the exemplary embodiments of this invention is commonly-assigned U.S. patent application Ser. No. 12/455,763, filed Jun. 4, 2009, “Apparatus and Method to Share Host System RAM with Mass Storage Memory RAM”, Olli Luukkainen, Kimmo Mylly and Jani Hyvonen (US 2010/0312947 A1), incorporated by reference herein. Before describing in detail the exemplary embodiments of this invention it will be useful to review at least a portion of the description of this commonly-assigned U.S. patent application Ser. No. 12/455,763.


As is stated, 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.



FIG. 2 shows a simplified block diagram of a host system or device 10 connected with a mass storage memory 20 via a mass storage memory bus (MSMB) 18. The MSMB 18 may be compatible with any suitable mass memory interface standard such as MMC or UFS, as two non-limiting examples. The MSMB 18 may include signal lines such as those shown in FIG. 1A for an eMMC embodiment. The host device 10 includes at least one controller, such as a CPU 12 that operates in accordance with stored program instructions. The program instructions may be stored in a RAM 14 or in another memory or memories. The CPU 12 is connected with the RAM 14 and a MSMB interface (I/F) 16 via at least one internal bus 17. The MSMB interface 16 may include a memory controller (MC), or may be coupled with a MC unit associated with the CPU 12. The host device 10 may be a computer, a cellular phone, a digital camera, a gaming device or a PDA, as several non-limiting examples. Note that the RAM 14 may be any read/write memory or memory device, such as semiconductor memory or a disk-based memory.


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, UFS 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 embodiments of the invention described in commonly-assigned U.S. patent application Ser. No. 12/455,763 provide a technique to share the RAM 14 of the host device 10 with the mass storage memory device 20. It can 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. 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 embodiments of the invention described in commonly-assigned U.S. patent application Ser. No. 12/455,763 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). The mass storage memory 20 can also read and/or write (R/W) allocated RAM 14 in the host device 10. The allocation/de-allocation and R/W access methods can 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 embodiments of the invention described in commonly-assigned U.S. patent application Ser. No. 12/455,763 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 FIG. 3, an allocate memory command is sent during operation 3-1. If the allocation request succeeds (indicated during operation 3-2) the controller 22 is enabled to extend its own RAM 24 with the RAM 14 of the host device 10. The mass storage memory device 20 may store, for example, large tables into the RAM 14 using a RAM WRITE command or it may fetch data from the host device RAM 14 using a RAM READ command. The read or write operation is shown as interleaved operations 3-3, 3-4, 3-5, 3-6, . . . , 3-(N−1), 3-N. When the mass storage memory device 20 completes the operation with the RAM 14 it may free the host device RAM 14 using another command that requests that the host 10 RAM memory be de-allocated (operation 3-(N+1)).



FIG. 4 illustrates a further exemplary embodiment described in commonly-assigned U.S. patent application Ser. No. 12/455,763 that utilizes the host system RAM 14 for the mass storage memory 26 having a built-in file system, such as the FS 26A shown in FIG. 2. First the host system 10 sends a SHUTDOWN command to the mass storage memory device 20 (operation 4-1). Next the mass storage memory device 20 allocates RAM 14 from the host 10 and then loads (stores using a RAM WRITE command) all vital ‘static’ file system-related data (meta-data 24A) into host RAM 14 (operation 4-2). ‘Static’ data in this context may be, for example, various bitmaps, such as an allocation bitmap in the exFAT or ext3 file systems. This data may be processed (e.g., at least one of sorted, arranged and filtered) by the CPU 12 (controller) of the host device, and may include data from a large number of sectors in the mass storage memory 26. Mass memory storage device 20 may then send a shutdown OK indication (operation 4-3). The host 10 can remove power from the mass memory storage device 20, and the device 20 may be physically removed from the MSMB 18. Re-initialization (operations 4-4, 4-5, 4-6) of the mass storage memory device 20 is performed when host device 10 needs to get/put certain data from or into the mass storage memory device 20. Re-initialization of the mass storage memory 26 (and the file system 26A) may be sped up by using the sorted/arranged/filtered read data from the RAM 14. When the re-initialization operation is completed the mass storage memory device 20 may de-allocate the used RAM 14 in the host device 10, or the RAM 14 may not be de-allocated thereby reserving the RAM space for future use by the mass storage memory device 20.


The allocation of host RAM 14 may occur differently in some embodiments. 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.


Having thus provided an overview of various non-limiting and exemplary embodiments of the invention described in the commonly-assigned U.S. patent application Ser. No. 12/455,763, a description is now made of the exemplary embodiments of this invention. In a managedNAND memory (e.g., eMMC, SSD, UFS, microSD) the memory controller (such as the controller 22 shown in FIG. 2) takes care of the flash management functions such as bad block management and wear leveling. In a typical low cost implementation there is only a small input/output (IO) buffer SRAM in the managedNAND. Embedded in the controller in higher end managed NANDs such as SSDs there may be tens to hundreds of megabits of discrete DRAM as cache. In the future some new memory technologies such as MRAM could serve as very fast non-volatile cache also.


The embedded memory in the controller is not sufficient enough to store all the run time data needed by the module and thus some portion of the run time data is stored/mirrored in non-volatile memory (e.g. NAND) of the module. This is also necessary to avoid loss of (operation) data in case of sudden power down. The non-volatile mass memory, such as NAND, is very slow for storing/reading such data, if compared to typical volatile/non-volatile execution memories like SRAM/DRAM/MRAM. This causes delay to operation of the memory module. For example, after power up the whole mass memory subsystem needs to be re-initialized from NAND and this may take time up to is (e.g. eMMC, SD, SATAIO devices).


Reference can be made to FIG. 5 where those components described in reference to FIG. 2 are numbered accordingly. In FIGS. 5A and 5B a portion 14G of the system RAM (e.g., DRAM) 14 is allocated for use by the mass memory module 20 (described here in a non-limiting embodiment as a UFS memory module or a memory module). The host device 10 includes an application processor that can be embodied as the CPU 12. Included with or coupled to the application processor 12 may be a DRAM controller 11 for the DRAM 14. Also present is the above-mentioned mass memory module 20 (e.g., UFS) host controller 13. The host controller 13 can be embodied as the CPU 12 or it can be embodied as a separate device. The mass memory module (MMM) 20 (which is also called herein a memory module, MM, 20) may be connected to the host device through an interface 22a, e.g., via a bus (e.g., like the mass storage memory bus 18 shown in FIG. 2) Also the memory module 20 can be a part of the host device 10 as shown in FIG. 5a or it may be a separate device as shown in FIG. 2.


Furthermore, the memory module 20 may comprise a non-volatile memory (e.g., NAND) 26 (or mass memory) with a portion 26A allocated for the memory controller and a memory controller 22 with an SRAM 24. For the purpose of this invention, the SRAM 24 and a portion 14G of the system DRAM 14 may be considered as an extended random access memory. It should be noted that an execution memory 24 of the memory controller 22 and/or the host system memory 14 could be a non-volatile memory such as MRAM, PCRAM and/or RRAM.



FIG. 5B shows that the system DRAM 14 stores an operating system (OS) 14a and application programs (applications) 14b. The system DRAM 14 also typically stores a file system cache 14c associated with a file system (part of the OS). In the embodiment of FIG. 5B a portion of the system DRAM 14 is allocated as a transfer buffer 14d. Another portion of the system DRAM 14 is allocated to store an access list 14F. Also included is the DRAM portion 14G that is allocated for the memory module 20, and into which the operation state data can be moved for the memory module 20.


The commonly-assigned U.S. patent application Ser. No. 12/455,763 further describes enabling the memory module to utilize the system DRAM to store data to and read data from (e.g., see FIGS. 3-4 above). This could be further utilized in embodiments described herein to enable the mass storage memory module, for example, to store its state into the system DRAM, then go to sleep/power down and after wake up/power up read back quickly the previous state. In a managed NAND environment this storing and reading of the state of operation could be taken care by the mass memory module 20 itself and in particular by the memory module controller 22, rather than by the host device 10 as the memory module itself knows best which data is needed to be stored and which portion of the run time data is allowed to be lost, e.g., during power down.


A new method and apparatus are presented for managing/configuring by the memory module controller (e.g., memory module controller 22 shown in FIG. 5a) storing operational state data for operating the memory module controller into extended random access memory comprised in a memory module and host system memory (e.g., DRAM 14) during various operational modes/conditions of the memory module 20 and the host system memory (e.g., the DRAM 14). Essentially, the memory module controller operated as a master for the data transfers as described herein. The operational state data typically comprises one or more of state information, a logical to physical (L2P) mapping table and register settings.


The memory module controller, after waking up from a shut down or a sleep state of the mass memory module, can read at least a part of the operational state data from the extended random access memory and/or from a non-volatile mass memory to restore an operational state of the memory module controller. The reading can be based on settings of the mass memory module or based on a command or an attribute of a command from the host device which can override the settings of the mass memory module. Alternatively, the setting can override the command or the attribute from the host device.


The settings of the mass memory module may be registers settings visible also outside (e.g., access to DRAM disabled/enabled) or internal settings visible only to the memory module controller, e.g., information from which source (extended random access memory or flash memory) it would be most efficient to load the operational state data.


It is also noted that a command/attribute from the host (at an initialization phase) may override above mentioned internal settings in the mass memory module, for example, by denying access to DRAM in the host device (compromised data case) or alternatively the command may indicate that the mass memory module is free to initialize from any source.


Furthermore, the operational state data may be divided at least into high priority data (e.g., at least state information and possibly some L2L mapping table) and low priority data (e.g., register settings), so that the high priority data is stored in the DRAM portion 14G of the extended random access memory. But more than two priority levels can be used as well for classifying the operational state data, e.g. lowest priority data may be stored in the portion 26A of the non-volatile memory.


The fundamental principle for such data transfers is based on utilizing fast extended random access memory both in the memory module 20 and in a host system memory (DRAM portion 14G) of the host device 10 whenever possible over relatively slow non-volatile memory 26. This can gain an advantage for faster waking up and saving power as the memory module can be powered down more often.



FIG. 6 shows a logic flow diagram that illustrates the operation of a method, and a result of execution of computer program instructions embodied on a computer readable memory, further in accordance with the exemplary embodiments of the invention as described herein. It is noted that the order of steps shown in FIG. 6 is not absolutely required, so in principle, the various steps may be performed out of the illustrated order. Also certain steps may be skipped, different steps may be added or substituted, or selected steps or groups of steps may be performed in a separate application.


In a method according to the exemplary embodiments, as shown in FIG. 6, in a first step 70, a memory module controller (MMCO), e.g., the memory module controller 22, dynamically manages/configures storing operational state data for operating the MMCO into one or more of: an extended random access memory (ERAM) comprised in both the memory module (MM) 20 (e.g., SRAM 24) and a host system memory (or system memory, SM) 14 (e.g., a dedicated portion 14G), and in a non-volatile memory (e.g., a dedicated portion 26A of the NAND memory 26 in the MM 20). For example, if both the MM and the SM are enabled to operate in a normal condition, the storing can be configured based on predefined rules. The important (high priority) data like the state information, and all or partial logical to physical (L2P) mapping tables may be stored (written) into DRAM portion 14G of ERAM and lower priority data into SRAM 24 portion of ERAM, but the lowest priority data (e.g., register settings) may be stored in the non-volatile memory 26 (e.g., in the portion 26A). Some of the high priority data of the operational state data may be also stored in the non-volatile memory 26 (and possibly in the SRAM 22) as a duplicate of the data stored in the DRAM portion 14G. Moreover, this storing arrangement of both MM 20 and SM 14 may be configured by the MMCO 22 automatically using a predetermined default arrangement.


Furthermore, the flow chart in FIG. 6 shows 3 scenarios, which may trigger reconfiguring by the MMCO 22 the storing arrangement established in step 70.


In one scenario, in step 71, the memory module 20 is to be disabled, e.g., going to shut down or sleep. In other words, the memory module can receive at least one of the following indications: power down indication or go to sleep/dormant mode command/state change from the host device, or automatically go to sleep/dormant mode after some defined timeout in the memory module.


In a next step 72, the MMCO reconfigures storing the operational state data in the SM (DRAM portion 14G) and possibly in the non-volatile memory (NAND 26) of the MM 20. For example, the MMCO 22 can add (write) in the DRAM portion 14G additional operational state data if possible (e.g., to the maximum capacity of the DRAM portion 14G) and further to back up (duplicate) the high priority data in the non-volatile memory. Also the low priority data such as register settings can be stored in the non-volatile memory portion 26A if not stored in the DRAM portion 14G. Step 72 may be performed by the MMCO 22 automatically based on the predefined procedure for the situation described in step 71.


In a next step 73, the MM is enabled (power up/wake up).


In a next step 74, the MMCO reads (during initialization) at least the operational state data stored in the DRAM portion 14G to restore an operational state of the MMCO 22. Also the information stored in the non-volatile memory portion NAND 26A as described in step 72 could be possibly used for restoring the operational state of the MMCO 22.


In another scenario, in step 75, the MMCO 22 ascertains (e.g., receiving a command from the host device or an attribute comprised in the command) that the SM (DRAM portion 14G) of the host device 10 is unavailable and/or to be disabled, and/or the data stored in the DRAM portion 14G is compromised.


Then in a next step 76, the MMCO 22 can store the operational state data from the DRAM portion 14G into the non-volatile memory 26A and/or SRAM 22 of the MM 20 before the SM in the host device becomes unavailable/disabled. If the operational state data stored in the SM is compromised, then the MMCO 22 can restore/rebuild needed information from the non-volatile memory (NAND 26) if that data is not available in the SRAM 22.


In a next step 77, the SM in the host device is enabled (power up/wake up which is signals to the MM 20).


In a next step 78, the MMCO 22 reconfigures storing at least important operational state data into the SM (DRAM 14) as in step 70.


Yet in another scenario, in step 79, both the memory module 20 and SM 14 are to be disabled, e.g., shut down or going to sleep. For example, the host device may issue a command of a total shutdown. In a next step 80, the MMCO reconfigures storing the operational state data in the non-volatile memory (NAND 26) of the MM.


In a next step 81, both the memory module 20 and SM 14 in host device are enabled (power up/wake up). In a next step 82, the MMCO configures recovering and storing the operational state data like in step 70 using information stored in the non-volatile memory (NAND 26) of the MM. It is further noted that this step may include the mass memory module initializing itself using all or selected operational state data stored in the non-volatile memory at step 80.


It is noted that reading and writing steps (e.g., see steps 72, 76, 80, 74, 78 and 82) may be performed by the MMCO 22 based on the command (or the attribute in the command) from the host device 10 and/or using its own judgment.



FIGS. 7a-7b and 8 further illustrate different embodiments disclosed in the flow chart of FIG. 6. For example, FIGS. 7a and 7b show examples of memory maps of the MMCO 22 in the MM 20 when utilization of system resources such as the DRAM portion 14G is disabled (FIG. 7a) and when utilization of system resources is enabled (FIG. 7b).



FIG. 7a (when DRAM portion 14G is not accessible/disabled) provides operational details for a non-volatile memory portion such as NAND portions 26a and SRAM 24 identified in FIG. 5. As shown in FIG. 7a, the NAND portion 26A shown on the left can store a small boot section from which to load first pieces of a code to initialize the memory module controller 22. The SRAM 24 can provide run time execution memory storing of necessary code to run the MM 20 and storing at least pieces of metadata like P2L mapping data. Also the NAND portion 26A shown on the right can be a paging memory for the MMCO 22 if there is not enough SRAM 24 to store the whole P2L mapping table; also NAND portion 26A can be a permanent storage for registers and P2L mapping table.



FIG. 7b (when DRAM 14G is accessible/enabled) provides operational details for NAND portions 26A, SRAM 24 and DRAM portion 14G identified in FIG. 5, where SRAM 24 and DRAM 14G form the extended random access memory. As shown in FIG. 7b, the NAND portion 26A on the left can store a small boot section from which to load first pieces of a code to initialize the memory controller. In addition, the NAND portion 26A can store information from which it would be beneficial to reinitialize after a power cycle. The SRAM 24 (as in FIG. 7a) can provide run time execution memory storing of necessary code to run the MM 20 and storing at least pieces of metadata like P2L mapping data. The NAND portion 26A on the right can also be mainly a permanent storage for registers and P2L mapping table. The main difference with FIG. 7a is now in the enabled state of the DRAM portion 14G which becomes an extension of the SRAM 24 (forming the extended random access memory) for storing run time data like state information, P2L mapping table, etc., especially for data which is needed to reinitialize the MMCO 22 after power cycle as fast as possible.


It is noted that the areas 26A shown in 7a and 7b could be also beside each other. Left side could be realized also by some boot ROM embedded in the MMCO, at least partly. It is further noted that memory map of the MMCO could be also a kind of a virtual map, not physical (as shown in FIGS. 7a and 7b).



FIG. 8 demonstrates another aspect of the embodiments shown in the flow chart in FIG. 6 relating operation of the MMCO 22 to a command (or an attribute in the command) from the host device 10. If the host device 10 (e.g., its CPU 12) knows that the data in the DRAM portion 14G has been compromised, it can send a command to the MM 20 to deny reading from the host system memory DRAM portion 14G thus forcing the MMCO 22 to read from the non-volatile memory like NAND portion 26A for any setting in the MM 20. Then the operation state of the MMCO 22 is read from the NAND portion 26A.


If the host device 10 (CPU 12) does not impose any restriction on reading from the DRAM portion 14G, then the operation state of the MMCO 22 is read from the DRAM portion 14G and possibly from the NAND portion 26A (for low-priority data).


It is noted that, the commands/attributes send by the host device 10 to the memory module 20 (e.g., through the interface 22a as shown in FIG. 5a) may have different levels of enforcement on the memory module controller 22. For example, the command for denying reading from the host system memory, i.e., from the DRAM portion 14G in reference to FIG. 8, may have a high enforcement level. Similarly another command or an attribute in a command of the host device forbidding writing in the host system memory (e.g., no extra space is available) additional information related to the operational state data may be also a high enforcement level command which cannot be overridden by the MMCO 22. An example of a low enforcement command/attribute by the host device may be when it enables utilization of 14G (or is not disabling it), leaving it up to the MMCO to decide. Low enforcement command/attribute could also be indication of power down by the host device, so that the MMCO can make the decision whether to perform read/write operation with the state data or not.



FIG. 9 illustrates one non-limiting embodiment of the host device 10 used with the mass storage memory device 20, referred to in FIG. 6 simply as a memory card 20. The mass storage memory device 20 can be removable or it can be embedded in the device 10. In this exemplary embodiment the host device 10 is embodied as a user equipment (UE), shown in both plan view (left) and sectional view (right). In FIG. 9 the host device (UE) 10 has a graphical display interface 120 and a user interface 122 illustrated as a keypad but understood as also encompassing touch screen technology at the graphical display interface 120 and voice recognition technology received at a microphone 124. A power actuator 126 controls the device being turned on and off by the user. The exemplary UE 10 may have a camera 128 which is shown as being forward facing (e.g., for video calls) but may alternatively or additionally be rearward facing (e.g., for capturing images and video for local storage). The camera 128 is controlled by a shutter actuator 30 and optionally by a zoom actuator 32 which may alternatively function as a volume adjustment for the speaker(s) 34 when the camera 128 is not in an active mode.


As an example, image data captured by the camera 128 can be stored in the mass storage memory device 20 under control of a camera application and can thus benefit from the use of the embodiments of this invention. As another example, audio data captured by the microphone 124 can be stored in the mass storage memory device 20 under control of an audio application and can thus also benefit from the use of the embodiments of this invention.


Within the sectional view of FIG. 9 are seen multiple transmit/receive antennas 36 that are typically used for cellular communication. The antennas 36 may be multi-band for use with other radios in the UE. The operable ground plane for the antennas 36 is shown by shading as spanning the entire space enclosed by the UE housing though in some embodiments the ground plane may be limited to a smaller area, such as disposed on a printed wiring board on which the power chip 38 is formed. The power chip 38 controls power amplification on the channels being transmitted and/or across the antennas that transmit simultaneously where spatial diversity is used, and amplifies the received signals. The power chip 38 outputs the amplified received signal to a radio frequency (RF) chip 40 which demodulates and downconverts the signal for baseband processing. A baseband (BB) chip 42 detects the signal which is then converted to a bit stream and finally decoded. Similar processing occurs in reverse for signals generated in the host device 10 and transmitted from it.


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 Bluetooth 7 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, which can include the system DRAM 14, read only memory ROM 45, and in some embodiments removable memory such as the illustrated memory card 20 on which various programs and data 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 FIG. 9. Any or all of these various processors of FIG. 9 access one or more of the various memories, which may be on chip with the processor or separate from the chip with the processor. Note that the various integrated circuits (e.g., chips 38, 40, 42, etc.) that were described above may be combined into a fewer number than described and, in a most compact case, may all be embodied physically within a single chip.


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 FIGS. 5A, 5B and 5C so that the memory card 20 can be extended to use at least a portion of the system Dynamic RAM 14 of the UE 10 as described above.


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.


It is noted that various non-limiting embodiments described herein may be used separately, combined or selectively combined for specific applications.


Further, some of the various features of the above non-limiting embodiments may be used to advantage without the corresponding use of other described features. The foregoing description should therefore be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.


It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention. Numerous modifications and alternative arrangements may be devised by those skilled in the art without departing from the scope of the invention, and the appended claims are intended to cover such modifications and arrangements.

Claims
  • 1. A memory module comprising: a non-volatile memory; anda memory module controller configured to: receive, from a host device, a command indicating that access, by the memory module, to a portion of random access memory in the host device, is to be disabled;read, responsive to the command, data from the portion of the random access memory in the host device; andupdate, in response to the command, a setting of the memory module to indicate that the access to the portion of the random access memory of the host device is disabled.
  • 2. The memory module of claim 1, wherein the memory module controller is further configured to: store the data from the portion of the random access memory in the host device onto the non-volatile memory.
  • 3. The memory module of claim 1, wherein the memory module controller is further configured to: send a RAM READ command to read the data from the portion of the random access memory.
  • 4. The memory module of claim 1, further comprising: a static random access memory, wherein the memory module controller is further configured to:read, responsive to the command, a second data from the portion of the random access memory in the host device; andstore the second data in the static random access memory.
  • 5. The memory module of claim 1, wherein the data comprises operational state data.
  • 6. The memory module of claim 1, wherein the memory module controller is further configured to: receive a signal indicating that the host device is enabled; andstore, responsive to the signal, the data to the portion of the random access memory in the host device.
  • 7. The memory module of claim 1, wherein the memory module controller is further configured to: receive an indication that the memory module is to be disabled, wherein to read the data from the portion of the random access memory in the host device is further based at least in part on the indication.
  • 8. The memory module of claim 7, wherein the memory module controller is further configured to: store the data from the portion of the random access memory in the host device onto the non-volatile memoryreceive a second indication that the host device is powered up;read, based at least in part on the second indication, the data from the non-volatile memory; anduse the data to initialize the memory module.
  • 9. The memory module of claim 7, wherein the memory module controller is further configured to: receive a second indication that the host device is powered up;read, based at least in part on the second indication, the data from the non-volatile memory; andstore, responsive to the second indication, the data to the portion of the random access memory in the host device.
  • 10. The memory module of claim 1, wherein to read the data from the portion of the random access memory in the host device is further based at least in part on the memory module automatically entering a sleep mode after a defined timeout period.
  • 11. A method comprising: receiving, by a memory module controller of a memory module, and from a host device, a command indicating that access, by the memory module, to a portion of random access memory in the host device, is to be disabled;reading, by the memory module controller and responsive to the command, data from the portion of the random access memory in the host device; andupdating, by the memory module controller and in response to the command, a setting of the memory module to indicate that the access to the portion of the random access memory of the host device is disabled.
  • 12. The method of claim 11, further comprising: storing, by the memory module controller, the data from the portion of the random access memory in the host device onto a non-volatile memory.
  • 13. The method of claim 11, further comprising: sending, by the memory module controller, a RAM READ command to read the data from the portion of the random access memory.
  • 14. The method of claim 11, further comprising: reading, by the memory module controller and responsive to the command, a second data from the portion of the random access memory in the host device; andstoring, by the memory module controller, the second data in a static random access memory.
  • 15. The method of claim 11, further comprising: receiving, by the memory module controller, a signal indicating that the host device is enabled; andstoring, by the memory module controller and responsive to the signal, the data to the portion of the random access memory in the host device.
  • 16. The method of claim 11, further comprising: receiving, by the memory module controller, an indication that the memory module is to be disabled, wherein to read the data from the portion of the random access memory in the host device is further based at least in part on the indication.
  • 17. The method of claim 11, wherein reading the data from the portion of the random access memory in the host device is further based at least in part on the memory module automatically entering a sleep mode after a defined timeout period.
  • 18. A host device, comprising: a random access memory; anda processor, the processor configured to: allocate a portion of the random access memory for access by a memory module controller of a memory module;send, to the memory module controller, a command indicating that access to the portion of random access memory in the host device is to be disabled, wherein the memory module, responsive to the command, reads data from the portion of the random access memory.
  • 19. The host device of claim 18, wherein the data includes at least one of state information or logical to physical mapping tables.
  • 20. The host device of claim 18, wherein the memory module controller is configured to store the data in nonvolatile memory.
CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation of co-pending U.S. patent application Ser. No. 16/892,628 filed Jun. 4, 2020, which is a continuation of U.S. patent application Ser. No. 16/054,582 filed Aug. 3, 2018, which is a continuation of U.S. patent application Ser. No. 15/085,815 filed Mar. 30, 2016, now U.S. Pat. No. 10,042,586, which is a continuation of U.S. patent application Ser. No. 13/451,951, filed Apr. 20, 2012, now U.S. Pat. No. 9,311,226, all of which are incorporated herein by reference in their entirety.

US Referenced Citations (252)
Number Name Date Kind
5394535 Ohuchi Feb 1995 A
5586291 Lasker et al. Dec 1996 A
5680570 Rantala et al. Oct 1997 A
5701516 Cheng et al. Dec 1997 A
5710931 Nakamura et al. Jan 1998 A
5781753 McFarland et al. Jul 1998 A
5802069 Coulson Sep 1998 A
5805882 Cooper et al. Sep 1998 A
5809340 Bertone et al. Sep 1998 A
5822553 Gifford et al. Oct 1998 A
5924097 Hill et al. Jul 1999 A
5933626 Mahalingaiah et al. Aug 1999 A
5982570 Koizumi et al. Nov 1999 A
6067300 Baumert et al. May 2000 A
6115785 Estakhri et al. Sep 2000 A
6122196 Tanaka et al. Sep 2000 A
6173425 Knaack et al. Jan 2001 B1
6226710 Melchior May 2001 B1
6279114 Toombs et al. Aug 2001 B1
6373768 Woo et al. Apr 2002 B2
6393492 Cornaby et al. May 2002 B1
6480936 Ban et al. Nov 2002 B1
6513094 Magro Jan 2003 B1
6522586 Wong Feb 2003 B2
6526472 Suzuki Feb 2003 B2
6609182 Pedrizetti et al. Aug 2003 B1
6665747 Nazari Dec 2003 B1
6732221 Ban May 2004 B2
6785764 Roohparvar Aug 2004 B1
6842391 Fujioka et al. Jan 2005 B2
6842829 Nichols et al. Jan 2005 B1
6901298 Govindaraj et al. May 2005 B1
6987635 Akagi et al. Jan 2006 B2
7047368 Vantalon et al. May 2006 B2
7136963 Ogawa et al. Nov 2006 B2
7181574 Lele Feb 2007 B1
7233335 Moreton et al. Jun 2007 B2
7233538 Wu et al. Jun 2007 B1
7321958 Hofstee et al. Jan 2008 B2
7395176 Chung et al. Jul 2008 B2
7412559 Stockdale et al. Aug 2008 B2
7450456 Jain et al. Nov 2008 B2
7480749 Danilak Jan 2009 B1
7492368 Nordquist et al. Feb 2009 B1
7571295 Sakarda et al. Aug 2009 B2
7644938 Yamada Jan 2010 B2
7697311 Fukuda et al. Apr 2010 B2
7730248 Goss et al. Jun 2010 B2
7760569 Ruf et al. Jul 2010 B2
7783845 Bennett et al. Aug 2010 B2
7809962 Chang et al. Oct 2010 B2
7855441 Han Dec 2010 B2
7877569 Honda Jan 2011 B2
7889544 Chow et al. Feb 2011 B2
7958292 Sutardja Jun 2011 B2
8094500 Paley et al. Jan 2012 B2
8180975 Moscibroda et al. May 2012 B2
8190803 Hobson et al. May 2012 B2
8218137 Noh et al. Jul 2012 B2
8307180 Hyvonen et al. Nov 2012 B2
8321713 Nobunaga Nov 2012 B2
8327123 Juffa et al. Dec 2012 B2
8514621 Choi et al. Aug 2013 B2
8527693 Flynn et al. Sep 2013 B2
8639874 Maule et al. Jan 2014 B2
8656045 Wallace et al. Feb 2014 B2
8826051 Wakrat et al. Sep 2014 B2
8879346 Kam et al. Nov 2014 B2
8935302 Flynn et al. Jan 2015 B2
RE45486 Ahvenainen et al. Apr 2015 E
9003159 Deshkar et al. Apr 2015 B2
RE45542 Mylly Jun 2015 E
9063724 Smith et al. Jun 2015 B2
9063850 Hyvonen et al. Jun 2015 B2
9069551 Iarovici et al. Jun 2015 B2
9128718 Achwani et al. Sep 2015 B1
9141394 Sakarda Sep 2015 B2
9208078 Uukkainen et al. Dec 2015 B2
9311226 Mylly Apr 2016 B2
9367486 Hyvonen et al. Jun 2016 B2
9417998 Mylly et al. Aug 2016 B2
9424182 Fisher et al. Aug 2016 B2
9645758 Peterson et al. May 2017 B2
9667425 Goss et al. May 2017 B2
9710377 Kuzmin et al. Jul 2017 B1
9727454 Kuzmin et al. Aug 2017 B2
9829951 Kumar et al. Nov 2017 B2
9841911 Yu et al. Dec 2017 B2
9870327 Chen et al. Jan 2018 B2
9941007 Peddle et al. Apr 2018 B2
9952977 Heinrich et al. Apr 2018 B2
9983800 Uukkainen et al. May 2018 B2
10042586 Mylly Aug 2018 B2
10095613 Jo et al. Oct 2018 B2
10402106 Mylly Sep 2019 B2
10540094 Hyvonen et al. Jan 2020 B2
11023142 Mylly Jun 2021 B2
11182079 Hyvonen et al. Nov 2021 B2
20020000931 Petronic et al. Jan 2002 A1
20020087817 Tomaiuolo et al. Jul 2002 A1
20020093913 Brown et al. Jul 2002 A1
20020108014 Lasser Aug 2002 A1
20020138676 Kendall et al. Sep 2002 A1
20020188835 Vavro Dec 2002 A1
20030028737 Kaiya et al. Feb 2003 A1
20030137860 Khatri et al. Jul 2003 A1
20030212923 Coppock et al. Nov 2003 A1
20040010671 Sampsa et al. Jan 2004 A1
20040049692 Okamoto Mar 2004 A1
20040088474 Lin May 2004 A1
20040203670 King et al. Oct 2004 A1
20040221124 Beckert et al. Nov 2004 A1
20040230317 Kumar et al. Nov 2004 A1
20040236905 Dixon Nov 2004 A1
20050010738 Stockdale et al. Jan 2005 A1
20050071570 Takasugl et al. Mar 2005 A1
20050097280 Hofstee et al. May 2005 A1
20050138318 Ash et al. Jun 2005 A1
20050204113 Harper et al. Sep 2005 A1
20060026598 Handlogten et al. Feb 2006 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
20060119602 Fisher et al. Jun 2006 A1
20060120235 Jensen Jun 2006 A1
20060129722 Campbell Jun 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
20060259718 Paley Nov 2006 A1
20060280077 Suwa Dec 2006 A1
20070057044 Uchiyama et al. Mar 2007 A1
20070088867 Cho et al. Apr 2007 A1
20070136523 Bonella et al. Jun 2007 A1
20070147115 Lin et al. Jun 2007 A1
20070207854 Wolf et al. Sep 2007 A1
20070226795 Conti 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
20080081609 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
20080184355 Walrath et al. Jul 2008 A1
20080189485 Jung et al. Aug 2008 A1
20080195802 Lee et al. Aug 2008 A1
20080228984 Yu et al. Sep 2008 A1
20080235477 Rawson Sep 2008 A1
20080244173 Takai Oct 2008 A1
20080281944 Vome et al. Nov 2008 A1
20080282030 Kalwitz et al. Nov 2008 A1
20080282031 Tanoue 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 et al. 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
20090292861 Kanevsky et al. Nov 2009 A1
20090307377 Anderson et al. Dec 2009 A1
20090307544 Kim 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
20100082905 Wilkerson et al. Apr 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
20100306503 Henry et al. Dec 2010 A1
20100312947 Luukkainen Dec 2010 A1
20110029808 Moshayedi Feb 2011 A1
20110082967 Deshkar et al. Apr 2011 A1
20110087804 Okaue et al. Apr 2011 A1
20110093650 Kwon et al. Apr 2011 A1
20110099326 Jung et al. Apr 2011 A1
20110145537 Feldman et al. Jun 2011 A1
20110185112 Goss Jul 2011 A1
20110185113 Goss et al. Jul 2011 A1
20110208914 Winokur et al. Aug 2011 A1
20110264860 Hooker et al. Oct 2011 A1
20110296088 Duzly et al. Dec 2011 A1
20110302474 Goss et al. Dec 2011 A1
20120023303 Russo et al. Jan 2012 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
20120151118 Flynn et al. Jun 2012 A1
20120179874 Chang et al. Jul 2012 A1
20120210326 Torr et al. Aug 2012 A1
20120221875 Bak et al. Aug 2012 A1
20120239990 Mataya et al. Sep 2012 A1
20120324299 Moshayedi Dec 2012 A1
20130007347 Fai et al. Jan 2013 A1
20130007348 Fai et al. Jan 2013 A1
20130124785 Xiong et al. May 2013 A1
20130138840 Kegel et al. May 2013 A1
20130145055 Kegel et al. Jun 2013 A1
20130191609 Kunimatsu et al. Jul 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
20130346685 Hampel et al. Dec 2013 A1
20140059273 Fujimoto et al. Feb 2014 A1
20140068140 Mylly Mar 2014 A1
20140188719 Poomachandran et al. Jul 2014 A1
20140304475 Ramanujan et al. Oct 2014 A1
20150039819 Luukkainen et al. Feb 2015 A1
20150134871 Benisty et al. May 2015 A1
20150160863 Mylly Jun 2015 A1
20150269094 Hyvonen et al. Sep 2015 A1
20160062659 Floman et al. Mar 2016 A1
20160077963 Luukkainen et al. Mar 2016 A1
20160246546 Mylly Aug 2016 A1
20160306588 Li et al. Oct 2016 A1
20160357436 Hyvonen et al. Dec 2016 A1
20170038975 Mylly et al. Feb 2017 A1
20170046067 Luukkainen et al. Feb 2017 A1
20180130506 Kang et al. May 2018 A1
20180137058 Heo et al. May 2018 A1
20180364909 Luukkainen et al. Dec 2018 A1
20190034122 Mylly Jan 2019 A1
20200089403 Hyvonen et al. Mar 2020 A1
20200218448 Hyvonen et al. Jul 2020 A1
20200293232 Mylly Sep 2020 A1
20210191618 Mylly et al. Jun 2021 A1
20210311626 Luukkainen et al. Oct 2021 A1
20210382619 Hyvonen et al. Dec 2021 A1
20230027240 Luukkainen Jan 2023 A1
20230068142 Hyvonen Mar 2023 A1
20230161477 Hyvonen May 2023 A1
Foreign Referenced Citations (89)
Number Date Country
2005200855 Sep 2004 AU
1517886 Aug 2004 CN
1762025 Apr 2006 CN
101278354 Oct 2008 CN
101329654 Dec 2008 CN
101449251 Jun 2009 CN
101667103 Mar 2010 CN
101714106 May 2010 CN
101887350 Nov 2010 CN
101937318 Jan 2011 CN
101952808 Jan 2011 CN
0481716 Apr 1992 EP
0749062 Dec 1996 EP
0749063 Dec 1996 EP
1091283 Apr 2001 EP
1094392 Apr 2001 EP
1779241 Feb 2006 EP
1763036 Mar 2007 EP
59135563 Aug 1984 JP
S64064073 Mar 1989 JP
0268671 Mar 1990 JP
H02068671 Mar 1990 JP
H02170767 Jul 1990 JP
H11259357 Sep 1990 JP
06124596 May 1994 JP
H06124596 May 1994 JP
H06236681 Aug 1994 JP
H08123731 May 1996 JP
H08161216 Jun 1996 JP
10228413 Aug 1998 JP
H10240607 Sep 1998 JP
11143643 May 1999 JP
H11242563 Sep 1999 JP
2000003309 Jan 2000 JP
2000057039 Feb 2000 JP
2000067584 Mar 2000 JP
2001006379 Jan 2001 JP
2001-067786 Mar 2001 JP
2002023962 Jan 2002 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
2004511030 Apr 2004 JP
H03687115 Aug 2005 JP
2005309653 Nov 2005 JP
2006011818 Jan 2006 JP
2006195569 Jul 2006 JP
2006221627 Aug 2006 JP
2006520958 Sep 2006 JP
2006331408 Dec 2006 JP
2006343923 Dec 2006 JP
2007052717 Mar 2007 JP
2007079724 Mar 2007 JP
2007115382 May 2007 JP
2007156597 Jun 2007 JP
2007183962 Jul 2007 JP
2007518166 Jul 2007 JP
3965874 Aug 2007 JP
2007220210 Aug 2007 JP
2007260013 Oct 2007 JP
2008009874 Jan 2008 JP
2011022657 Feb 2011 JP
2011028537 Feb 2011 JP
2011039849 Feb 2011 JP
2011086064 Apr 2011 JP
2011238175 Nov 2011 JP
2013504815 Feb 2013 JP
2013109419 Jun 2013 JP
2013176088 Sep 2013 JP
20060082040 Jul 2006 KR
20090033887 Apr 2007 KR
100842140 Jun 2008 KR
20100072068 Jun 2010 KR
200701233 Jan 2007 TW
201135746 Oct 2011 TW
201209831 Mar 2012 TW
201214446 Apr 2012 TW
WO8801772 Mar 1988 WO
WO9965193 Dec 1999 WO
WO0135200 May 2001 WO
2002526875 Aug 2002 WO
WO2004084231 Sep 2004 WO
WO2005088468 Jun 2005 WO
WO2005066773 Jul 2005 WO
WO2011013350 Mar 2011 WO
WO2012021380 Feb 2012 WO
Non-Patent Literature Citations (137)
Entry
Office Action for U.S. Appl. No. 16/598,894, dated Jul. 11, 2022, Hyvonen, “Extended Utilization Area for a Memory Device”, 9 pages.
Office Action for U.S. Appl. No. 17/204,591, dated Sep. 2, 2022, Luukkainen, “Apparatus and Method To Share Host System Ram With Mass Storage Memory Ram”, 7 Pages.
European Office Action dated Oct. 20, 2022 for European Patent Application No. 18215330.4, a foreign counterpart to U.S. Pat. No. 8,307,180, 4 pages.
Japanese Office Action dated Oct. 19, 2022 for Japanese Patent Application No. 2021-069406, a foreign counterpart to U.S. Pat. No. 8,307,180, 9 pages.
Japanese Office Action dated Jul. 29, 2019 for Japanese patent application No. 2017-156699, a counterpart foreign application of U.S. Pat. No. 8,307,180, 4 pages.
U.S. Office Action dated Sep. 9, 2021 for U.S. Appl. No. 16/598,894, Hyvonen, “Extended Utilization Area for a Memory Device”, 7 Pages.
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.
Korean Office Action dated May 29, 2019 for Korean Patent Application No. 2014-7019265, a counter part of U.S. Pat. No. 9,417,998, 17 pages.
Korean Office Action for Korean Patent Application No. 10-2010-7021534, dated Sep. 30, 2011, 5 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 SD/MMC Flash Memory Card,” IEEE Transactions on Magnetics, vol. 43, No. 2, Feb. 2007, pp. 933-935.
Mylly, et al., “Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System”, U.S. Appl. No. 13/358,806, filed Jan. 26, 2012, 45 pages.
Numonyz, “How to boot an embedded system from an eMMC equipped with a Microsoft FAT file system”, Application note AN2539, Nov. 2008, pp. 1-25.
U.S. Office Action dated Feb. 8, 2019 for U.S. Appl. No. 15/235,425 “Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System” Mylly, 18 pages.
U.S. Office Action dated Mar. 5, 2020 for U.S. Appl. No. 15/989,695 “Apparatus and Method To Share Host System RAM With Mass Storage Memory RAM” Luukkainen, 9 pages.
U.S. Office Action dated Mar. 5, 2020 for U.S. Appl. No. 16/054,582 “Managing Operational State Data in Memory Module” Mylly, 8 pages.
U.S. Office Action for U.S. Appl. No. 16/825,653, dated Jul. 22, 2021, Hyvonen, “Extended Utilization Area for a Memory Device”, 12 Pages.
Office Action for U.S. Appl. No. 16/892,628, dated Sep. 7, 2021, Mylly, “Managing Operational State Data in Memory Module”, 7 Pages.
Office Action for U.S. Appl. No. 16/598,894, Hyvonen, “Extended Utilization Area for a Memory Device”, 7 Pages.
U.S. Office Action for U.S. Appl. No. 13/527,745, dated Jan. 16, 2015, Matti Floman, “Virtual Memory Module”, 22 pages.
U.S. 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.
U.S. 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.
U.S. Office Action dated Oct. 9, 2019 for U.S. Appl. No. 15/235,425 “Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System” Mylly, 19 pages.
U.S. Office Action dated Oct. 10, 2019 for U.S. Appl. No. 15/989,695 “Apparatus and Method To Share Host System Ram With Mass Storage Memory RAM”, Luukkainen, 9 pages.
U.S. Office Action for U.S. Appl. No. 15/181,293, dated Oct. 4, 2018, Hyvonen et al., “Extended Utilization Area for a Memory Device”, 5 pages.
U.S. 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.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 16/054,582, dated Nov. 15, 2019, Mylly, “Managing Operational State Data in Memory Module”, 7 Pages.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 14/566,547, dated Nov. 4, 2016, Mylly, “Unified Memory Type Aware Storage Module”, 14 pages.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 14/863,253, dated Dec. 21, 2015, Matti Floman, “Virtual Memory Module”, 15 pages.
U.S. 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.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 13/596,480, dated Mar. 13, 2014, Kimmo J. Mylly, “Dynamic Central Cache Memory”, 15 pages.
U.S. Office action for U.S. Appl. No. 12/455,763, dated Mar. 14, 2014, Luukkainen et al., “Apparatus and method to share host system ram with mass storage memory ram”, 6 pages.
U.S. Office Action for U.S. Appl. No. 15/335,688, dated Mar. 24, 2017, Olli Luukkainen, “Apparatus and Method to Share Host System RAM with Mass Storage Memory RAM”, 5 pages.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 16/598,894, dated Mar. 4, 2021, Hyvonen, “Extended Utilization Area for a Memory Device”, 7 pages.
U.S. Office Action for U.S. Appl. No. 15/989,695, dated Apr. 11, 2019, Luukkainen et al., “Apparatus and Method to Share Host System RAM with Mass Storage Memory RAM”, 9 pages.
U.S. Office Action dated Apr. 17, 2020 for U.S. Appl. No. 15/235,425 “Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System” Mylly, 21 pages.
U.S. Office Action for U.S. Appl. No. 15/181,293, dated Apr. 18, 2018, Hyvonen et al., “Extended Utilization Area for a Memory Device”, 11 page.
U.S. Office Action for U.S. Appl. No. 15/181,293, dated Apr. 25, 2019, Hyvonen et al., “Extended Utilization Area for a Memory Device”, 6 pages.
U.S. 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.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 15/235,425, dated Jun. 12, 2018, Mylly, “Apparatus and Method to Provide Cache Move With Non-Volatile Mass Memory System”, 16 pages.
U.S. Office Action for U.S. Appl. No. 15/235,425, dated Jun. 14, 2019, Mylly, “Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System”, 17 pages.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 13/527,745, dated Jun. 23, 2014, Floman et al., “Virtual Memory Module”, 13 pages.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 13/951,169, dated Jul. 28, 2014, Hyvonen et al., “Extended Utilization Area for a Memory Device”, 6 pages.
U.S. 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.
U.S. Office Action for U.S. Appl. No. 12/455,763, dated Aug. 1, 2013, Luukkainen et al., “Apparatus and method to share host system ram with mass storage memory ram”, 28 pages.
U.S. Office Action for U.S. Appl. No. 15/085,815, dated Aug. 23, 2017, Mylly, “Managing Operational State Data in Memory Module”, 10 pages.
U.S. 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.
U.S. 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.
Chinese Board Opinion dated Apr. 13, 2022 for Chinese Patent Application No. 201610905925.X, a foreign counterpart to U.S. Pat. No. 9,311,226, 7 pages.
Japanese Office Action dated Apr. 7, 2022 for Japanese Patent Application No. 2021-069406, a foreign counterpart to U.S. Pat. No. 8,307,180, 13 pages.
U.S. Office Action for U.S. Appl. No. 17/132,539, dated Mar. 31, 2022, Mylly, “Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System”, 15 Pages.
“PCI Local Bus Specification Revision 3.0”, PCI-SGI, Feb. 3, 2004, 344 pages, pp. 238-246.
PCT Search Report dated Feb. 25, 2015 for PCT application No. PCT/US2014/069616, 10 pgs.
PCT Search Report and Written Opinion dated Mar. 6, 2014 for PCT application No. PCT/US13/56980, 11 pages.
PCT Search Report and Written Opinion dated Apr. 16, 2014 for PCT application No. PCT/US13/49434, 8 pages.
PCT Search Report and Written Opinion dated Sep. 5, 2013 for PCT application No. PCT/US13/37298, 9 pages.
PCT Search Report for PCT Application No. PCT/FI2009/050083 dated Jun. 3, 2009, 4 pages.
Pedersen, Lynne; Design for MISP: A Multiple Instruction Stream Shared Pipeline Processor; University of Illinois at Urbana-Champaign, 1985 (201 pages).
Powers, Susan et al; AS/400 Disk Storage Topics and Tools; International Technical Support Organization; International Business Machines; Apr. 2000 (252 pages).
“SD Specifications : Part 1 Physical Layer Specification” Oct. 15, 2004, Version 1.10, SD Group (MEI, ScanDisk, Toshiba) and SD Card Association, 164 pages.
Tanenbaum, “Structured Computer Organization”, Prentice-Hall, Inc, 1984, 5 pages.
“Termination Due to Settlement After Institution of Trial” in Kinston Technology Company v. Memory Technologies, before the Patent Trial and Appeal Board, Case IPR2019-00642 (U.S. Pat. No. 8,307,180 B2) dated Sep. 10, 2019, 4 pgs.
“Termination Due to Settlement After Institution of Trial” in Kinston Technology Company v. Memory Technologies, before the Patent Trial and Appeal Board, Case IPR2019-00643 (U.S. Pat. No. RE45,486 E) dated Sep. 10, 2019, 4 pgs.
“Termination Due to Settlement After Institution of Trial” in Kinston Technology Company v. Memory Technologies, before the Patent Trial and Appeal Board, Case IPR2019-00645 (U.S. Pat. No. 9,367,486 B2) dated Sep. 10, 2019, 4 pgs.
“Termination Due to Settlement After Institution of Trial” in Kinston Technology Company v. Memory Technologies, before the Patent Trial and Appeal Board, Case IPR2019-00648 (U.S. Pat. No. 9,063,850 B2) dated Sep. 10, 2019, 4 pgs.
Taiwanese Office Action dated Jun. 15, 2020 for Taiwanese Patent Application No. 107132459, a counterpart of U.S. Pat. No. 9,311,226, 3 pages.
Taiwanese Office Action dated Jun. 15, 2020 for Taiwanese Patent Application No. 107132459, a counterpart of U.S. Pat. No. 9,311,226, 4 pages.
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, 18 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.
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.
Taiwanese Office Action dated Jul. 16, 2019 for Taiwanese Patent Application No. 107132459, a counterpart of U.S. Pat. No. 9,311,226, 5 pages.
Korean Office Action dated Apr. 12, 2023 for Korean patent application No. 2022-7036487, a foreign counterpart of U.S. Pat. No. 9,417,998, 5 pages.
McLean, Information Technology—AT Attachment with Packet Interface -66 (ATA/ATAPI-6), Revisional 3A, Dec. 2001, 496 pgs.
U.S. Office Action for U.S. Appl. No. 17/132,539, dated Mar. 16, 2023, Mylly, “Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System”, 16 Pages.
Serial ATA International Organization: Serial ATA Revision 3.1, Jul. 2011, 717 pgs.
U.S. Office Action for U.S. Appl. No. 18/045,067, dated Jan. 6, 2023, Hyvonen, “Extended Utilization Area for a Memory Device”, 8 pages.
U.S. Office Action for U.S. Appl. No. 17/937,901, dated Dec. 22, 2022, Luukkainen, “Apparatus and Method To Share Host System RAM With Mass Storage Memory RAM”, 13 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”.
Apostolakis, et al., “Software-Based Self Testing of Symmetric Shared-Memory Multiprocessors”, IEEE Transactions on Computers, vol. 58, No. 12, Dec. 2009, 13 pages.
Chinese Office Action dated Mar. 3, 2020, for the Chinese Patetnt Application No. 201610905925.X, a counterpart foriegn application of the U.S. Appl. No. 13/451,951, 11 pages.
Chinese Office Action dated Sep. 1, 2021 for Chinese Application No. 201810154153.X, a foreign counterpart to U.S. Pat. No. 9,417,998, 8 pages.
Chinese Office Action dated Sep. 16, 2019 for Chinese Patent Application No. 201610905925X, a counterpart of U.S. Pat. No. 9,311,226, 6 pages.
Chinese Office Action dated Nov. 30, 2016 for Chineae patent application No. 201380006769.8, a counterpart foreign application of U.S. Pat. No. 9,417,998, 18 pgs.
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.
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, 4 pages.
Chinese Office Action dated Mar. 12, 2019 for Chinese Patent Application No. 201610905925X, a counterpart of U.S. Pat. No. 9,311,226, 7 pages.
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.
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.
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, 12 pgs.
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, 5 pages.
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.
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.
Chinese Office Action dated Aug. 27, 2014 for Chinese patent application No. 200980106241.1, a counterpart foreign application of U.S. Pat. No. 8,307,180, 4 pages.
“Decision” in Kinston Technology Company v. Memory Technologies, before the Patent Trial and Appeal Board, Case PR2019-00642, U.S. Pat. No. 8,307,180 B2, Jul. 30, 2019, 37 pages.
“Embedded MultiMediaCard (eMMC) Mechanical Standard”, JESD84-C43, JEDEC Standard, JEDEC Solid State Technology Association, Jun. 2007, 13 pages.
European Office Action dated Jan. 8, 2020 for European Patent Application No. 18213772.9, a counterpart foreign application of U.S. Appl. No. 13/358,806, 7 pages.
European Office Action dated Jul. 13, 2021 for European Patent Application No. 18215330.4, a counterpart foreign application of U.S. Pat. No. 8,307, 180, 7 pages.
European Summons to Attend Oral Proceedings mailed on Dec. 6, 2021, for European Patent Application No. 18213772.9, 21 pages.
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.
European Search Report for Application No. 09715221.9, dated Oct. 25, 2011, 30 pages.
Extended European Search Report dated Mar. 22, 2019 for European Patent Application No. 18213772, 8 pages.
Extended European Search Report dated Apr. 1, 2019 for European Patent Application No. 18213772, 9 pages.
Extended European Search Report dated May 8, 2019 for European Patent Application No. 18215330.4, 8 pages.
Extended European Search Report dated Aug. 31, 2015 for European patent application No. 13741595.6, a counterpart foreign application of U.S. Appl. No. 13/358,806, 8 pages.
“1G × 8 Bit / 2G × 8 Bit / 4G x 8 Bit NAND Flash Memory”, Nov. 4, 2005, Samsung Electronics—K9XXG08UXM. 50 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.
Japanese Office Action dated Oct. 31, 2020 for Japanese Patent Application No. 2018-219218, a counterpart of U.S. Pat. No. 9,417,998, 1 page.
Japanese Office Action dated May 6, 2021 for Japanese patent application No. 2019-185570, a counterpart foreign application of U.S. Pat. No. 8,307,180, 4 pages.
Japanese Office Action dated Jun. 9, 2020 for Japanese Patent Application No. 2018-219218, a counterpart of U.S. Pat. No. 9,417,998, 1 page.
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.
Japanese Office Action datedd Jan. 7, 2015 for Japanese patent application No. 2013-103695, a counterpart foreign application of U.S. Pat. No. 8,307,180, 8 pages.
Japanese Office Action dated Oct. 1, 2018 for Japanese patent application No. 2017-156699, a counterpart foreign application of U.S. Pat. No. 8,307,180, 11 pages.
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.
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.
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, 7 pgs.
Japanese Office Action dated Mar. 27, 2018 for Japanese patent application No. 2017-155752, a counterpart foreign application of U.S. Pat. No. 9,417,998, 7 pgs.
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.
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.
Japanese Office Action dated Jul. 29, 2019 for Japanese patent application No. 2017-156699, a counterpart foreign application of U.S. Pat. No. 8,307,180, 4 pgs.
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, 5 pages.
Japanese Search Report for Application No. 2010-548134, dated May 10, 2012, 11 pages.
Japanese Office Action dated Nov. 20, 2020 for Japanese Patent Application No. 2019-185570, a counterpart foreign application of U.S. Pat. No. 8,307,180, 4 pages.
Korean Office Action dated Oct. 12, 2020 for Korean Patent Application No. 2020-7018006, a counterpart of U.S. Pat. No. 9,417,998, 6 pages.
Korean Office Action dated Oct. 12, 2020 for Korean Patent Application No. 2020-7018006, a counterpart of U.S. Pat. No. 9,417,998, 13 pages. translation.
Office Action for U.S. Appl. No. 18/045,067, dated May 12, 2023, Hyvonen, “Extended Utilization Area for a Memory Device”, 9 pgs.
The Taiwanese Office Action dated May 23, 2023 for Taiwanese patent application No. 110117732, a foreign counterpart of U.S. Pat. No. 9,311,226, 24 pages.
Related Publications (1)
Number Date Country
20220197565 A1 Jun 2022 US
Continuations (4)
Number Date Country
Parent 16892628 Jun 2020 US
Child 17646315 US
Parent 16054582 Aug 2018 US
Child 16892628 US
Parent 15085815 Mar 2016 US
Child 16054582 US
Parent 13451951 Apr 2012 US
Child 15085815 US