This application claims priority under 35 U.S.C. §119 to Korean Patent Application No. 10-2013-0048479, filed on Apr. 30, 2013 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety.
The present inventive concept relates to a nonvolatile memory system including a nonvolatile memory device, a memory controller and an operating method thereof.
Nonvolatile memory devices retain stored contents after power is disconnected from the nonvolatile memory devices. The nonvolatile memory devices include a Read Only Memory (ROM) device, a Programmable ROM (PROM) device, an Electrically Programmable ROM (EPROM) device, an Electrically Erasable and Programmable ROM (EEPROM) device, a flash memory device, a Phase-change RAM (PRAM) device, a Magnetic RAM (MRAM) device, a Resistive RAM (PRAM) device, a Ferroelectric RAM (FRAM) device, etc.
When nonvolatile memory devices continue to operate, the temperature of the nonvolatile memory devices increases. Such temperature increase may affect the function of nonvolatile memory devices, and thus a cooling apparatus is provided to control the temperature of electronic devices including nonvolatile memory devices.
According to an exemplary embodiment of the present inventive concept, an operating method of a memory controller that controls a nonvolatile memory device is provided. A command is received from an external device. Whether the nonvolatile memory device is in a temperature control mode is determined. When the nonvolatile memory device is in the temperature control mode, the received command is delayed for a predetermined time until the received command is outputted to the nonvolatile memory device. When the nonvolatile memory device is in the temperature control mode, the nonvolatile memory device is in an idle state.
According to an exemplary embodiment of the present inventive concept, a nonvolatile memory system includes a nonvolatile memory device and a memory controller. The memory controller delays, based on an operating mode of the nonvolatile memory device, a command received from an external device for a predetermined time until the received command is outputted to the nonvolatile memory device. The operating mode is determined based on a timeout time and an expected processing time of the received command.
According to an exemplary embodiment of the present inventive concept, an operating method of a memory controller is provided to control a nonvolatile memory device. A temperature of the nonvolatile memory device is measured. Whether the nonvolatile memory device is in a temperature control mode is determined. When the nonvolatile memory device is in the temperature control mode, the nonvolatile memory device is set to be in an idle state for a first period. When a command from an external device is received in the first period of the temperature control mode, the received command is delayed for a predetermined time until the received command is outputted to the nonvolatile memory device.
These and other features of the inventive concept will become more apparent by describing in detail exemplary embodiments thereof with reference to the accompanying drawings of which:
Exemplary embodiments of the inventive concept will be described below in detail with reference to the accompanying drawings. However, the inventive concept may be embodied in different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, the thickness of layers and regions may be exaggerated for clarity. It will also be understood that when an element is referred to as being “coupled to” or “connected to” another element, it may be directly coupled to or connected to the other element, or intervening elements may also be present. Like reference numerals may refer to the like elements throughout the specification and drawings.
A nonvolatile memory system according to an exemplary embodiment of the present invention may enter a temperature control mode when a temperature of the nonvolatile memory system is higher than a reference temperature. If a command is received from an external device (e.g., a host, an application processor, etc.), the nonvolatile memory system may perform an operation corresponding to the received command after a hold time. Thus, it is possible to provide the nonvolatile memory system that controls a temperature efficiently.
The memory controller 110 controls the nonvolatile memory device 120 based on a command CMD, an address ADDR, and data received from an external device (e.g., a host, an application processor, etc.). For example, the memory controller 110 outputs a command CMD, an address ADDR, and data to the nonvolatile memory device 120. The memory controller 110 performs a data reading, writing or erasing operation on the nonvolatile memory device 120 based on the command CMD, the address ADDR and the data. For example, the memory controller interpret or decode a request having a command CMD and/or a logical address ADD from an external device and generate the received command CMD and the physical address ADDR.
The memory controller 110 includes a temperature sensor unit 111 and a temperature control unit 112. The temperature sensor unit 111 measures a temperature T_nvm of the nonvolatile memory device 120. Alternatively, the temperature sensor unit 111 measures a temperature of the nonvolatile memory system 100.
The temperature control unit 112 compares the measured temperature T_nvm of the nonvolatile memory device 120 with a reference temperature T_ref. The temperature control unit 112 controls an operating mode of the nonvolatile memory system 100 based on the comparison result. For example, when the measured temperature T_nvm is lower than the reference temperature T_ref, the nonvolatile memory system 100 operates in a normal mode. The normal mode indicates to a state where the memory controller 110 performs a data writing, reading or erasing operation on the nonvolatile memory device 120.
On the other hand, when the measured temperature T_nvm is higher than the reference temperature T_ref, the temperature control unit 112 may control the nonvolatile memory system 100 to enter a temperature control mode. The temperature control unit 112 may maintain the temperature control mode of the nonvolatile memory system 100 for a predetermined time. The temperature control mode indicates to a mode where the memory controller 110 and the nonvolatile memory device 120 are in an idle state. In the temperature control mode, the memory controller 110 holds the command CMD received from the external device for a hold time T_hold, without issuing the command CMD to the nonvolatile memory device 120. For example, the memory controller 110 also perform operations of receiving a command CMD, an address ADDR and data from the external device, calculating an internal clock, and refreshing a buffer memory.
The hold time T_hold is determined based on a timeout time T_out and an expected processing time T_exp of the input command CMD. For example, the memory controller 110 calculates the hold time T_hold of the input command CMD based on the timeout time T_out and the expected processing time T_exp of the input command CMD.
In exemplary embodiments, the timeout time T_out may be time allocated for an operation corresponding to the input command CMD. For example, when a timeout time of read operation may be 10 cycles of clock, the nonvolatile memory system has to complete the read operation within 10 cycles of clock. If the nonvolatile memory system does not complete the read operation within 10 cycles of clock, the nonvolatile memory system may transmit interrupt signal or fault signal to a host. Thus, the nonvolatile memory system has to complete the operation corresponding to the received command CMD within the timeout time t_out.
In exemplary embodiments, the expected processing time T_exp may be approximate time needed to perform an operation corresponding to the input command CMD. For example, when an expected processing time t_exp of a read operation may 3 cycles of clock CLK, the nonvolatile memory system performs the read operation during 3 cycles of clock. Thus, the expected processing time T_exp may be an actual amount of time of completing an operation corresponding to an external request. In exemplary embodiments, the timeout time T_out may be larger than the expected processing time T_exp.
In the temperature control mode, the memory controller 110 receives the input command CMD and issues the input command CMD to the nonvolatile memory device 120 the hold time T_hold after the receipt of the command CMD. The nonvolatile memory device 120 maintains an idle state during the hold time T_hold. Accordingly, the nonvolatile memory system 100 controls temperature efficiently without affecting the performance of the external device. The temperature control mode will be more fully described with reference to
The nonvolatile memory device 120 includes a plurality of memory blocks. Each block includes a plurality of pages. In response to a command CMD received from the memory controller 110, a reading, writing or erasing operation is performed on the nonvolatile memory device 120. When not receiving a command CMD from the memory controller 110, the nonvolatile memory device 120 does not perform a data reading, writing or erasing operation and thus the nonvolatile memory device 120 does not generate heat. The nonvolatile memory device 120 includes, but is not limited to, a NAND flash memory device. For example, the nonvolatile memory device 120 may include a NOR flash memory device, a PRAM (Phase-change Random Access Memory) device, a MRAM (Magnestoresistive Random Access Memory) device, a ReRAM (Resistive Random Access Memory) device and so on.
The temperature control unit 112 compares the measured temperature T_nvm of the nonvolatile memory device 120 with a reference temperature T_ref. The temperature control unit 112 controls an operating mode of the nonvolatile memory system 100 based on the comparison result. For example, when the measured temperature T_nvm is higher than the reference temperature T_ref, the temperature control unit 112 controls the nonvolatile memory system 100 to operate in a temperature control mode. In the temperature control mode, the temperature control unit 112 sends a command CMD received from an external device (e.g., a host, an application processor, etc.) to the nonvolatile memory device 120 after a lapse of a hold time T_hold. In exemplary embodiments, the temperature control unit 112 may measure a timeout time T_out, an expected processing time T_exp, and the hold time T_hold based on an internal clock CLK. The temperature control unit 122 will be described in detail with reference to
The processing unit 113 controls components of the memory controller 110.
The ROM 114 stores information needed for an operation of the nonvolatile memory system 100. For example. For example, the ROM 114 may store information of a timeout time T_out of a command CMD that is received by the nonvolatile memory system 100. The ROM 114 may also store information of an expected processing time T_exp for a command CMD that the nonvolatile memory system 100 receives. The information may be stored in firmware codes.
The buffer memory 115 temporarily stores data read from the nonvolatile memory device 120 or data received from an external device. The buffer memory 115 includes a volatile or nonvolatile random access memory including, but is not limited to, a Dynamic Random Access Memory (DRAM), a Synchronous DRAM (SDRAM), a Static RAM (SRAM), a Double Date Rate SDRAM (DDR SDRAM), a DDR2 SDRAM, a DDR3 SDRAM, a Phase-change RAM (PRAM), a Magnetic RAM (MRAM), a Resistive RAM (RRAM), etc. When the buffer memory includes a volatile memory, the buffer memory 115 performs a self-refresh operation in the temperature control mode.
The ECC unit 116 generates an ECC using data transferred to the nonvolatile memory device 120. The ECC is stored in the nonvolatile memory device 120. The ECC 116 detects an error of data read from the nonvolatile memory device 120 and corrects the detected error based on the ECC stored in the nonvolatile memory device 120.
The flash interface 117 provides an interface between the memory controller 110 and the nonvolatile memory system 120. The host interface 118 provides an interface between the memory controller 110 and an external device (e.g., a host, an application processor, etc.). The host interface 118 provides an interface between the memory controller 110 and the external device using various interface protocols including, but is not limited to, a Universal Serial Bus (USB) interface, a Peripheral Component Interconnection (PCI) interface, a PCI-express (PCI-E) interface, an Advanced Technology Attachment (ATA) interface, a Serial-ATA interface, a Parallel-ATA interface, a Small Computer Small Interface (SCSI), an Enhanced Small Disk Interface (ESDI), or an Integrated Drive Electronics (IDE) interface.
In step S120, the memory controller 120 determines whether a nonvolatile memory system 100 is in a temperature control mode. For example, the memory controller 110 measures a temperature of the nonvolatile memory device 120. When the measured temperature T_nvm of the nonvolatile memory device 120 is higher than a reference temperature T_ref, the memory controller 110 controls the nonvolatile memory system 100 to enter a temperature control mode.
In the event that the nonvolatile memory system 100 is at the temperature control mode state, in step S130, the memory controller 110 sends the input command CMD to the nonvolatile memory device 120 based on a timeout time T_out and an expected processing time T_exp of the input command CMD. The step S130 is in detail described with reference to
If the nonvolatile memory system 100 is not in the temperature control mode state, the memory controller 110 proceeds to step S140 to provide the input command CMD to the nonvolatile memory device 120. In response to the input command CMD, the nonvolatile memory device 120 performs a data reading, writing or erasing operation.
If the nonvolatile memory system 100 is in the temperature control mode state, the memory controller 110 delays an operation corresponding to the input command CMD for a hold time T_hod. Accordingly, the performance of the nonvolatile memory system 100 is increased.
In step S132, the memory controller 110 calculates a hold time T_bold based on a timeout time T_out and an expected processing time T_exp of the input command CMD. For example, the memory controller 110 detects a difference between the timeout time T_out and the expected processing time T_exp as the hold time T_hold. In exemplary embodiments, the memory controller 110 may include timeout time information of the command CMD in a firmware form.
In step S133, the memory controller 110 compares the hold time T_hold with a remaining temperature control mode time T_con′. The remaining temperature control mode time T_con′ indicates a time between a point of time when the memory controller 110 receives the command CMD and a point of time when the temperature control mode ends.
If the hold time T_hold is longer than the remaining temperature control mode time T_con′, the memory controller 110 proceeds to step S135 where the memory controller 110 transmits the input command CMD to the nonvolatile memory device 120 after the remaining temperature control mode time T_con′ elapses. For example, after the temperature control mode of the nonvolatile memory system 100 ends, the memory controller 110 transmits the input command CMD to the nonvolatile memory device 120.
If the hold time T_hold is shorter than the remaining temperature control mode time T_con′, in step S134, the memory controller 110 transmits the input command CMD to the nonvolatile memory device 120 after the remaining temperature control mode time T_con′ elapses. For example, the nonvolatile memory system 100 operates in the temperature control mode for the remaining temperature control mode time T_con′, but the memory controller 110 activates the nonvolatile memory system 100 to send the input command CMD to the nonvolatile memory device 120. An operation corresponding to the input command CMD has to be completed within the timeout time T_out.
Referring to
Referring to
Referring to
t_hold=t_out−t_exp (1)
In the equation (1), ‘T_hold’ indicates a hold time, ‘T_out’ indicates a timeout time, and ‘T_exp’ indicates an expected processing time. For example, since the nonvolatile memory system 100 is at an idle state under the temperature control mode, it does not perform an operation corresponding to the input command CMD. The memory controller 110 transmits the input command CMD to the nonvolatile memory device 120 at t6 when the hold time T_hold elapses from a point of time when the command CMD is received. At t6, the nonvolatile memory system 100 terminates the temperature control mode and enters a normal mode.
Referring to
Referring to
Unlike cases illustrated in
As described with reference to
The temperature sensor unit 211 measures a temperature of the plurality of nonvolatile memory devices 221 to 22n. The temperature represents an average temperature of the nonvolatile memory devices 221 to 22n.
The temperature control unit 212 decides an operating mode of the nonvolatile memory system 200 based on the measured temperature of the nonvolatile memory system 200. The temperature control unit 212, for example, may operate based on methods as described with reference to
Unlike a nonvolatile memory system 200 illustrated in
Unlike a nonvolatile memory system 200 illustrated in
The user system 1000 includes an application processor 1100, a network module 1200, a storage module 1300, an input interface 1400, and an output interface 1500. The application processor 1100 drives components, an operating system, etc. of the user system 1000. For example, the application processor 1100 may include graphics engines, controllers for controlling components of the user system 1000, interfaces, etc.
The network module 1200 communicates with external devices. For example, the network module 1200 supports wireless communication protocols such as CDMA (Code Division Multiple Access), GSM (Global System for Mobile communication), WCDMA (wideband CDMA), CDMA-2000, TDMA (Time Division Multiple Access), LTE (Long Term Evolution), Wimax, WLAN, UWB, Bluetooth, WI-DI, etc.
The storage module 1300 stores data. For example, the storage module 1300 stores data received from an external device and/or provides data stored therein to the application processor 1100. For example, the storage module 1300 may be implemented by a semiconductor memory device such as a DRAM device, an SDRAM device, an SRAM device, a DDR (Double Data Rate) SDRAM, a DDR2 SDRAM device, a DDR3 SDRAM device, a PRAM, an MRAM, an RRAM, a NAND flash memory, a NOR flash memory or the like. In an exemplary embodiment, the storage module 1300 includes a nonvolatile memory system as described with reference to
The user interface 1400 provides an interface for providing data or commands to the user system 1000. For example, the user interface 1400 may include one of user input interfaces such as a touch screen, a camera, a microphone, an action recognition module, etc. The user interface 1400 may further include one of user output interfaces such as a display, a speaker, a touch screen, etc.
According to an exemplary embodiment of the inventive concept, a nonvolatile memory system operates in a temperature control mode for temperature control. The memory controller maintains the temperature control mode of the nonvolatile memory system by delaying received commands for a predetermined time. Since a temperature of the nonvolatile memory system is controlled, a performance of the nonvolatile memory system is increased.
While the present inventive concept has been shown and described with reference to exemplary embodiments thereof, it will be apparent to those of ordinary skill in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the inventive concept as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2013-0048479 | Apr 2013 | KR | national |