Using waste heat to increase flash memory retention
By detecting write events and using waste heat to increase the flash memory temperature, the problem of short retention time of flash memory is solved, and the effectiveness of storing data and flash memory reliability is achieved at high temperatures is achieved, and the storage life of data is extended.
Patent Information
- Application Number
- CN201980030069.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-05-03
- Filing Date
- 2019-04-22
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2039-04-22
AI Technical Summary
Data stored in flash memory is easily lost or damaged after being stored at room temperature for a period of time, and it is difficult for the prior art to effectively extend the retention time of data.
By detecting or predicting write events associated with flash memory, the temperature of the flash memory is raised to a specific range using waste heat to increase the retention time of data and store it at high temperatures when writing data, and then lower the temperature at the end of the write event to maintain normal operating temperature.
It effectively extends the retention time of flash storage data, ensures that data is stored at room temperature for a longer time without affecting the reliability of flash memory, and is suitable for equipment without power supply.
Smart Images

Figure CN112074905B_ABST
Abstract
Description
Background Art
[0001] Flash memory is an electronic (solid-state) non-volatile computer storage medium that can be electrically erased and reprogrammed. In some examples, flash memory can be used to store files, including operating systems, applications, games, media, or any other content. Summary of the invention
[0002] A simplified summary is provided below in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview of the claimed subject matter. This summary is not intended to identify key or critical elements of the claimed subject matter, nor is it intended to describe the scope of the claimed subject matter. The sole purpose of this summary is to present some concepts of the claimed subject matter in a simplified form as a prelude to a more detailed description that is presented later.
[0003] Embodiments described herein include a system for increasing data retention time, which may include a processor to execute code to detect or predict a write event associated with a flash memory. The processor may also control a device in the system to cause an increase in temperature at the flash memory via residual heat in response to the write event. The processor may write data to the flash memory at the increased temperature to increase the retention time of the data stored in the flash memory.
[0004] In another embodiment described herein, a method for increasing data retention time may include detecting or predicting, via a processor, a write event associated with a flash memory. The method may also include controlling, via the processor, a device to cause an increase in temperature at the flash memory via residual heat in response to the write event. Additionally, the method may include writing data to the flash memory at an increased temperature via the processor to increase the retention time of the data stored in the flash memory.
[0005] In another embodiment described herein, one or more computer-readable storage media for increasing data retention time may include a plurality of instructions that, in response to execution by a processor, cause the processor to detect or predict a write event associated with the flash memory. The plurality of instructions may also cause the processor to control a device to cause an increase in temperature at the flash memory via residual heat in response to the write event. The plurality of instructions may also cause the processor to write data to the flash memory at the increased temperature to increase the retention time of the data stored in the flash memory.
[0006] The following description and accompanying drawings set forth in detail certain illustrative aspects of the claimed subject matter. However, these aspects are indicative of but a few of the various ways in which the principles of the invention may be employed, and the claimed subject matter is intended to include all such aspects and their equivalents. Other advantages and novel features of the claimed subject matter will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The following detailed description may be better understood by reference to the accompanying drawings, which contain specific examples of numerous features of the disclosed subject matter.
[0009] Figure 1 is a block diagram illustrating an example computing device that can use waste heat to increase flash memory retention time;
[0010] Figure 2 is a process flow diagram of an example method for using waste heat to increase flash memory retention time;
[0011] Figure 3 is a process flow diagram of an example method for increasing flash memory retention time using write temperature when manufacturing a device;
[0012] Figure 4 is a block diagram of an example of a computing system that can use waste heat to increase flash memory retention time; and
[0013] Figure 5 is a block diagram of an example computer-readable storage medium that can use waste heat to increase flash memory retention time.
[0014] Detailed Description
[0015] As described above, flash memory can be used to store files, including operating systems, applications, games, media, or any other content. However, data written to flash memory may have a limited storage time. For example, after being stored at room temperature for about a year, the data may be lost or damaged.
[0016] In the embodiments described herein, the system can use residual heat to increase the flash memory retention time. As used herein, residual heat refers to heat generated as a side effect of the operation of one or more devices. For example, the residual heat can generally be discharged to the external environment. The system described herein can detect or predict a write event associated with the flash memory. For example, the system may include a processor to execute instructions to detect or predict that the amount of data to be written to the flash memory exceeds a threshold amount. The processor may then control the device to cause the temperature at the flash memory to increase via residual heat in response to the write event. For example, the temperature may be increased to a write temperature to increase the data retention time on the flash memory. As used herein, retention time refers to the time in which the data stored in the flash memory is reliably stored and can be read without any errors or damage. The write temperature may be higher than a first predetermined threshold temperature and lower than a second predetermined threshold temperature. For example, the second predetermined threshold may be a temperature at which the reliability of the flash memory device is reduced. The system can write data to the flash memory at an increased temperature without significantly affecting the reliability of the flash memory to increase the retention time of the data stored in the flash memory.
[0017] In some embodiments, the systems described herein may also measure the temperature at the flash memory. For example, a sensor may be located on the die of the flash memory or near the flash memory. The system may then detect the end of the write event and cause the temperature at the flash memory to decrease in response to detecting the end of the write event. For example, the system may restore thermal chokes to maintain a preset operating temperature that may be lower than the write temperature.
[0018] In some examples, thermal sensors can be used to manage flash memory temperature with greater accuracy. For example, thermal sensors can be used to measure flash memory temperature and then adjust the flash memory temperature, rather than estimating the temperature and making adjustments.
[0019] Thus, the present technology enables the use of waste heat to increase the retention time of data in flash memory. Increasing the temperature during write operations of the flash memory can allow the flash memory to retain data longer. For example, the technology described herein may be useful in devices (such as game consoles) that may be without power for an extended period of time.
[0020] Figure 1 1 is an example block diagram illustrating a computing device that can use waste heat to increase flash memory retention time. In some embodiments, computing device 100 may include flash memory 102, at least one temperature sensor 104, a processor 106, and one or more heat sources 108. In some examples, flash memory 102 may include a flash memory controller that can manage data stored in or retrieved from flash memory 102. Temperature sensor 104 may be any temperature measuring device that can read the temperature near flash memory 102. For example, temperature sensor 102 may be a single sensor or multiple sensors to increase accuracy. Heat source 108 may include a processor, such as a CPU or GPU, a power supply, or any other heat generating device. Figure 1 As shown, processor 106 may be electrically coupled to flash memory 102 and temperature sensor 104. In some examples, processor 106 may also optionally be electrically coupled to one or more heat sources 108. In some examples, flash memory 102 may be thermally coupled to one or more heat sources 108. For example, flash memory 102 and one or more heat sources 108 may share a heat sink or heat pipe. In some examples, flash memory 102 and heat sources 108 may be located in a shared container. For example, the shared container may include a cooling fan with an adjustable speed for regulating excess heat.
[0021] In some embodiments, the processor 106 can detect or predict write events associated with the flash memory 102. For example, the write event can be a game download, an application download, an operating system update, or any other data to be written to the flash memory. In some examples, the write event can include writing data having a size exceeding a predetermined threshold size to the flash memory. For example, a write event with a small amount of data may not be worth the time spent on increasing the temperature and the impact on the life of the flash memory. Thus, the temperature can be raised to the write temperature in response to detecting that the write event includes data having a size exceeding the threshold. In some examples, the data can be a game, an application, a media, or an update to a game, an application, or an operating system. In response to detecting a write event, the processor 106 can use waste heat from one or more heat sources 108 to cause an increase in temperature. For example, the control mechanism can be an active vent or flap that can be used to control waste heat discharge. In some examples, the increase in temperature can be indirectly caused by the processor 106 by controlling how much work is being performed by the heat source 108 (such as a CPU or GPU). For example, if there is not enough work available, a dummy workload can be used. Otherwise, processor 106 may disable throttling of one or more heat sources to increase the temperature.
[0022] In some examples, the processor 106 can monitor the temperature at the temperature sensor 104 to adjust the temperature to the write temperature. For example, the write temperature can be higher than the first determined threshold and lower than the second determined threshold. In some examples, these thresholds can be determined based on the number of flash writes to be performed, the current state of one or more heat sources 108, or the age of the flash. For example, if the age of the flash is below a threshold time, the second threshold can be limited to extend the life of the flash. On the contrary, if the flash is close to the end of its useful life, the second threshold can be increased to provide a higher temperature for writing data. For example, the processor can use information including write cycles and estimated useful lives in cycles received from the flash controller to detect that the memory is close to the end of its useful life. If the flash exceeds a threshold number of writes, the processor can detect that the flash is close to the end of its useful life and increase the second threshold accordingly. In addition to counting flash write cycles, the flash controller can also count the number of read errors encountered when reading a flash block. For example, an increased read error may indicate that data needs to be rewritten to the flash block, and the number of reads between rewrite events indicates that the flash block is being exhausted.
[0023] In some examples, the write temperature can be determined and adjusted using a proportional integral derivative (PID) controller and other control loops or control devices. For example, a proportional loop, an integral loop, or any combination thereof can be used to determine the write temperature or a temperature range corresponding to the write temperature. In some examples, fuzzy logic, machine learning, a neural network, or an on / off controller can be used to determine the write temperature or a temperature range corresponding to the write temperature. In some examples, the threshold temperature to be used can be determined using a table. For example, a table can include threshold temperatures to be used in various operating conditions and flash memory devices. The data can then be written to the flash memory 102 at the write temperature. In some examples, the data can be downloaded from a network, or copied or loaded onto the flash memory from a CD-ROM or any other external memory source. Once the data transfer is complete, the processor can detect the end of the write event and reduce the temperature back to a predetermined operating temperature. For example, the processor 106 can reduce the workload on the heat source 108 or allow the processor to throttle, open one or more pipes to release excess heat out of the system, adjust the speed of one or more cooling fans, or use any of the techniques described herein to reduce the temperature. Thus, the data written to the flash memory 102 can benefit from the increased retention time due to the higher write temperature when it is stored.
[0024] It should be understood that Figure 1 The block diagram is not intended to indicate that system 100 will include Figure 1 Instead, computing device 100 may include fewer components or Figure 1 Additional components not illustrated in the example (e.g., additional memory, sensors, processors, heat sources, no sensors, etc.).
[0025] Figure 2 is a process flow diagram of an example method for using waste heat to increase flash memory retention time. The method 200 may be performed using any suitable computing device (such as Figure 4 The computing system 402) is implemented.
[0026] At box 202, the processor detects or predicts a write event associated with the flash memory. In some examples, the write event can be detected or predicted based on a detected update or download screen. For example, a game console may have an update or download screen that can be used to predict a write event associated with the flash memory. In some examples, the update or download screen may include the size of the data to be downloaded. The data to be downloaded may be an additional game, application, update to a game, application, or operating system. In some examples, a temperature control mechanism may be used for an OS write buffer routine. For example, an OS buffer may write data to RAM before committing the data to a storage medium for performance reasons. In some examples, the system update process may query the cloud to see how much data to write before the update begins.
[0027] At block 204, the processor controls the device to cause the temperature at the flash memory to increase via residual heat in response to the write event. For example, the processor may cause the temperature to increase to a write temperature. The write temperature may be a temperature that is higher than a first predetermined threshold temperature and lower than a second predetermined threshold temperature. In some examples, the processor may determine the write temperature based on the number of flash memory writes detected to be performed. For example, the amount of time required to increase the write temperature versus the amount of data to be written may be adjusted because heating or cooling the system may take a few seconds or minutes. In some examples, the processor may determine the write temperature based on the state of the heat source of the residual heat. The second threshold may similarly be determined based on one or both of these factors. In some examples, the threshold temperature to be used may be determined using a table. The processor may cause the temperature to increase by reducing the speed of a fan in the system. For example, reducing the fan speed may cause the temperature of the entire system to increase, and thus increase the temperature of the flash memory. In some examples, the processor may cause the temperature to increase by executing additional instructions. For example, the processor may execute additional instructions and thereby generate additional residual heat by reducing the choke. The additional residual heat generated by the processor may be used to increase the temperature of the flash memory. In some examples, the processor can control an active cooling device at the flash memory. For example, the active cooling device can be a fan, a water cooler, or a vapor cooler that is thermally coupled to the flash memory.
[0028] At block 206, the processor writes data to the flash memory at an increased temperature to increase the retention time of the data stored in the flash memory. For example, the data may be written to the flash memory as it is downloaded via a network, another memory storage device, or any other data source. The data written to the flash memory at the increased temperature may then be stored at room temperature for an increased amount of time with reduced data loss or corruption.
[0029] At box 208, the processor detects the end of the write event. For example, the processor can detect that the data in the write event has been stored in the flash memory. In some examples, the processor can detect the end of the write event when the end of the downloaded data arrives. In some examples, the processor can detect the amount of data in the write cache or how fast the write cache is being filled. The amount of data or the rate at which the write cache is being written can also be used as a trigger to start or stop a thermal process. In some examples, the read request rate can be used to reduce the temperature. Thus, the processor can reduce the temperature so that the data can be read at a predetermined normal operating temperature.
[0030] At block 210, the processor controls the device to cause the temperature at the flash memory to decrease in response to detecting the end of the write event. For example, the processor may cause the processor to throttle to resume operation to reduce excess heat from the processor. The processor may also cause the dummy workload to stop being processed. In some examples, the processor may cause an active cooling device to reduce the temperature near the flash memory. For example, the processor may cause a fan speed to increase. In some examples, the processor may open one or more vents to release excess heat from one or more heat sources.
[0031] In one embodiment, Figure 2 The process flow diagram of method 200 is intended to indicate that the steps of method 200 are to be performed in a particular order. Alternatively, in other embodiments, the steps of method 200 may be performed in any suitable order, and any suitable number of steps of method 200 may be included. Furthermore, any number of additional steps may be included in method 200 depending on the specific application.
[0032] Figure 3 is a process flow diagram of an example method for using write temperature to increase flash memory retention time when manufacturing a device. Method 300 may be used to manufacture computing devices such as Figure 4 A computing system 402 is provided.
[0033] At block 302, data to be written to the flash memory is received. For example, the data may be an operating system, an application, a game, or content such as music or video. The data may be an image of a known size to be written to the flash memory.
[0034] At block 304, the temperature at the flash memory is increased to a write temperature. In some examples, the write temperature may be based on the number of flash memory writes detected to be performed. For example, the write temperature may exceed a first threshold temperature, but not exceed a second threshold temperature. In some examples, the first threshold temperature and the second temperature threshold may be set to match the flash memory portions or different usage scenarios of the computing device. For example, a higher temperature threshold may be used for more permanent portions of a flash image, while a lower temperature threshold may be used for transient portions. Thus, as described below, since the system may take time to reach a thermal threshold, data may be written during a thermal ramp. Therefore, time may be saved during the manufacture of a computing device by writing different data to the flash memory as the temperature rises.
[0035] At block 306, data is written to the flash memory at the write temperature to increase the retention time of the data stored in the flash memory. For example, the retention time can be increased by several months by increasing the temperature by a few degrees Celsius. In some examples, the data can be written at different write temperatures based on the usage scenario of the data.
[0036] At block 308, the flash memory is provided to the device. For example, the device may be a gaming system, a laptop, a desktop computer, a mobile device, or any other device that uses flash memory.
[0037] In one embodiment, Figure 3 The process flow diagram of method 300 is intended to indicate that the steps of method 300 are to be performed in a particular order. Alternatively, in other embodiments, the steps of method 300 may be performed in any suitable order, and any suitable number of steps of method 300 may be included. Furthermore, any number of additional steps may be included in method 300 depending on the specific application.
[0038] Some of the figures describe concepts referred to as functionality, modules, features, elements, etc., in the context of one or more structural components. The various components shown in the figures may be implemented in any manner, for example, by software, hardware (e.g., discrete logic components, etc.), firmware, etc., or any combination of these implementations. In one embodiment, the various components may reflect the use of the corresponding components in an actual implementation. In other embodiments, any single component illustrated in the figures may be implemented by several actual components. The depiction of any two or more separate components in the figures may reflect different functions performed by a single actual component. The following discussion Figure 4 Details are provided regarding different systems that may be used to implement the functionality shown in the figures.
[0039] Other drawings describe concepts in the form of flow charts. In this form, some operations are described as constituting a distinguished frame executed in a certain order. These implementations are exemplary and non-restrictive. Some frames described herein can be grouped together and executed in a single operation, some frames can be decomposed into multiple component frames, and some frames can be executed in a different order than explained herein (including executing these frames in a parallel manner). The frame shown in the flow chart can be implemented by software, hardware, firmware, etc. or any combination of these implementations. As used herein, hardware may include computer systems, discrete logic components (such as application specific integrated circuits (ASICs)), etc., and any combination thereof.
[0040] With respect to terminology, the phrase "configured to" encompasses any manner in which any kind of structural component can be constructed to perform the identified operation. The structural component can be configured to perform the operation using software, hardware, firmware, etc., or any combination thereof. For example, the phrase "configured to" may refer to the logical circuit structure of a hardware element for implementing the associated functionality. The phrase "configured to" may also refer to the logical circuit structure of a hardware element designed with code for implementing the associated functionality of firmware or software. The term "module" refers to a structural element that can be implemented using any suitable hardware (e.g., processor, etc.), software (e.g., application, etc.), firmware, or any combination of hardware, software, and firmware.
[0041] The term "logic" encompasses any functionality for performing a task. For example, each operation illustrated in the flowchart corresponds to logic for performing that operation. The operations may be performed using software, hardware, firmware, etc., or any combination thereof.
[0042] As used herein, the terms "component," "system," "client," and the like are intended to refer to a computer-related entity, which can be hardware, software (e.g., software in execution), and / or firmware, or a combination thereof. For example, a component can be a process, an object, an executable, a program, a function, a library, a subroutine, and / or a computer running on a processor, or a combination of software and hardware. As an illustration, both an application running on a server and the server can be a component. One or more components can reside within a process, and a component can be located on one computer and / or distributed between two or more computers.
[0043] In addition, the claimed subject matter can be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering design techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any tangible computer-readable device or media.
[0044] Computer-readable storage media may include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, and magnetic strips, etc.), optical disks (e.g., compact disks (CDs) and digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., cards, sticks, and key drives, etc.). In contrast, computer-readable media (i.e., non-storage media) may generally additionally include communication media, such as transmission media for wireless signals, etc.
[0045] Figure 44 is a block diagram of an example of a computing system that can use waste heat to increase flash memory retention time. Example system 400 includes a computing device 402. Computing device 402 includes a processing unit 404, a system memory 406, and a system bus 408. In some examples, computing device 402 can be a game console, a personal computer (PC), an accessory console, a game controller, a laptop, or a mobile device, among other computing devices. In some examples, computing device 402 can be a node in a cloud network.
[0046] The system bus 408 couples system components including but not limited to the system memory 406 to the processing unit 404. The processing unit 404 can be any of a variety of available processors. Dual microprocessors and other multi-processor architectures can also be used as the processing unit 404.
[0047] The system bus 408 may be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus or external bus, and a local bus using any of a variety of available bus architectures known to those of ordinary skill in the art. The system memory 406 includes computer-readable storage media including volatile memory 410 and non-volatile memory 412.
[0048] A basic input / output system (BIOS) is stored in nonvolatile memory 412, containing the basic routines that transfer information between elements within computer 402, such as during start-up. By way of illustration, and not limitation, nonvolatile memory 412 may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
[0049] Volatile memory 410 includes random access memory (RAM) that acts as external cache memory. By way of illustration and not limitation, RAM can be in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), SynchLink TM DRAM (SLDRAM), Direct RAM (RDRAM), Direct Dynamic RAM (DRDRAM), and Dynamic RAM (RDRAM).
[0050] Computer 402 also includes other computer-readable media, such as removable / non-removable, volatile / non-volatile computer storage media. For example, Figure 4Disk storage 414 is shown. Disk storage 414 includes, but is not limited to, devices such as a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-210 drive, flash memory, memory stick, punch cards, or paper tape. The disk storage may be flash memory for operating system storage, game storage, media storage, etc.
[0051] In addition, disk storage 414 may also include storage media, either separately or in combination with other storage media, including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), a CD recordable drive (CD-R drive), a CD rewritable drive (CD-RW drive), or a digital versatile disk ROM drive (DVD-ROM). To facilitate connection of disk storage device 414 to system bus 408, a removable or non-removable interface is typically used, such as interface 416.
[0052] You should understand that Figure 4 Software is described that acts as an intermediary between a user and the basic computer resources described in a suitable operating environment 400. Such software includes an operating system 418. The operating system 418, which may be stored on disk storage 414, is used to control and allocate the resources of the computer 402.
[0053] System applications 420 take advantage of the management of resources by operating system 418 through program elements 424 and program data 424 stored in system memory 406 or on disk storage 422. It should be appreciated that the disclosed subject matter can be implemented using various operating systems or combinations of operating systems.
[0054] The user enters commands or information into the computer 402 through the input device 426. The input device 426 includes, but is not limited to, a pointing device (such as a mouse, trackball, stylus, etc.), a keyboard, a microphone, a joystick, a satellite dish, a scanner, a TV tuner card, a digital camera, a digital video camera, a webcam, etc. In some examples, the input device may include a natural user interface (NUI) device. NUI refers to any interface technology that enables a user to interact with a device in a "natural" way without artificial constraints imposed by, for example, a mouse, a keyboard, a remote control, etc. In some examples, the NUI device includes devices that rely on speech recognition, touch and stylus recognition, gesture recognition on and adjacent to the screen, air gestures, head and eye tracking, voice and speech, vision, touch, gestures, and machine intelligence. For example, the NUI device may include a touch-sensitive display, voice and speech recognition, intent and target understanding, and motion gesture detection using a depth camera (such as a stereo camera system, an infrared camera system, an RGB camera system, and a combination of these). The NUI device may also include motion gesture detection using an accelerometer or gyroscope, facial recognition, a three-dimensional (3D) display, head eye and gaze tracking, immersive augmented reality and virtual reality systems, all of which provide a more natural interface. The NUI device may also include technology for sensing brain activity using electric field sensing electrodes. For example, the NUI device may use an electroencephalograph (EEG) and related methods to detect the electrical activity of the brain. The input device 426 is connected to the processing unit 404 via an interface port 428 through the system bus 408. The interface port 428 includes, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB).
[0055] Output device 430 uses some of the same types of ports as input device 426. Thus, for example, a USB port may be used to provide input to computer 402 and to output information from computer 402 to output device 430.
[0056] Output adapters 432 are provided to illustrate the presence of some output devices 430 such as monitors, speakers, and printers, and other output devices 430 that can be accessed via adapters. By way of illustration and not limitation, output adapters 432 include video cards and sound cards that provide connection means between output devices 430 and system bus 408. It can be noted that other devices and systems of devices provide both input and output capabilities such as remote computing devices 434.
[0057] Computer 402 may be a server hosting various software applications in a networked environment using logical connections to one or more remote computers, such as remote computing device 434. Remote computing device 434 may be a client system equipped with a web browser, PC application, mobile phone application, etc. Remote computing device 434 may be a personal computer, server, router, network PC, workstation, microprocessor-based appliance, mobile phone, peer device or other public network node, etc., and typically includes many or all of the elements described with respect to computer 402.
[0058] Remote computing device 434 may be logically connected to computer 402 via network interface 436 and then connected via communication connection 438 (which may be wireless). Network interface 436 encompasses wireless communication networks such as local area networks (LANs) and wide area networks (WANs). LAN technologies include fiber distributed data interface (FDDI), copper distributed data interface (CDDI), Ethernet, token ring, and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks (such as integrated services digital networks (ISDN) and their variants), packet switching networks, and digital subscriber lines (DSL).
[0059] Communication connection 438 refers to the hardware / software used to connect network interface 436 to bus 408. Although communication connection 438 is shown as being internal to computer 402 for clarity, it may also be external to computer 402. For exemplary purposes, the hardware / software for connecting to network interface 436 may include internal and external technologies such as mobile phone switches, modems (including conventional telephone grade modems, cable modems, and DSL modems), ISDN adapters, and Ethernet network cards.
[0060] Computer 402 may further include sensor 440. For example, sensor 440 may be a temperature sensor. For example, sensor 440 may be a thermistor, a thermocouple, a resistance thermometer, or a silicon bandgap temperature sensor. In some examples, sensor 440 may be a collection of two or more sensors to improve reliability and consistency. For example, an average of two or more sensor values may be used as a temperature reading. In some examples, sensor 440 may be located near a flash memory (such as disk storage 414). In some examples, sensor 440 may be located on a die of the flash memory (such as disk storage 414). In some examples, sensor 440 may be a forward-looking infrared (FLIR) imaging device that can sense infrared radiation. For example, sensor 440 may estimate the temperature of the flash memory based on the detected amount of infrared radiation generated from the surface of the flash memory.
[0061] Computer 402 may further include one or more cooling devices 441. In some examples, cooling device 441 may include a dedicated cooling device that is coupled to flash memory 414 and can be controlled by processor 404 to increase or decrease the temperature at flash memory (such as disk storage 414). For example, cooling device 441 may be an active cooling device coupled to processor 404 via bus 408. In some examples, cooling device 441 may include a fan. For example, a fan may be coupled to a radiator. A radiator may be coupled to flash memory 414. In some examples, cooling device 441 may include a thermoelectric device. For example, a thermoelectric device may use the Peltier effect to transfer heat from one area to another via an applied current across two thermal conductors. Cooling device 441 may include a water cooling device. For example, a water cooling device may include a pump that may be controllable by processor 404. In some examples, cooling device 441 may be a passive cooling device coupled to both flash memory (such as disk storage 414) and a waste heat dissipation device (such as processor 404). Cooling device 441 may be a radiator or a heat pipe. For example, cooling device 441 may be a vapor chamber.
[0062] Computer 402 includes one or more program elements 422, such as event detector 442, temperature calculator 444, temperature adjuster 446, and data writer 448. In some embodiments, event detector 442 can detect or predict write events associated with flash memory, such as disk storage 414. In some examples, event detector 442 can also detect the end of a write event.
[0063] Temperature calculator 444 can determine a write temperature. For example, the write temperature can be greater than a first determined threshold and less than a second determined threshold. In some examples, temperature calculator 444 can determine the write temperature based on a detected number of flash memory writes to be performed, or a current state of a heat source of residual heat, the age of the flash memory, or any combination thereof. In some examples, a threshold temperature for the write temperature can be determined using a table.
[0064] The temperature adjuster 446 can control the device to cause the temperature at the flash memory to increase via residual heat in response to a write event. In some examples, the temperature adjuster 446 can reduce the speed of the fan in the system. For example, the temperature adjuster 446 can increase the residual heat near the flash memory by reducing the speed of the exhaust fan that removes the residual heat from the flash memory. The fan can be near the flash memory or on the flash memory. In some examples, the flash memory can be in a separate compartment. The temperature adjuster 446 can control a thermal gate in response to detecting or predicting a write event, and the thermal gate provides residual heat from the system to the compartment. In some examples, the temperature adjuster 446 can cause the processor to execute additional instructions to increase the residual heat. For example, the temperature adjuster 446 can disable the processor throttling or provide additional instructions for the idle processor to execute. In some examples, the temperature adjuster 446 can control an active cooling device 441 at the flash memory. For example, the active cooling device 441 can be a thermoelectric cooling device, such as a refrigerator using the Peltier effect. In some examples, the cooling device 441 can be a passive cooling device, such as a radiator or a heat pipe. For example, cooling device 441 can be a vapor chamber coupled to both the flash memory and at least one other waste heat dissipation device (such as a processor). Active cooling device 441 can also be a fan mounted on a heat sink that is thermally coupled to the flash memory. In some examples, temperature adjuster 446 can cause the temperature at the flash memory to decrease in response to detecting the end of the write event. For example, temperature adjuster 446 can cause the processor to throttle back to return the temperature to a predetermined normal operating temperature. Data writer 448 can write data to the flash memory at an increased temperature to increase the retention time of the data stored in the flash memory.
[0065] It should be understood that Figure 4 The block diagram is not intended to indicate that the computing system 402 is to include Figure 4 In contrast, computing system 402 may include fewer components or Figure 4 404. In addition, any functionality of event detector 442, temperature calculator 444, temperature adjuster 446, or data writer 448 may be implemented in part or in whole in hardware and / or processor 404. For example, the functionality may be implemented with an application specific integrated circuit, with logic implemented in processor 404, or with any other device.
[0066] Figure 5 is a block diagram of an example computer-readable storage medium that can use waste heat to increase flash memory retention time. Tangible computer-readable storage medium 500 can be accessed by processor 502 via computer bus 504. In addition, tangible computer-readable storage medium 500 can include code that directs processor 502 to perform the steps of the present method.
[0067] The various software components discussed herein may be stored on a tangible computer-readable storage medium 500, such as Figure 5 For example, the tangible computer-readable storage medium 500 may include an event detector 506, a temperature calculator 508, a temperature adjuster 510, and a data writer 512. In some embodiments, the event detector 506 may detect or predict a write event associated with the flash memory. In some examples, the event detector 506 may also detect the end of a write event.
[0068] In some examples, temperature calculator 508 can determine a write temperature. For example, the write temperature can be greater than a first determined threshold and less than a second determined threshold. In some examples, the write temperature can be determined based on a detected number of flash memory writes to be performed, or a current state of a heat source of residual heat, the age of the flash memory, or any combination thereof. In some examples, the threshold temperature to be used can be determined using a table.
[0069] The temperature adjuster 510 can control the device to cause the temperature at the flash memory to increase via residual heat in response to a write event. In some examples, the device can be a fan. For example, the temperature adjuster 510 can reduce the speed of a fan in the system. For example, the temperature adjuster 510 can increase the residual heat near the flash memory by reducing the speed of an exhaust fan that removes residual heat from the flash memory. The fan can be near the flash memory or on the flash memory. In some examples, the temperature adjuster 510 can cause the processor to execute additional instructions to increase the residual heat. For example, the temperature adjuster 510 can disable the processor throttling or provide additional instructions for the idle processor to execute. In some examples, the device can be an active cooling device. For example, the temperature adjuster 510 can control the active cooling device at the flash memory. For example, the active cooling device can be a thermoelectric cooling device, such as a refrigerator using the Peltier effect. The active cooling device can also be a variable conductivity heat pipe. The active cooling device can also be a fan mounted on a heat sink that is thermally coupled to the flash memory. In some examples, the temperature adjuster 510 can cause the temperature at the flash memory to decrease in response to detecting the end of the write event. For example, the temperature regulator 510 may cause the processor to throttle back to return the temperature to a predetermined normal operating temperature. The data writer 512 may write data to the flash memory at an increased temperature to increase the retention time of the data stored in the flash memory.
[0070] It should be understood that, depending on the specific application, Figure 5 Any number of additional software components not shown in the drawings may be included within the tangible computer-readable storage medium 500 .
[0071] Example 1
[0072] In one embodiment, a system for increasing data retention time may include a processor to execute code to detect or predict a write event associated with a flash memory. The processor may also control a device in the system to cause an increase in temperature at the flash memory via residual heat in response to the write event. Additionally, the processor may write data to the flash memory at the increased temperature to increase the retention time of the data stored in the flash memory.
[0073] Alternatively or additionally, the system may include a sensor to measure the temperature at the flash memory. The sensor may be located on the die of the flash memory. Alternatively or additionally, the system may include a sensor to measure the temperature at the flash memory. The sensor may be located near the flash memory. Alternatively or additionally, the device includes a cooling device coupled to the flash memory. The processor may control the cooling device to increase the temperature of the flash memory. Alternatively or additionally, the write event may include a game download, an application download, or an operating system update containing a data size exceeding a threshold size. Alternatively or additionally, the system may include a separate compartment for the flash memory. The device may include a thermal gate for providing residual heat from the system to the compartment in response to detecting or predicting a write event. Alternatively or additionally, the processor is used to increase the temperature to exceed a predetermined threshold based on the number of flash memory writes detected to be performed, the current state of the heat source of the residual heat, the age of the flash memory, or any combination thereof.
[0074] Example 2
[0075] In another embodiment, a method for increasing data retention time may include detecting or predicting, via a processor, a write event associated with a flash memory. The method may also include controlling, via the processor, a device to cause an increase in temperature at the flash memory via residual heat in response to the write event. Additionally, the method may include writing data to the flash memory at an increased temperature via the processor to increase the retention time of the data stored in the flash memory.
[0076] Alternatively or additionally, the method may include: detecting the end of a write event; and controlling the device to cause a temperature at the flash memory to decrease in response to detecting the end of the write event. Alternatively or additionally, controlling the device to cause an increase in temperature may include, via a processor, reducing the speed of a fan in the system. Alternatively or additionally, controlling the device to cause an increase in temperature may include, via a processor, executing additional instructions. The residual heat may be generated at least in part by the processor. Alternatively or additionally, controlling the device to cause an increase in temperature may include, via a processor, controlling an active cooling device at the flash memory. Alternatively or additionally, controlling the device to cause an increase in temperature may include increasing the temperature to a write temperature that is higher than a first predetermined threshold temperature and lower than a second predetermined threshold temperature. Alternatively or additionally, controlling the device to cause an increase in temperature may include, via a processor, determining a write temperature based on a detected number of flash memory writes to be performed. Alternatively or additionally, controlling the device to cause an increase in temperature may include, via a processor, determining a write temperature based on a state of a heat source of the residual heat.
[0077] Example 3
[0078] In yet another embodiment, one or more computer-readable storage media for increasing data retention time may include a plurality of instructions that, in response to execution by a processor, cause the processor to detect or predict a write event associated with the flash memory. The plurality of instructions may also cause the processor to control a device to cause an increase in temperature at the flash memory via residual heat in response to the write event. Additionally, the plurality of instructions may cause the processor to write data to the flash memory at an increased temperature to increase the retention time of the data stored in the flash memory.
[0079] Alternatively or additionally, the plurality of instructions may cause the processor to detect the end of a write event, and in response to detecting the end of a write event, cause the temperature at the flash memory to decrease. Alternatively or additionally, the device may include a fan in the system, and the plurality of instructions may include code to reduce the fan speed. Alternatively or additionally, the plurality of instructions may cause the processor to execute additional instructions to increase waste heat. Alternatively or additionally, the device may include an active cooling device at the flash memory.
[0080] Example 4
[0081] In one embodiment, a system for increasing data retention time may include means for detecting or predicting write events associated with flash memory. The system may also include means for controlling a device in the system to cause an increase in temperature at the flash memory via residual heat in response to the write event. Additionally, the system may include means for writing data to the flash memory at the increased temperature to increase the retention time of the data stored in the flash memory.
[0082] Alternatively or additionally, the system may include means for measuring a temperature at the flash memory. The means for measuring the temperature may be located on the die of the flash memory. Alternatively or additionally, the system may include means for measuring a temperature at the flash memory. The means for measuring the temperature may be located near the flash memory. Alternatively or additionally, the device includes means for cooling the flash memory coupled to the flash memory. The processor may control the means for cooling the flash memory to increase the temperature of the flash memory. Alternatively or additionally, the write event may include a game download, an application download, or an operating system update containing a data size exceeding a threshold size. Alternatively or additionally, the system may include a separate compartment for the flash memory. The means for cooling the flash memory may include a thermal gate that provides residual heat from the system to the compartment in response to detecting or predicting a write event. Alternatively or additionally, the system may include means for increasing the temperature to exceed a predetermined threshold based on a detected number of flash memory writes to be performed, a current state of a heat source of residual heat, the age of the flash memory, or any combination thereof.
[0083] Specifically, and with respect to the various functions performed by the components, devices, circuits, systems, etc. described above, unless otherwise specified, the terms used to describe such components (including references to "means") are intended to correspond to any component that performs the specified functions of the described components, e.g., a functional equivalent of the functions in the exemplary aspects of the claimed subject matter illustrated herein, even if not structurally equivalent to the disclosed structures. In this regard, it should also be recognized that the present invention includes systems and computer-readable storage media having computer-executable instructions for performing the actions and events of the various methods of the claimed subject matter.
[0084] There are many ways to implement the claimed subject matter, e.g., appropriate APIs, toolkits, driver code, operating systems, controls, standalone or downloadable software objects, etc., that enable applications and services to use the techniques described herein. The claimed subject matter is also contemplated from the perspective of an API (or other software object), and from the use of software or hardware objects that operate according to the techniques described herein. Thus, various implementations of the claimed subject matter described herein can have various aspects implemented entirely in hardware, partially in hardware and partially in software, and in software.
[0085] The above systems have been described with reference to the interactions between several components. It can be appreciated that these systems and components can include components or specified sub-components, certain specified components or sub-components, and additional components, and in accordance with various permutations and combinations of the above. Sub-components can also be implemented as components that are communicatively coupled to other components, rather than being included within a parent component (hierarchical).
[0086] Additionally, it should be noted that one or more components may also be combined into a single component providing aggregate functionality, or may also be divided into several separate sub-components, and any one or more intermediate layers, such as a management layer, may be provided to communicatively couple to such sub-components to provide integrated functionality. Any component described herein may also interact with one or more other components not specifically described herein but generally known to those skilled in the art.
[0087] Additionally, while a feature of the claimed subject matter may have been disclosed with respect to one of several implementations, such feature may be combined with one or more other features of other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms "includes," "comprising," "having," "including," variations thereof, and other similar words are used in the detailed description or claims, these terms are intended to be inclusive in a manner similar to the term "comprising" as an open transition word without excluding any additional or other elements.
Claims
1. A system for increasing data retention time, comprising: A processor configured to execute code to: detecting or predicting write events associated with flash memory; controlling a device in the system to cause a temperature at the flash memory to increase via residual heat above a first threshold temperature based on an age of the flash memory and in response to the write event including a data size exceeding a threshold size; as well as Data is written to the flash memory at the temperature above the first threshold temperature to increase the data retention time of the data stored in the flash memory.
2. The system of claim 1, comprising a sensor to measure the temperature at the flash memory, wherein the sensor is located on a die of the flash memory.
3. The system of claim 1, comprising a sensor to measure the temperature at the flash memory, wherein the sensor is located near the flash memory.
4. The system according to claim 1, characterized in that The apparatus includes a cooling device coupled to the flash memory, and wherein the processor is to control the cooling device to increase a temperature of the flash memory.
5. The system according to claim 1, wherein: The write event includes a game download, an application download, or an operating system update.
6. The system according to claim 1, wherein: The system includes a separate compartment for the flash memory, and wherein the device includes a thermal gate for providing residual heat from the system to the compartment in response to detecting or predicting the write event.
7. The system according to claim 1, characterized in that The processor is configured to increase the temperature above a predetermined threshold based on a detected number of flash memory writes to be performed, a current state of a heat source of the residual heat, an age of the flash memory, or any combination thereof.
8. A method for increasing data retention time, comprising: detecting or predicting, via a processor, a write event associated with the flash memory; controlling, via the processor, a device to cause a temperature at the flash memory to increase via residual heat above a first threshold temperature based on an age of the flash memory and in response to the write event including a data size exceeding a threshold size; as well as Data is written to the flash memory via the processor at the temperature above the first threshold temperature to increase the data retention time of the data stored in the flash memory.
9. The method according to claim 8, characterized in that include: detecting an end of the write event; as well as The device is controlled to cause the temperature at the flash memory to decrease in response to detecting an end of the write event.
10. The method according to claim 8, characterized in that Controlling the device to cause the temperature to increase includes reducing, via the processor, a speed of a fan in the system.
11. The method according to claim 8, characterized in that Controlling the device to cause the temperature to increase includes executing additional instructions via the processor, wherein the excess heat is generated at least in part by the processor.
12. The method according to claim 8, characterized in that Controlling the device to cause the temperature to increase includes controlling an active cooling device at the flash memory via the processor.
13. The method according to claim 8, characterized in that Controlling the device to cause the temperature to increase includes increasing the temperature to a write temperature that is above a first predetermined threshold temperature and below a second predetermined threshold temperature.
14. The method according to claim 8, characterized in that Controlling the device to cause the temperature to increase includes determining, via the processor, a write temperature based on a detected number of flash memory writes to be performed.
15. The method according to claim 8, characterized in that Controlling the device to cause the temperature to increase includes determining, via the processor, a write temperature based on a state of a heat source of the residual heat.
16. One or more computer-readable storage media for increasing data retention time, comprising a plurality of instructions that, in response to being executed by a processor, cause the processor to: detecting or predicting write events associated with flash memory; controlling a device to cause a temperature at the flash memory to increase via residual heat above a first threshold temperature based on an age of the flash memory and in response to the write event including a data size exceeding a threshold size; and Data is written to the flash memory at the temperature above the first threshold temperature to increase the data retention time of the data stored in the flash memory.
17. The one or more computer-readable storage media of claim 16, the plurality of instructions comprising code for detecting an end of the write event and causing a temperature at the flash memory to decrease in response to detecting an end of the write event.
18. The one or more computer-readable storage media of claim 16, wherein: The device includes a fan in a system, and the plurality of instructions includes code to reduce a speed of the fan.
19. The one or more computer-readable storage media of claim 16, the plurality of instructions comprising code for executing additional instructions to increase the excess heat.
20. The one or more computer-readable storage media of claim 16, wherein: The device includes an active cooling device at the flash memory.
21. A computer-readable storage medium having instructions, which, when executed, cause a machine to perform the method of any one of claims 8 to 15.
22. A computer system comprising means for executing the method as claimed in any one of claims 8 to 15.
Citation Information
Patent Citations
Temperature management in data storage devices
US20170071056A1