This invention relates generally to memory cards in a computing environment and, more particularly, to the intelligent detection of memory cards using non-volatile memory.
Memory cards are used primarily for data storage in electronic devices such as digital cameras, computers, telephones, music players, and video game consoles. Devices that have memory card capabilities have card slots where memory cards may be inserted. Once a memory card is inserted into a card slot on a device, the device may access the memory card through the card slot.
Embodiments of the invention are understood by referring to the figures in the attached drawings, as provided below.
Features, elements, and aspects of the invention that are referenced by the same numerals in different figures represent the same equivalent, or similar features, elements, or aspects, in accordance with one or more embodiments.
The present disclosure is directed to systems and corresponding methods that load data from memory cards to non-volatile memory.
In the following, numerous specific details are set forth to provide a thorough description of various embodiments of the invention. Certain embodiments of the invention may be practiced without these specific details or with some variations in detail. In some instances, certain features are described in less detail so as not to obscure other aspects of the invention. The level of detail associated with each of the elements or features should not be construed to qualify the novelty or importance of one feature over the others.
When a memory card is inserted into a card slot of a fully operational system, the system may communicate with the card slot through one or more control hubs. The device may load the data on the memory card onto disk (e.g. hard disk drive) or into system memory (e.g. DRAM) and then immediately detects the memory card.
Reading data directly from memory cards may be relatively slow because card slots have narrow interfaces that limit the rate at which data can be read. Loading the data onto disk or into system memory may speed up the process but may also be relatively slow when the system is in a reduced power mode due to lengthy power up sequences that occur when the disk or system memory requires more power.
In addition, loading a memory card and having the system processor immediately detect the memory card requires the system to be fully operational. Power is wasted when the system cannot go into standby mode or is brought out of standby mode. The wasted power may be significant in battery-powered mobile devices such as laptops and mobile telephones.
In accordance with one embodiment, a method for detecting memory cards in a computing environment is provided. The method comprises detecting insertion of a memory card into a device's card slot; creating a memory card construct in a non-volatile memory storage; copying data from the memory card to the memory card construct; and informing the device that a new memory card has been inserted and may be accessed from the non-volatile memory storage.
The method may further comprise indicating that the memory card is in use, in response to determining that data is being copied from the memory card to the non-volatile memory storage.
In one embodiment, the memory card may be detected and loaded into the non-volatile memory storage while the device is fully operational. In another embodiment, the memory card may be detected and loaded into the non-volatile memory storage while the device is in a reduced power state. For example, the reduced power state may be a standby mode designated for the device and may be approximately S1 or a mode that uses less power than S1. The informing may be postponed until the device is fully operational.
In accordance with another embodiment, a system comprising one or more logic units is provided. The one or more logic units are configured to perform the functions and operations associated with the above-disclosed methods.
One or more of the above-disclosed embodiments, in addition to certain alternatives, are provided in further detail below with reference to the attached figures. The invention is not, however, limited to any particular embodiment enclosed.
Referring to
Processor(s) 110 may be connected to DRAM 120 by way of DRAM connection 115, and to controller hubs 130 by way of chipset-cpu connection 125, respectively. Control hubs 130 may be connected to NV memory storage 150 by way of NV connection 145, to removable memory card 160 by way of memory card connection 155, and to rotating media 170 by way of serial advanced technology attachment (SATA) 165, respectively. Control hubs 130 may comprise input/output or I/O control hub (ICH) 135 and peripheral component interconnect or PCI control hub (PCH) 140, for example.
In accordance with one embodiment, data may be loaded from memory card 160 to NV memory storage 150, in response to memory card 160 being inserted into system 100's card slot, as shown in
In one embodiment, system 100 is configured to conserve power by going into different modes or states (e.g., fully operational, standby mode S1-S3, in hibernation, or completely off). In standby mode S1, system 100 appears off and is powered down. Processor(s) 110 is stopped but still has power, and DRAM 120 is refreshed or updated regularly. In standby mode S2, system 100 is powered down even more than in S1. Processor(s) 110 is turned off, but DRAM 120 is still being refreshed. In standby mode S3, DRAM 120 is in slow refresh, and the power supply is in a reduced power mode. In hibernation, DRAM 120 is turned off. Components that are powered down run on low power, while components that are turned off do not use any power.
Copying the data to rotating media 190 or to DRAM 120 may cause system 100 to come out of standby mode because the system needs more power. With the new capabilities of control hubs, however, system 100 may copy data into NV memory storage 150 instead of rotating media 190 or DRAM 120 and conserve power by remaining in a standby mode (e.g. S1). System 100 may also stay in any other mode that uses less power than S1 such as S2, S3. Of course, if the system 100 is in the fully operational mode the system 100 may remain in the fully operational mode. Power savings may still be obtained in the fully operational mode, for example, if the rotating media 190 does need to spin up for the data transfer.
Still referring to
In accordance with another embodiment, PCH 140 is responsible for visually indicating (e.g. by way of an LED or mechanical interlocks) that memory card 160 is in use while data is being copied from memory card 160 to NV memory storage 150. Giving a visual indication that memory card 160 is in use prevents memory card 160 from being removed from the card slot while the data is being copied. Once the data is transferred, a visual indication may be provided that the removable memory card 160 may be safely removed from the system 100.
It should be understood that depending on implementation one or more embodiments may be practiced in form of logic code, programs, modules, processes, and methods. The order in which the respective elements of each method are performed are purely exemplary. Depending on the implementation, they may be performed in any order or in parallel, unless indicated otherwise in the present disclosure. Further, the logic code is not related, or limited to any particular programming language, and may comprise one or more modules that execute on one or more processors in a distributed, non-distributed, or multiprocessing environment.
Therefore, it should be understood that the invention can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is not intended to be exhaustive or to limit the invention to the precise form disclosed. These and various other adaptations and combinations of the embodiments disclosed are within the scope of the invention and are further defined by the claims and their full scope of equivalents.