Patent Publication Number: US-11023140-B2

Title: NVDIMM with removable storage

Description:
TECHNICAL FIELD 
     The disclosed embodiments relate to memory devices, and, in particular, to non-volatile dual in-line memory modules with removable storage. 
     BACKGROUND 
     Memory devices may be provided as modules with standard physical formats and electrical characteristics to facilitate easier installation and deployment across multiple systems. One such module is a dual in-line memory module (DIMM), which is frequently used to provide volatile memory such as DRAM to computing systems. Although DRAM can be fast, and therefore well-suited to use as the main memory of computing systems, it is a volatile memory format and thus requires the continuous application of power to maintain the data stored therein. To address this limitation, other modules can provide both volatile memory (for use as the main memory of a system) and non-volatile memory (for backing up the volatile memory in case of power loss) in a single module. One such module is a non-volatile dual in-line memory module (NVDIMM). 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic diagram of a non-volatile dual in-line memory module configured in accordance with an embodiment of the present technology. 
         FIG. 2  is a schematic diagram of a non-volatile dual in-line memory module configured in accordance with another embodiment of the present technology. 
         FIG. 3  is a flow diagram illustrating a method of backing up content stored on a non-volatile dual in-line memory module in accordance with embodiments of the present technology. 
         FIG. 4  is a schematic view of a system that includes a non-volatile dual in-line memory module configured in accordance with embodiments of the present technology. 
     
    
    
     DETAILED DESCRIPTION 
     As described in greater detail below, the present technology relates to memory devices and system having non-volatile dual in-line memory modules with removable storage. Numerous specific details are discussed to provide a thorough and enabling description for embodiments of the present technology. A person skilled in the art, however, will understand that the technology may have additional embodiments and that the technology may be practiced without several of the details of the embodiments described below with reference to  FIGS. 1-4 . In other instances, well-known structures or operations often associated with memory devices are not shown, or are not described in detail, to avoid obscuring other aspects of the technology. In general, it should be understood that various other devices and systems in addition to those specific embodiments disclosed herein may be within the scope of the present technology. For example, in the illustrated embodiments below, the memory devices and systems are primarily described in the context of non-volatile dual in-line memory modules compatible with DRAM and flash (e.g., NAND and/or NOR) storage media. Memory devices and systems configured in accordance with other embodiments of the present technology, however, can include memory modules compatible with other types of storage media, including PCM, RRAM, MRAM, read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEROM), ferroelectric, magnetoresistive, and other storage media, including static random-access memory (SRAM). 
       FIG. 1  is a schematic diagram of a non-volatile dual in-line memory module (NVDIMM)  100  configured in accordance with an embodiment of the present technology. As shown, the NVDIMM  100  includes both a plurality of DRAM memories  120  (e.g., memory dies, memory chips, memory packages or the like) and a non-volatile memory slot  130  (e.g., a memory socket) configured to receive a removable non-volatile memory device  140  (e.g., a flash memory device). The NVDIMM  100  includes an edge connector  102  along an edge of a substrate  101  (e.g., a printed circuit board (PCB) or the like) of the NVDIMM  100  for connecting a data bus  104  and a command/address bus  106  to a host device (not shown). The data bus  104  connects the DRAM memories  120  to the edge connector  102  and receives data signals from and transmits data signals to a connected host device during memory access operations (e.g., reads and writes). The NVDIMM  100  can further include a registering clock driver (RCD)  110  that receives command/address signals from the command/address bus  106  and generates memory command/address signals for the DRAM memories  120 . 
     The NVDIMM  100  further includes a controller  132  for controlling the non-volatile memory device  140  and performing memory management operations, such as power loss detection, backup from the DRAM memories  120  to the non-volatile memory device  140 , and restore from the non-volatile memory device  140  to the DRAM memories  120 . The controller  132  may include a connection to the edge connector  102  (not shown) to facilitate detection of a power loss event (e.g., by monitoring a voltage of a power supply pin, or via a dedicated pin for sending commands from a connected host device to the controller  132 ). 
     The controller  132  can be connected to the non-volatile memory device  140  (i.e., via the non-volatile memory slot  130 ) by a non-volatile bus  134  and to the DRAM memories  120  by the data bus  104 . In this regard, the data bus  104  may include a number of data multiplexers  108  to facilitate connecting the DRAM memories  120  to both the edge connector  102  (e.g., for receiving data signals from and transmitting data signals to a connected host device) and to the controller  132  (e.g., for reading data signals from the DRAM memories  120  during a backup operation and transmitting data signals to the DRAM memories  120  during a restore operation). In another embodiment, the multiplexers  108  may be internal to the DRAM memories  120 . The controller  132  is further connected to the RCD  110 , in order to provide command/address signals to the DRAM memories  120  during backup and restore operations. In this regard, the controller  132  can include a driver  133  for sending command/address signals to the RCD  110 , through a command/address multiplexer  136  configured to connect the RCD  110  to both the edge connector  102  and the driver  133  of the controller  132 . 
     The non-volatile memory slot  130  is configured to receive and connect the non-volatile memory device  140  to the controller  132  via the non-volatile bus  134 . In accordance with an embodiment of the present technology, the non-volatile memory slot  130  (e.g., the memory slot) can be configured to receive (e.g., be compatible with) flash (e.g., NAND and/or NOR) memory storage media. In other embodiments, the non-volatile memory slot  130  can configured to receive (e.g., be compatible with) PCM, RRAM, MRAM, read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEROM), ferroelectric, magnetoresistive, and other non-volatile storage media. Unlike conventional NVDIMM technology, only the non-volatile memory slot  130  is soldered to the substrate  101  of the NVDIMM  100 . The non-volatile memory device  140 , by contrast, is removable from (e.g., transportable to/from, relocatable to/from, etc.) the NVDIMM  100  as shown by phantom lines in  FIG. 1 . In this regard, the non-volatile memory device  140  can be a standard device (e.g., a secure digital (SD) card (mini, micro, high capacity, etc.), an universal flash storage (UFS) card, a compact flash (CF) card, a MultiMediaCard (MMC), a memory stick, a SmartMedia card, a xd-Picture card, a smart card, a universal serial bus, and/or other types of datacards). In other embodiments and as described in greater detail below, the non-volatile memory device  140  can be, for example, a proprietary device (e.g., a NVDIMM-specific device) to optimize the cost and/or performance of the format. Furthermore, although shown with only a single non-volatile memory slot  130  and a single non-volatile memory device  140  in  FIG. 1 , the NVDIMM  100  in other embodiments can include more than one non-volatile memory slot  130  configured to receive (e.g., be compatible with) and connect one or more types of non-volatile memory devices  140  and/or one or more types of storage media. 
       FIG. 2  is a schematic diagram of a non-volatile dual in-line memory module (NVDIMM)  200  configured in accordance with another embodiment of the present technology. The illustrated NVDIMM  200  is similar to the NVDIMM  100  of  FIG. 1  with the exception that the NVDIMM  200  of  FIG. 2  includes additional circuitry and/or communication line(s)  256  connecting dedicated hardware  254  (e.g., a dedicated hardware button) on the NVDIMM  200  to the controller  132 . Although illustrated on the NVDIMM  200  in  FIG. 2 , the dedicated hardware  254  can be hardware external to the NVDIMM  200  (e.g., hardware located on the host device) in other embodiments. As described in greater detail below, the dedicated hardware  254 , when activated, can be configured to invoke a backup (e.g. a copying and/or a moving) of the contents of the DRAM memories  120  to be stored on the non-volatile memory device  140 . 
     As will be appreciated by one with ordinary skill in the art, the removable nature of the non-volatile memory device  140  from the NVDIMM  100  in accordance with embodiments of the present technology overcomes several shortcomings of the prior art. For example, relocating memory modules within a conventional NVDIMM while power is supplied to the conventional NVDIMM is not practicable because the pins of the edge connection  102  (e.g., high-voltage and ground pins) are located too near one another such that tipping a memory module out of its slot could cause a short that could damage or destroy the memory module. As a result, the memory modules in conventional NVDIMMs cannot be safely hot-swapped, meaning that conventional NVDIMMs must first be powered down before they can be removed and/or relocated. 
     In contrast and as noted above, NVDIMMs in accordance with embodiments of the present technology include one or more non-volatile memory slots (e.g., non-volatile memory slots  130 ;  FIGS. 1 and 2 ), which permit non-volatile memory devices (e.g., non-volatile memory devices  140 ;  FIGS. 1 and 2 ) to be hot-swapped between (e.g., removed from and/or relocated to) non-volatile memory slots of the same and/or other NVDIMM(s) without needing to power down the NVDIMM(s) (or the host device(s) attached thereto). Thus, for example, when a host device attached to a NVDIMM configured in accordance with embodiments of the present technology has hung and/or components of the host device have hung, a user can relocate (e.g., transport) DRAM content (e.g., content backed up and/or stored on non-volatile memory device(s)  140 ) on the NVDIMM to another non-volatile memory slot (e.g., a different NVDIMM of the same or a different host device) via one or more non-volatile memory devices (e.g., after invoking a backup of the DRAM content with dedicated hardware  254 ). As a result, the user is able to access the DRAM content sooner than the hung host device can be powered off and/or rebooted. 
     Additional advantages of NVDIMMs configured in accordance with embodiments of the present technology are evident. For example, corrupt and/or inoperable non-volatile memory devices (e.g. non-volatile memory devices  140 ) in some embodiments can quickly and conveniently be removed, disposed of, and/or replaced, thereby extending the life of the corresponding NVDIMM. In these and other embodiments, a user can easily upgrade an NVDIMM (e.g., by swapping out a non-volatile memory device with a more recent, improved, and/or technologically advanced non-volatile memory device to, for example, increase the non-volatile memory device storage capacity, improve a NVDIMM&#39;s backup and/or restore speeds, etc.). In these and still other embodiments, NVDIMMs configured in accordance with embodiments of the present technology can quickly be customizable to a particular user&#39;s need(s). For example, NVDIMMs in some embodiments can include a universal non-volatile memory slot (e.g., a non-volatile memory slot  130 ) and/or one or more non-volatile memory slots (e.g., one or more non-volatile memory slots  130 ) compatible with a one or more types non-volatile memory devices and/or types of storage media. Thus, a user is provided the flexibility to use, for example, a UFS non-volatile memory device in a situation requiring fast write speeds and/or quick backup routines. The same user can then swap, for example, the UFS non-volatile memory device for a high storage capacity non-volatile memory device in a situation requiring backup of large amounts of data (e.g., in a situation requiring multiple dumps of DRAM content to a single non-volatile memory device). 
     Furthermore, the non-volatile memory device  140  can be designed to optimize the cost, performance, and/or security of the format. In some embodiments, for example, the non-volatile memory slot (e.g., non-volatile memory slot  130 ) can be configured to receive (e.g., be compatible with) only NVDIMM-specific non-volatile memory devices and/or only party-specific non-volatile memory devices (e.g., to prevent end users from using off-the-shelf and/or third party parts in addition to or in lieu of NVDIMM-specific and/or party-specific non-volatile memory devices). For example, non-volatile memory slots in accordance with some embodiments of the present invention can be proprietary and/or designed to receive NVDIMM-specific and/or party-specific non-volatile memory devices with specific characteristics (e.g., size, shape, type of storage media, technical specifications, etc.). In these and other embodiments, NVDIMM-specific and/or party-specific non-volatile memory devices can be encrypted (e.g., with a hardware key, a party-supplied asymmetric key, a hash key, and/or other encryption methods) such that the non-volatile memory devices are linked to and/or are operable with only an individual NVDIMM and/or group of NVDIMMs having specific characteristics (e.g., a specific manufacturer, a specific vendor, specific technical specifications, etc.). In some embodiments, encryption of the NVDIMM-specific and/or party-specific non-volatile memory devices can be implemented, for example, directly in the NVDIMM-specific and/or party-specific non-volatile memory devices (e.g., during a backup operation from volatile memories of a NVDIMM to the non-volatile memory device(s)). In other embodiments, the NVDIMM-specific and/or party-specific non-volatile memory devices can be encrypted by a user and/or another party (e.g., a manufacturer, a vendor, or other party) at various locations (e.g., at a specific site before and/or after the non-volatile devices are sold to end-users, before and/or after refurbishing, etc.) and/or using various techniques (e.g., using other NVDIMMs, other processes (installation process, recognition process, restore process, etc.) of the NVDIMM, and/or other encryption methods). In these and still other embodiments, data on the non-volatile memory devices can be encrypted in a similar manner. For example, data on the non-volatile memory devices can be encrypted (e.g., with a hardware key, an asymmetric key, a hash key, and/or other encryption methods) such that the non-volatile memory device is only operable with a particular NVDIMM and/or group of NVDIMMs having particular characteristics (e.g., a particular owner, a particular location, a matching key, corresponding decryption code and/or information, etc.). 
       FIG. 3  is a flow diagram illustrating a routine  360  directed to a method of backing up content stored on an NVDIMM (e.g., NVDIMM  100  and/or NVDIMM  200 ;  FIGS. 1 and/or 2 ) in accordance with embodiments of the present technology. Blocks  361  and  363  are illustrated in dashed lines in  FIG. 3  to represent that these blocks correspond to particular embodiments of the present technology (e.g., embodiments in accordance with NVDIMM  200  of  FIG. 2 ) and/or are optional blocks in the routine  360 . In embodiments including dedicated hardware (e.g., dedicated hardware  254 ;  FIG. 2 ) the routine  360  can begin at block  361  by activating the dedicated hardware and can proceed to block  362  to backup (e.g., copy and/or move) volatile memory content to one or more non-volatile memory devices. For example, a user can activate (e.g., mechanically actuate or electrically signal) dedicated hardware (e.g., dedicated hardware  254 ) on a NVDIMM (e.g., NVDIMM  200 ) and/or on a host device connected to the NVDIMM to invoke a backup (e.g. a copying and/or a moving) of content stored on one or more volatile memories (e.g., one or more DRAM memories  120 ;  FIG. 2 ) of the NVDIMM. When activated, the dedicated hardware can direct a controller (e.g., controller  132 ;  FIG. 2 ) on the NVDIMM to copy and/or move (e.g., all or a subset of) content stored on one or more volatile memories of the NVDIMM to one or more non-volatile memory devices (e.g., one or more non-volatile memory devices  140 ;  FIGS. 1 and 2 ) connected to the controller via non-volatile memory slot(s) (e.g., non-volatile memory slot(s)  130 ;  FIG. 2 ) of the NVDIMM. 
     Alternatively, the routine  360  can begin at block  362  by backing up (e.g., copying and/or moving) volatile memory content to one or more non-volatile memory devices. For example, a controller (e.g., controller  132 ;  FIGS. 1 and/or 2 ) of a NVDIMM (e.g., NVDIMM  100  and/or NVDIMM  200 ;  FIGS. 1 and/or 2 ) can backup (e.g., all or a subset of) content stored on one or more volatile memories (e.g., one or more DRAM memories  120 ;  FIGS. 1 and/or 2 ) of the NVDIMM to one or more non-volatile memory devices connected to the controller via non-volatile memory slot(s) (e.g., non-volatile memory slot(s)  130 ;  FIGS. 1 and/or 2 ) of the NVDIMM. In some embodiments, the controller can back up the volatile memory content automatically (e.g., before and/or after a specific amount of time has elapsed; when the volatile memory content occupies a specific amount of the storage capacity of one or more volatile memories; before shutting down the NVDIMM and/or a host device connected to the NVDIMM; after starting up the NVDIMM and/or the host device; when the host device has hung and/or components of the host device have hung; before and/or after specified tasks of the NVDIMM and/or of the host device; before and/or after the NVDIMM and/or the host device detect that a non-volatile memory device has become or is about to become corrupted and/or inoperable; when the controller detects a loss of power to the NVDIMM; or before, during, and/or after other triggering events). In these and other embodiments, the controller can wait to backup volatile memory content to one or more non-volatile memory devices until directed (e.g., by a user and/or the host device). 
     As illustrated in  FIG. 3 , the routine  360  can optionally start at and/or proceed to block  363  to remove, transport, install, and/or replace a non-volatile memory device. For example, a user can remove one or more non-volatile memory devices (e.g., one or more non-volatile memory devices  140 ;  FIGS. 1 and/or 2 ) out of one or more non-volatile memory slots (e.g., one or more non-volatile memory slots  130 ;  FIGS. 1 and/or 2 ) of a first NVDIMM (e.g., NVDIMM  100  and/or NVDIMM  200 ;  FIGS. 1 and/or 2 ) before and/or after backing up volatile memory content of the first NVDIMM to the one of more non-volatile memory devices. In some of these embodiments, the user can transport and/or install the one or more non-volatile memory devices to the same and/or different non-volatile memory slot(s) (e.g., the same and/or different non-volatile memory slot(s)  130 ) of the first and/or different NVDIMM(s) (e.g., NVDIMM(s)  100  and/or NVDIMM(s)  200 ;  FIGS. 1 and/or 2 ). In these and other embodiments, the user can replace the one or more non-volatile memory devices with the same and/or different non-volatile memory device(s) (e.g., the same and/or different non-volatile memory device(s)  140 ;  FIGS. 1 and/or 2 ) in the same and/or different non-volatile memory slot(s) (e.g., the same and/or different non-volatile memory slot(s)  130 ;  FIGS. 1 and/or 2 ) of the first NVDIMM. 
       FIG. 4  is a schematic view a system that includes a non-volatile dual in-line memory module configured in accordance with embodiments of the present technology. Any one of the foregoing memory devices described above with reference to  FIGS. 1-3  can be incorporated into any of a myriad of larger and/or more complex systems, a representative example of which is system  490  shown schematically in  FIG. 4 . The system  490  can include a memory device assembly  400 , a power source  492 , a driver  494 , a processor  496 , and/or other subsystems and components  498 . The memory device assembly  400  can include features generally similar to those of the NVDIMM devices described above with reference to  FIGS. 1-3 , and can, therefore, include various features of removable storage. The resulting system  490  can perform any of a wide variety of functions, such as memory storage, data processing, and/or other suitable functions. Accordingly, representative systems  490  can include, without limitation, hand-held devices (e.g., mobile phones, tablets, digital readers, and digital audio players), computers (e.g., workstations, servers, etc.), vehicles, appliances, and other products. Components of the system  490  may be housed in a single unit or distributed over multiple, interconnected units (e.g., through a communications network). The components of the system  490  can also include remote devices and any of a wide variety of computer readable media. 
     From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the disclosure. For example, NVDIMMs configured in accordance with embodiments of the present technology can include more or less volatile memories and/or more or less multiplexers than illustrated in  FIGS. 1 and 2 . In addition, NVDIMMs configured in accordance with embodiments of the present technology can include other and/or different circuitry, communication lines, and/or arrangements than those illustrated in  FIGS. 1 and 2 . Furthermore, certain aspects of the new technology described in the context of particular embodiments may also be combined or eliminated in other embodiments. Moreover, although advantages associated with certain embodiments of the new technology have been described in the context of those embodiments, other embodiments may also exhibit such advantages and not all embodiments need necessarily exhibit such advantages to fall within the scope of the technology. Accordingly, the disclosure and associated technology can encompass other embodiments not expressly shown or described.