US20120023356A1 - Peak power validation methods and systems for non-volatile memory - Google Patents

Peak power validation methods and systems for non-volatile memory Download PDF

Info

Publication number
US20120023356A1
US20120023356A1 US12/843,438 US84343810A US2012023356A1 US 20120023356 A1 US20120023356 A1 US 20120023356A1 US 84343810 A US84343810 A US 84343810A US 2012023356 A1 US2012023356 A1 US 2012023356A1
Authority
US
United States
Prior art keywords
nvm
power consumption
nvm package
package
power
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US12/843,438
Other versions
US8522055B2 (en
Inventor
Matthew Byom
Hugo Fiennes
Arjun Kapoor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Priority to US12/843,438 priority Critical patent/US8522055B2/en
Assigned to APPLE INC. reassignment APPLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FIENNES, HUGO, BYOM, MATTHEW, KAPOOR, ARJUN
Publication of US20120023356A1 publication Critical patent/US20120023356A1/en
Application granted granted Critical
Publication of US8522055B2 publication Critical patent/US8522055B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels

Definitions

  • Non-volatile memory such as Nand Flash NVM have die lithographies that continue to shrink with each generation. As a result, power consumption of the NVM increases along with its corresponding increase in storage density. Electronic systems that use such NVMs need to be able to adequately meet the increased power demands. For example, a power management unit of the electronic system needs to supply the minimum quantity of power required by the NVM. However, due to variances in manufacturing processes of NVMs, the power consumption of the NVMs may vary from one NVM to another. For example, one NVM may consume more power than that which can be supplied by the power management unit. Thus, if this NVM is incorporated into the electronic system, the system may experience a failure when the NVM attempts to pull more power than can be supplied.
  • NVM Non-volatile memory
  • a NVM may be validated by determining its power consumption profile, and if the profile meets predetermined criteria, that NVM may be qualified for use in an electronic system.
  • a power consumption profile of a NVM can be determined by providing power to the NVM package, issuing commands to the NVM package so that each die is simultaneously accessed, and monitoring NVM package power consumption during the simultaneous access of each die to obtain a power consumption profile of the NVM package. Based on the power consumption profile, such as a peak power consumption value, a determination can be made whether the NVM package is suitable for use in an electronic device.
  • a testing system may be provided to qualify NVM packages for use in an electronic system.
  • the testing system can include power monitoring circuitry for monitoring power consumed by a NVM package during testing.
  • the testing system can include testing circuitry operative to issue commands to the NVM package to simultaneously access each of the plurality of die to thereby invoke a maximum power consumption event by the NVM package, receive power consumption data from the power monitoring circuitry, analyze the received power consumption data, and qualify the NVM package for use in an electronic device based on analysis of the received power consumption data.
  • NVM packages can be matched to power management units based on their power profiles.
  • An NVM package can be matched to power management unit by ascertaining a power consumption profile of the NVM package.
  • the profile can include a peak power consumption value, and the NVM package can include several die.
  • the NVM package can be matched to a power management unit (PMU) capable of supplying power to satisfy the peak power consumption value.
  • PMU power management unit
  • FIG. 1 is a schematic view of an electronic device configured in accordance with various embodiments of the invention.
  • FIG. 2A is a schematic view of an illustrative system including a host processor and a managed non-volatile memory package configured in accordance with various embodiments of the invention
  • FIG. 2B is a schematic view of an illustrative system including a host processor and a raw non-volatile memory package configured in accordance with various embodiments of the invention
  • FIG. 2C is a graph illustrating a current consumption profile of a NVM package in accordance with various embodiments of the invention.
  • FIG. 3 is an illustrative block diagram of NVM package testing system in accordance with various embodiments of the invention.
  • FIG. 4 is an illustrative flowchart showing steps that for obtaining a power consumption profile of one or more dies in a NVM package in accordance with various embodiments of the invention.
  • FIG. 5 is an illustrative flowchart showing steps for matching NVM packages with power management units (PMUs) in accordance with various embodiments of the invention.
  • PMUs power management units
  • FIG. 1 is a schematic view of electronic device 100 .
  • electronic device 100 can be or can include a portable media player (e.g., an iPodTM made available by Apple Inc. of Cupertino, Calif.), a cellular telephone (e.g., an iPhoneTM made available by Apple Inc.), a pocket-sized personal computer, a personal digital assistance (“PDA”), a desktop computer, a laptop computer, and any other suitable type of electronic device.
  • a portable media player e.g., an iPodTM made available by Apple Inc. of Cupertino, Calif.
  • a cellular telephone e.g., an iPhoneTM made available by Apple Inc.
  • PDA personal digital assistance
  • Non-volatile memory 120 can include a NAND flash memory based on floating gate or charge trapping technology, NOR flash memory, erasable programmable read only memory (“EPROM”), electrically erasable programmable read only memory (“EEPROM”), Ferroelectric RAM (“FRAM”), magnetoresistive RAM (“MRAM”), any other known or future types of non-volatile memory technology, or any combination thereof.
  • NVM 120 can be organized into “blocks,” which are the smallest unit of erase, and further organized into “pages,” which are the smallest that can programmed and/or read.
  • NVM 120 can include multiple integrated circuits, where each integrated circuit may have multiple blocks.
  • the blocks from corresponding integrated circuits e.g., blocks having the same position or block number
  • Each memory location (e.g., page or block) of NVM 120 can be addressed using a physical address (e.g., a physical page address or physical block address).
  • PMU 130 can include circuitry for managing distribution of power to components in electronic device 100 .
  • PMU 130 may regulate power provided by battery 140 to SOC 110 and NVM 120 .
  • PMU 130 may limit the quantity of power that may be provided by any of the components.
  • the power limit may be a protection mechanism or a function of its construction. In fact, due to manufacturing differences in silicon, some PMUs may conduct more power than other PMUs.
  • Battery 140 may be any suitable battery for supplying power to electronic device 100 .
  • battery 140 may be a lithium ion battery.
  • an alternative power source can be used to power electronic device 100 such as a fuel cell or solar cell.
  • FIG. 1 may sometimes be described in terms of using flash technology. However, this is not intended to be limiting, and any other type of non-volatile memory can be implemented instead.
  • Electronic device 100 can include other components, such as a power supply or any user input or output components, which are not depicted in FIG. 1 to prevent overcomplicating the figure.
  • System-on-a-chip 110 can include SoC control circuitry 112 , memory 114 , and NVM interface 118 .
  • SoC control circuitry 112 can control the general operations and functions of SoC 110 and the other components of SoC 110 or device 100 .
  • SoC control circuitry 112 can issue read or write commands to NVM interface 118 to obtain data from or store data in NVM 120 .
  • data that SoC control circuitry 112 may request for storage or retrieval may be referred to as “user data,” even though the data may not be directly associated with a user or user application. Rather, the user data can be any suitable sequence of digital information generated or obtained by SoC control circuitry 112 (e.g., via an application or operating system).
  • SoC control circuitry 112 can include any combination of hardware, software, and firmware, and any components, circuitry, or logic operative to drive the functionality of electronic device 100 .
  • SoC control circuitry 112 can include one or more processors that operate under the control of software/firmware stored in NVM 120 or memory 114 .
  • Memory 114 can include any suitable type of volatile or non-volatile memory, such as dynamic random access memory (“DRAM”), synchronous dynamic random access memory (“SDRAM”), double-data-rate (“DDR”) RAM, cache memory, read-only memory (“ROM”), or any combination thereof.
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • DDR double-data-rate
  • ROM read-only memory
  • Memory 114 can include a data source that can temporarily store user data for programming into or reading from non-volatile memory 120 .
  • memory 114 may act as the main memory for any processors implemented as part of SoC control circuitry 112 .
  • NVM interface 118 may include any suitable combination of hardware, software, and/or firmware configured to act as an interface or driver between SoC control circuitry 112 and NVM 120 .
  • corresponding program code may be stored in NVM 120 or memory 114 .
  • NVM interface 118 can perform a variety of functions that allow SoC control circuitry 112 to access NVM 120 and to manage the memory locations (e.g., pages, blocks, super blocks, integrated circuits) of NVM 120 and the data stored therein (e.g., user data). For example, NVM interface 118 can interpret the read or write commands from SoC control circuitry 112 , perform wear leveling, and generate read and program instructions compatible with the bus protocol of NVM 120 .
  • NVM interface 118 and SoC control circuitry 112 are shown as separate modules, this is intended only to simplify the description of the embodiments of the invention. It should be understood that these modules may share hardware components, software components, or both.
  • a processor implemented as part of SoC control circuitry 112 may execute a software-based memory driver for NVM interface 118 . Accordingly, portions of SoC control circuitry 112 and NVM interface 118 may sometimes be referred to collectively as “control circuitry.”
  • FIG. 1 illustrates an electronic device where NVM 120 may not have its own controller.
  • electronic device 100 can include a target device, such as a flash or SD card, that includes NVM 120 and some or all portions of NVM interface 118 (e.g., a translation layer, discussed below).
  • SoC 110 or SoC control circuitry 112 may act as the host controller for the target device. For example, as the host controller, SoC 110 can issue read and write requests to the target device.
  • FIGS. 2A and 2B are schematic views of systems, which are examples of various embodiments of embodiment 100 of FIG. 1 .
  • system 200 can include host processor 210 and at least one non-volatile memory (“NVM”) package 220 .
  • Host processor 210 and optionally NVM package 220 can be implemented in any suitable host device or system, such as a portable media player (e.g., an iPodTM made available by Apple Inc. of Cupertino, Calif.), a cellular telephone (e.g., an iPhoneTM made available by Apple Inc.), a pocket-sized personal computer, a personal digital assistance (“PDA”), a desktop computer, or a laptop computer.
  • a portable media player e.g., an iPodTM made available by Apple Inc. of Cupertino, Calif.
  • a cellular telephone e.g., an iPhoneTM made available by Apple Inc.
  • PDA personal digital assistance
  • Host processor 210 can include one or more processors or microprocessors that are currently available or will be developed in the future. Alternatively or in addition, host processor 210 can include or operate in conjunction with any other components or circuitry capable of controlling various operations of memory system 200 (e.g., application-specific integrated circuits (“ASICs”)). In a processor-based implementation, host processor 210 can execute firmware and software programs loaded into a memory (not shown) implemented on the host.
  • the memory can include any suitable type of volatile memory (e.g., cache memory or random access memory (“RAM”), such as double data rate (“DDR”) RAM or static RAM (“SRAM”)).
  • Host processor 210 can execute NVM driver 212 , which may provide vendor-specific and/or technology-specific instructions that enable host processor 210 to perform various memory management and access functions for non-volatile memory package 220 .
  • Host processor 210 can perform any of the functions of SoC 110 (of FIG. 1 ).
  • NVM package 220 may be a ball grid array (“BGA”) package or other suitable type of integrated circuit (“IC”) package.
  • NVM package 220 may be managed NVM package.
  • NVM package 220 can include NVM controller 222 coupled to any suitable number of NVM dies 224 .
  • NVM controller 222 may include any suitable combination of processors, microprocessors, or hardware-based components (e.g., ASICs), and may include the same components as or different components from host processor 210 .
  • NVM controller 222 may share the responsibility of managing and/or accessing the physical memory locations of NVM dies 224 with NVM driver 212 .
  • NVM controller 222 may perform substantially all of the management and access functions for NVM dies 224 .
  • a “managed NVM” may refer to a memory device or package that includes a controller (e.g., NVM controller 222 ) configured to perform at least one memory management function for a non-volatile memory (e.g., NVM dies 224 ).
  • Memory management and access functions that may be performed by NVM controller 222 and/or host processor 210 for NVM dies 224 can include issuing read, write, or erase instructions and performing wear leveling, bad block management, garbage collection, logical-to-physical address mapping, SLC or MLC programming decisions, applying error correction or detection, and data queuing to set up program operations.
  • NVM dies 224 may be used to store information that needs to be retained when memory system 200 is powered down.
  • a “non-volatile memory” can refer to NVM dies in which data can be stored, or may refer to a NVM package that includes the NVM dies.
  • System 250 may be an example of another embodiment of electronic device 100 of FIG. 1 .
  • System 250 may have any of the features and functionalities described above in connection with system 200 of FIG. 2A .
  • any of the components depicted in FIG. 2B may have any of the features and functionalities of like-named components in FIG. 2A , and vice versa.
  • System 250 can include host processor 260 and non-volatile memory package 270 .
  • NVM package 270 does not include an embedded NVM controller, and therefore NVM dies 274 may be managed entirely by host processor 260 (e.g., via NVM driver 262 ).
  • non-volatile memory package 270 may be referred to as a “raw NVM.”
  • a “raw NVM” may refer to a memory device or package that may be managed entirely by a host controller or processor (e.g., host processor 260 ) implemented external to the NVM package.
  • Host processor 260 may perform any of the other memory management and access functions discussed above in connection with host processor 210 and NVM controller 222 of FIG. 2A .
  • host processor 260 may perform any of the functions of SoC 110 (of FIG. 1 ).
  • NVM controller 222 ( FIG. 2A ) and host processor 270 (e.g., via NVM driver 262 ) ( FIG. 2B ) may each embody the features and functionality of SoC 110 discussed above in connection with FIG. 1
  • NVM dies 224 and 274 may embody respective power consumption profiles that may be ascertained using various embodiments of the invention.
  • NVM dies 224 and 274 may each have a peaky current profile, where the highest peaks occur when a die is performing its most power-intensive operations.
  • an example of such a power-intensive operation is a sensing operation (e.g., current sensing operation), which may be used when reading data stored in memory cells. Such sensing operations may be performed, for example, responsive to read requests from a host processor and/or a NVM controller when verifying that data was properly stored after programming.
  • FIG. 2C shows illustrative current consumption profile 290 .
  • Current consumption profile 290 gives an example of the current consumption of a NVM die (e.g., one of NVM dies 224 or 274 ) during a verification-type sensing operation. With several peaks, including peaks 292 and 294 , current consumption profile 290 illustrates how peaky a verification-type sensing operation may be. These verification-type sensing operations may be of particular concern, as these operations may be likely to occur across multiple NVM dies at the same time (i.e., due to employing parallel writes across multiple dies). Thus, if not managed by NVM controller 222 ( FIG. 2A ) or host processor 260 , the peaks of different NVM dies may overlap and the total current sum may be unacceptably high. This situation may occur with other types of power-intensive operations, such as erase and program operations.
  • FIG. 2C shows an illustrative current consumption profile for one die.
  • NVM typically includes multiple die (e.g., 2, 4, 8, 16) die per NVM package.
  • the cumulative current consumption profile can be significantly higher than that of a single die.
  • the cumulative current consumption profile may be obtained by testing a NVM package according to various embodiments of the invention.
  • Test system 300 can include NVM package 310 , which can include multiple dies 312 and circuitry 314 , testing circuitry 320 , power monitoring circuitry 330 , and power source 340 . Only four dies 312 are shown, but it is understood that any number of dies may be included. Circuitry 314 can be circuitry for enabling conventional operations of NVM package 310 such as programming, reading, and erasing operations. For example, circuitry 314 can include charge pumps, row and column decoders, buffers, and any other suitable circuitry. NVM package 310 can include data busses 316 for enabling transfer of data to/from NVM package 310 . In some embodiments, the number of data busses may be less than the number of dies 312 . NVM package 310 can also include chip enable lines 318 for selectively enabling dies 312 .
  • Each die 312 can include a predetermined number of physical blocks and each block can include a predetermined number of pages. Pages and blocks represent physical locations of memory cells within die 312 . Blocks are the smallest erasable unit of memory cells and pages are smallest unit of data that can be programmed or read at a time within a block. Cells with the pages or blocks can be accessed using addressing circuitry (e.g., circuitry 314 ) associated with the NVM package in which the cells reside. Only one block per plane can be accessed at any given time.
  • addressing circuitry e.g., circuitry 314
  • blocks from two or more dies can be virtually linked together to form a superblock.
  • respective blocks in all four dies 312 can be virtually linked together to form a superblock.
  • Blocks need not be in the same row of each plane to be virtually linked as a superblock.
  • blocks may be chosen randomly from two or more dies to form a superblock.
  • blocks may be chosen from two or more planes, in which blocks in each plane are simultaneously accessible.
  • Superblocks provide operational parallelism, thereby enabling programming, reading, and erase operations to be performed on blocks located in different planes in parallel.
  • pages from two or more planes may be virtually linked together to form superpages.
  • a translation layer being implemented in an NVM interface may keep track of superblocks or superpages.
  • Power monitoring circuitry 330 may be electrically coupled to NVM package 310 and power source 340 . Power monitoring circuitry 330 may monitor power being supplied to NVM package 310 . In some embodiments, circuitry 330 can monitor the current being consumed by NVM package 310 . In another embodiment, circuitry 330 can monitor the voltage being supplied to NVM package 330 . Regardless of whether it is power, current, voltage, or a combination thereof, circuitry 330 can provide its monitored readings to testing circuitry 320 .
  • Testing circuitry 320 can function as the control center for testing NVM package 310 .
  • Testing circuitry 330 may be electrically coupled to NVM package 310 via data busses 316 or chip enable lines 318 and may also be electrically coupled to power monitoring circuitry 330 .
  • Testing circuitry 330 can perform one or more tests on NVM package 310 to obtain power consumption data during those tests.
  • testing circuitry 330 can issue commands such as read or program commands to NVM package 310 and while those commands are executed, power monitoring circuitry 330 may relay monitored power information to testing circuitry 330 for recording and further analysis. By issuing these commands, testing circuitry 320 can obtain power consumption profiles for each die 312 independently, a subset of all the dies 312 in NVM package 310 , or a combination of all dies 312 in NVM package 310 .
  • FIG. 4 is an illustrative flowchart showing steps for obtaining a power consumption profile of one or more dies in a NVM package according to an embodiment of the invention.
  • power can be provided to a NVM package including a plurality of dies (e.g., NVM package 310 with multiple dies 312 ).
  • Data may or may not be stored in the NVM package as tests for determining power consumption profiles is not data dependent.
  • commands are issued to the NVM package so that each die is simultaneously accessed.
  • Any suitable command may be issued such as read commands, program commands, or erase commands.
  • the commands can be read commands.
  • the read commands may be any suitable read command capable of multiple simultaneous die access.
  • the read commands may read a full block in each die or one or more pages in each die.
  • the read command may read a superblock (as discussed above). Using read commands in this manner can ensure that a maximum amount of power is utilized by the NVM package—by causing overlapping maximum current spikes in each die. Moreover, this intentionally invokes overlapping current spikes that effectively mimic current spikes that can occur on a verify path of each die during program operations.
  • issuing read commands to simultaneously access all die may be counterintuitive because there may not be a sufficient number of busses to output the data from all the die. Retrieving the data, however, is not necessary because the simultaneous read commands enable the process to determine the maximum power profile of the NVM package.
  • issuing read commands to simultaneously access all die is not a use case that requires qualification. Further still, issuing such simultaneous commands can increase the likelihood of overlap of subcomponents (like sensing circuitry) of more complication operations (such as programming).
  • An advantage of using read operations is that they can be repeated a large number of times without adversely affecting the life of the dies. This permits acquisition of relatively large sample sizes without additional complexity or time to do erase and program operations (as well as defect management from write or erase status failures).
  • the NVM package power consumption is monitored during the simultaneous multi-die read operations.
  • power-monitoring circuitry 330 of FIG. 3 may monitor power consumption.
  • the monitored power consumption may be recorded, as indicated by step 440 .
  • the information recorded may be raw data or some form of analyzed data.
  • the analyzed data can include, for example, a maximum power consumption value, a maximum current consumption value, an average power or average current consumption value, or any suitable value derived from the raw data.
  • the analyzed data may also indicate what sequence of simultaneously dispatched commands results in a worst case current spike.
  • the recorded information may be stored in the NVM package. This may permit a system or NVM interface to access the stored information to determine how much power the NVM package can potentially consume. The system or NVM interface may be able to use this information to implement NVM power management.
  • This predetermined threshold can be a raw power consumption threshold or an analyzed power threshold (e.g., a max power or max current threshold, or an average power or average current threshold). If the determination at step 450 is YES, then the NVM package is qualified for use in an electronic device, as indicated at step 460 . If the determination at step 450 is NO, then the NVM package is disqualified for use in an electronic device, as indicated at step 470 .
  • the predetermined threshold may be selected based on the power supplying capability of a power management unit (e.g., PMU 130 of device 100 as shown in FIG. 1 ). In one embodiment, the threshold may be set such that a low performing PMU is able to adequately power any NVM package qualified for use in the electronic device.
  • a power management unit e.g., PMU 130 of device 100 as shown in FIG. 1 .
  • the threshold may be set such that a low performing PMU is able to adequately power any NVM package qualified for use in the electronic device.
  • FIG. 5 is an illustrative flowchart showing steps for matching NVM packages with power management units (PMUs) in accordance with an embodiment of the invention.
  • NVM packages and PMUs may each have respective power profiles that vary from low performance to high performance. Using these power profiles, certain NVM packages may be matched with certain PMUs.
  • a power consumption profile of a NVM package is ascertained.
  • the power profile may include a peak power consumption value.
  • the power consumption profile may be obtained using the process discussed above in connection with FIG. 4 .
  • the NVM package is matched to a PMU capable of supplying power to satisfy the peak power consumption value.
  • any suitable NVM package may be matched with that PMU.
  • a high performance PMU e.g., a PMU known to supply power for any NVM package
  • a high performance PMU may be matched to any NVM package having power consumption profiles ranging from low to high.
  • a high performance PMU can be matched with a NVM package having a relatively low power consumption profile.
  • a high performance PMU can be matched with a NVM package having a relatively high power consumption profile.
  • Selectively matching NVM packages with PMUs may increase the yield throughput of both PMUs and NVM packages.
  • the matched NVM package and PMU are used in an electronic device. That is, they are eventually installed in the electronic device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Systems and methods are disclosed for validating a non-volatile memory (NVM) package for use in an electronic device before it is incorporated into the device. A NVM package may be validated by determining its power consumption profile, and if the profile meets predetermined criteria, that NVM package may be qualified for use in an electronic system. The power consumption profile may be obtained by issuing commands, such as read commands, to the NVM package to simultaneously access each die of the NVM package to invoke a maximum power consumption event. During this event, power consumption by the NVM package can be monitored and analyzed to determine whether the NVM package qualifies for use in an electronic device.

Description

    FIELD OF THE INVENTION
  • This can relate to determining peak power consumption of non-volatile memory, such as a NAND flash memory.
  • BACKGROUND OF THE DISCLOSURE
  • Non-volatile memory (NVM) such as Nand Flash NVM have die lithographies that continue to shrink with each generation. As a result, power consumption of the NVM increases along with its corresponding increase in storage density. Electronic systems that use such NVMs need to be able to adequately meet the increased power demands. For example, a power management unit of the electronic system needs to supply the minimum quantity of power required by the NVM. However, due to variances in manufacturing processes of NVMs, the power consumption of the NVMs may vary from one NVM to another. For example, one NVM may consume more power than that which can be supplied by the power management unit. Thus, if this NVM is incorporated into the electronic system, the system may experience a failure when the NVM attempts to pull more power than can be supplied.
  • SUMMARY OF THE DISCLOSURE
  • Systems and methods are disclosed for validating a NVM for use in an electronic device before it is incorporated into the device. A NVM may be validated by determining its power consumption profile, and if the profile meets predetermined criteria, that NVM may be qualified for use in an electronic system.
  • In one embodiment, a power consumption profile of a NVM can be determined by providing power to the NVM package, issuing commands to the NVM package so that each die is simultaneously accessed, and monitoring NVM package power consumption during the simultaneous access of each die to obtain a power consumption profile of the NVM package. Based on the power consumption profile, such as a peak power consumption value, a determination can be made whether the NVM package is suitable for use in an electronic device.
  • In another embodiment, a testing system may be provided to qualify NVM packages for use in an electronic system. The testing system can include power monitoring circuitry for monitoring power consumed by a NVM package during testing. The testing system can include testing circuitry operative to issue commands to the NVM package to simultaneously access each of the plurality of die to thereby invoke a maximum power consumption event by the NVM package, receive power consumption data from the power monitoring circuitry, analyze the received power consumption data, and qualify the NVM package for use in an electronic device based on analysis of the received power consumption data.
  • In another embodiment, NVM packages can be matched to power management units based on their power profiles. An NVM package can be matched to power management unit by ascertaining a power consumption profile of the NVM package. The profile can include a peak power consumption value, and the NVM package can include several die. The NVM package can be matched to a power management unit (PMU) capable of supplying power to satisfy the peak power consumption value. When matched, the NVM package and the PMU can be used in an electronic device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other aspects and advantages of the invention will become more apparent upon consideration of the following detailed description, taken in conjunction with accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
  • FIG. 1 is a schematic view of an electronic device configured in accordance with various embodiments of the invention;
  • FIG. 2A is a schematic view of an illustrative system including a host processor and a managed non-volatile memory package configured in accordance with various embodiments of the invention;
  • FIG. 2B is a schematic view of an illustrative system including a host processor and a raw non-volatile memory package configured in accordance with various embodiments of the invention;
  • FIG. 2C is a graph illustrating a current consumption profile of a NVM package in accordance with various embodiments of the invention;
  • FIG. 3 is an illustrative block diagram of NVM package testing system in accordance with various embodiments of the invention;
  • FIG. 4 is an illustrative flowchart showing steps that for obtaining a power consumption profile of one or more dies in a NVM package in accordance with various embodiments of the invention; and
  • FIG. 5 is an illustrative flowchart showing steps for matching NVM packages with power management units (PMUs) in accordance with various embodiments of the invention.
  • DETAILED DESCRIPTION OF THE DISCLOSURE
  • FIG. 1 is a schematic view of electronic device 100. In some embodiments, electronic device 100 can be or can include a portable media player (e.g., an iPod™ made available by Apple Inc. of Cupertino, Calif.), a cellular telephone (e.g., an iPhone™ made available by Apple Inc.), a pocket-sized personal computer, a personal digital assistance (“PDA”), a desktop computer, a laptop computer, and any other suitable type of electronic device.
  • Electronic device 100 can include system-on-a-chip (“SoC”) 110, non-volatile memory (“NVM”) 120, power management unit (PMU) 130, and battery 140. Non-volatile memory 120 can include a NAND flash memory based on floating gate or charge trapping technology, NOR flash memory, erasable programmable read only memory (“EPROM”), electrically erasable programmable read only memory (“EEPROM”), Ferroelectric RAM (“FRAM”), magnetoresistive RAM (“MRAM”), any other known or future types of non-volatile memory technology, or any combination thereof. NVM 120 can be organized into “blocks,” which are the smallest unit of erase, and further organized into “pages,” which are the smallest that can programmed and/or read. In some embodiments, NVM 120 can include multiple integrated circuits, where each integrated circuit may have multiple blocks. The blocks from corresponding integrated circuits (e.g., blocks having the same position or block number) may form “super blocks.” Each memory location (e.g., page or block) of NVM 120 can be addressed using a physical address (e.g., a physical page address or physical block address).
  • PMU 130 can include circuitry for managing distribution of power to components in electronic device 100. For example, PMU 130 may regulate power provided by battery 140 to SOC 110 and NVM 120. PMU 130 may limit the quantity of power that may be provided by any of the components. The power limit may be a protection mechanism or a function of its construction. In fact, due to manufacturing differences in silicon, some PMUs may conduct more power than other PMUs.
  • Battery 140 may be any suitable battery for supplying power to electronic device 100. For example, battery 140 may be a lithium ion battery. If desired, an alternative power source can be used to power electronic device 100 such as a fuel cell or solar cell.
  • FIG. 1, as well as later figures and various disclosed embodiments, may sometimes be described in terms of using flash technology. However, this is not intended to be limiting, and any other type of non-volatile memory can be implemented instead. Electronic device 100 can include other components, such as a power supply or any user input or output components, which are not depicted in FIG. 1 to prevent overcomplicating the figure.
  • System-on-a-chip 110 can include SoC control circuitry 112, memory 114, and NVM interface 118. SoC control circuitry 112 can control the general operations and functions of SoC 110 and the other components of SoC 110 or device 100. For example, responsive to user inputs and/or the instructions of an application or operating system, SoC control circuitry 112 can issue read or write commands to NVM interface 118 to obtain data from or store data in NVM 120. For clarity, data that SoC control circuitry 112 may request for storage or retrieval may be referred to as “user data,” even though the data may not be directly associated with a user or user application. Rather, the user data can be any suitable sequence of digital information generated or obtained by SoC control circuitry 112 (e.g., via an application or operating system).
  • SoC control circuitry 112 can include any combination of hardware, software, and firmware, and any components, circuitry, or logic operative to drive the functionality of electronic device 100. For example, SoC control circuitry 112 can include one or more processors that operate under the control of software/firmware stored in NVM 120 or memory 114.
  • Memory 114 can include any suitable type of volatile or non-volatile memory, such as dynamic random access memory (“DRAM”), synchronous dynamic random access memory (“SDRAM”), double-data-rate (“DDR”) RAM, cache memory, read-only memory (“ROM”), or any combination thereof. Memory 114 can include a data source that can temporarily store user data for programming into or reading from non-volatile memory 120. In some embodiments, memory 114 may act as the main memory for any processors implemented as part of SoC control circuitry 112.
  • NVM interface 118 may include any suitable combination of hardware, software, and/or firmware configured to act as an interface or driver between SoC control circuitry 112 and NVM 120. For any software modules included in NVM interface 118, corresponding program code may be stored in NVM 120 or memory 114.
  • NVM interface 118 can perform a variety of functions that allow SoC control circuitry 112 to access NVM 120 and to manage the memory locations (e.g., pages, blocks, super blocks, integrated circuits) of NVM 120 and the data stored therein (e.g., user data). For example, NVM interface 118 can interpret the read or write commands from SoC control circuitry 112, perform wear leveling, and generate read and program instructions compatible with the bus protocol of NVM 120.
  • While NVM interface 118 and SoC control circuitry 112 are shown as separate modules, this is intended only to simplify the description of the embodiments of the invention. It should be understood that these modules may share hardware components, software components, or both. For example, a processor implemented as part of SoC control circuitry 112 may execute a software-based memory driver for NVM interface 118. Accordingly, portions of SoC control circuitry 112 and NVM interface 118 may sometimes be referred to collectively as “control circuitry.”
  • FIG. 1 illustrates an electronic device where NVM 120 may not have its own controller. In other embodiments, electronic device 100 can include a target device, such as a flash or SD card, that includes NVM 120 and some or all portions of NVM interface 118 (e.g., a translation layer, discussed below). In these embodiments, SoC 110 or SoC control circuitry 112 may act as the host controller for the target device. For example, as the host controller, SoC 110 can issue read and write requests to the target device.
  • FIGS. 2A and 2B are schematic views of systems, which are examples of various embodiments of embodiment 100 of FIG. 1. Looking first to FIG. 2A, system 200 can include host processor 210 and at least one non-volatile memory (“NVM”) package 220. Host processor 210 and optionally NVM package 220 can be implemented in any suitable host device or system, such as a portable media player (e.g., an iPod™ made available by Apple Inc. of Cupertino, Calif.), a cellular telephone (e.g., an iPhone™ made available by Apple Inc.), a pocket-sized personal computer, a personal digital assistance (“PDA”), a desktop computer, or a laptop computer.
  • Host processor 210 can include one or more processors or microprocessors that are currently available or will be developed in the future. Alternatively or in addition, host processor 210 can include or operate in conjunction with any other components or circuitry capable of controlling various operations of memory system 200 (e.g., application-specific integrated circuits (“ASICs”)). In a processor-based implementation, host processor 210 can execute firmware and software programs loaded into a memory (not shown) implemented on the host. The memory can include any suitable type of volatile memory (e.g., cache memory or random access memory (“RAM”), such as double data rate (“DDR”) RAM or static RAM (“SRAM”)). Host processor 210 can execute NVM driver 212, which may provide vendor-specific and/or technology-specific instructions that enable host processor 210 to perform various memory management and access functions for non-volatile memory package 220. Host processor 210 can perform any of the functions of SoC 110 (of FIG. 1).
  • NVM package 220 may be a ball grid array (“BGA”) package or other suitable type of integrated circuit (“IC”) package. NVM package 220 may be managed NVM package. In particular, NVM package 220 can include NVM controller 222 coupled to any suitable number of NVM dies 224. NVM controller 222 may include any suitable combination of processors, microprocessors, or hardware-based components (e.g., ASICs), and may include the same components as or different components from host processor 210. NVM controller 222 may share the responsibility of managing and/or accessing the physical memory locations of NVM dies 224 with NVM driver 212. Alternatively, NVM controller 222 may perform substantially all of the management and access functions for NVM dies 224. Thus, a “managed NVM” may refer to a memory device or package that includes a controller (e.g., NVM controller 222) configured to perform at least one memory management function for a non-volatile memory (e.g., NVM dies 224). Memory management and access functions that may be performed by NVM controller 222 and/or host processor 210 for NVM dies 224 can include issuing read, write, or erase instructions and performing wear leveling, bad block management, garbage collection, logical-to-physical address mapping, SLC or MLC programming decisions, applying error correction or detection, and data queuing to set up program operations.
  • NVM dies 224 may be used to store information that needs to be retained when memory system 200 is powered down. As used herein, and depending on context, a “non-volatile memory” can refer to NVM dies in which data can be stored, or may refer to a NVM package that includes the NVM dies.
  • Referring now to FIG. 2B, a schematic view of system 250 is shown, which may be an example of another embodiment of electronic device 100 of FIG. 1. System 250 may have any of the features and functionalities described above in connection with system 200 of FIG. 2A. In particular, any of the components depicted in FIG. 2B may have any of the features and functionalities of like-named components in FIG. 2A, and vice versa.
  • System 250 can include host processor 260 and non-volatile memory package 270. Unlike memory system 200 of FIG. 2A, NVM package 270 does not include an embedded NVM controller, and therefore NVM dies 274 may be managed entirely by host processor 260 (e.g., via NVM driver 262). Thus, non-volatile memory package 270 may be referred to as a “raw NVM.” A “raw NVM” may refer to a memory device or package that may be managed entirely by a host controller or processor (e.g., host processor 260) implemented external to the NVM package. Host processor 260 may perform any of the other memory management and access functions discussed above in connection with host processor 210 and NVM controller 222 of FIG. 2A. In addition, host processor 260 may perform any of the functions of SoC 110 (of FIG. 1).
  • With continued reference to both FIGS. 2A and 2B, NVM controller 222 (FIG. 2A) and host processor 270 (e.g., via NVM driver 262) (FIG. 2B) may each embody the features and functionality of SoC 110 discussed above in connection with FIG. 1, and NVM dies 224 and 274 may embody respective power consumption profiles that may be ascertained using various embodiments of the invention. In particular, NVM dies 224 and 274 may each have a peaky current profile, where the highest peaks occur when a die is performing its most power-intensive operations. In flash memory embodiments, an example of such a power-intensive operation is a sensing operation (e.g., current sensing operation), which may be used when reading data stored in memory cells. Such sensing operations may be performed, for example, responsive to read requests from a host processor and/or a NVM controller when verifying that data was properly stored after programming.
  • FIG. 2C shows illustrative current consumption profile 290. Current consumption profile 290 gives an example of the current consumption of a NVM die (e.g., one of NVM dies 224 or 274) during a verification-type sensing operation. With several peaks, including peaks 292 and 294, current consumption profile 290 illustrates how peaky a verification-type sensing operation may be. These verification-type sensing operations may be of particular concern, as these operations may be likely to occur across multiple NVM dies at the same time (i.e., due to employing parallel writes across multiple dies). Thus, if not managed by NVM controller 222 (FIG. 2A) or host processor 260, the peaks of different NVM dies may overlap and the total current sum may be unacceptably high. This situation may occur with other types of power-intensive operations, such as erase and program operations.
  • FIG. 2C shows an illustrative current consumption profile for one die. However, NVM typically includes multiple die (e.g., 2, 4, 8, 16) die per NVM package. Thus, when each die is simultaneously accessed (e.g., by way of a program, read, erase, or a combination thereof), the cumulative current consumption profile can be significantly higher than that of a single die. The cumulative current consumption profile may be obtained by testing a NVM package according to various embodiments of the invention.
  • Referring now to FIG. 3 an illustrative peak power testing system 300 is shown. Test system 300 can include NVM package 310, which can include multiple dies 312 and circuitry 314, testing circuitry 320, power monitoring circuitry 330, and power source 340. Only four dies 312 are shown, but it is understood that any number of dies may be included. Circuitry 314 can be circuitry for enabling conventional operations of NVM package 310 such as programming, reading, and erasing operations. For example, circuitry 314 can include charge pumps, row and column decoders, buffers, and any other suitable circuitry. NVM package 310 can include data busses 316 for enabling transfer of data to/from NVM package 310. In some embodiments, the number of data busses may be less than the number of dies 312. NVM package 310 can also include chip enable lines 318 for selectively enabling dies 312.
  • Each die 312 can include a predetermined number of physical blocks and each block can include a predetermined number of pages. Pages and blocks represent physical locations of memory cells within die 312. Blocks are the smallest erasable unit of memory cells and pages are smallest unit of data that can be programmed or read at a time within a block. Cells with the pages or blocks can be accessed using addressing circuitry (e.g., circuitry 314) associated with the NVM package in which the cells reside. Only one block per plane can be accessed at any given time.
  • In some embodiments, blocks from two or more dies can be virtually linked together to form a superblock. For example, respective blocks in all four dies 312 can be virtually linked together to form a superblock. Blocks need not be in the same row of each plane to be virtually linked as a superblock. For example, blocks may be chosen randomly from two or more dies to form a superblock. In some embodiments, blocks may be chosen from two or more planes, in which blocks in each plane are simultaneously accessible. Superblocks provide operational parallelism, thereby enabling programming, reading, and erase operations to be performed on blocks located in different planes in parallel. In another embodiment, pages from two or more planes may be virtually linked together to form superpages. A translation layer being implemented in an NVM interface may keep track of superblocks or superpages.
  • Power monitoring circuitry 330 may be electrically coupled to NVM package 310 and power source 340. Power monitoring circuitry 330 may monitor power being supplied to NVM package 310. In some embodiments, circuitry 330 can monitor the current being consumed by NVM package 310. In another embodiment, circuitry 330 can monitor the voltage being supplied to NVM package 330. Regardless of whether it is power, current, voltage, or a combination thereof, circuitry 330 can provide its monitored readings to testing circuitry 320.
  • Testing circuitry 320 can function as the control center for testing NVM package 310. Testing circuitry 330 may be electrically coupled to NVM package 310 via data busses 316 or chip enable lines 318 and may also be electrically coupled to power monitoring circuitry 330. Testing circuitry 330 can perform one or more tests on NVM package 310 to obtain power consumption data during those tests. For example, testing circuitry 330 can issue commands such as read or program commands to NVM package 310 and while those commands are executed, power monitoring circuitry 330 may relay monitored power information to testing circuitry 330 for recording and further analysis. By issuing these commands, testing circuitry 320 can obtain power consumption profiles for each die 312 independently, a subset of all the dies 312 in NVM package 310, or a combination of all dies 312 in NVM package 310.
  • FIG. 4 is an illustrative flowchart showing steps for obtaining a power consumption profile of one or more dies in a NVM package according to an embodiment of the invention. Starting with step 410, power can be provided to a NVM package including a plurality of dies (e.g., NVM package 310 with multiple dies 312). Data may or may not be stored in the NVM package as tests for determining power consumption profiles is not data dependent.
  • At step 420, commands are issued to the NVM package so that each die is simultaneously accessed. Any suitable command may be issued such as read commands, program commands, or erase commands. In one embodiment, the commands can be read commands. The read commands may be any suitable read command capable of multiple simultaneous die access. The read commands may read a full block in each die or one or more pages in each die. In one embodiment, the read command may read a superblock (as discussed above). Using read commands in this manner can ensure that a maximum amount of power is utilized by the NVM package—by causing overlapping maximum current spikes in each die. Moreover, this intentionally invokes overlapping current spikes that effectively mimic current spikes that can occur on a verify path of each die during program operations. These overlapping maximum current spikes can be difficult to induce in conventional program operations, which is one reason read commands may be more advantageous in testing a NVM package to determine its maximum power consumption profile. Another advantage of using read commands, as opposed to program commands, is that read commands can be executed more quickly than program commands. In addition, there is no need to setup parallel piped program operations in a read command. Thus, in assembly line testing environments where it is desirable to minimize testing time, reading commands are advantageous.
  • Moreover, in some embodiments, issuing read commands to simultaneously access all die may be counterintuitive because there may not be a sufficient number of busses to output the data from all the die. Retrieving the data, however, is not necessary because the simultaneous read commands enable the process to determine the maximum power profile of the NVM package. In addition, issuing read commands to simultaneously access all die is not a use case that requires qualification. Further still, issuing such simultaneous commands can increase the likelihood of overlap of subcomponents (like sensing circuitry) of more complication operations (such as programming).
  • An advantage of using read operations (as opposed to program and erase operations) is that they can be repeated a large number of times without adversely affecting the life of the dies. This permits acquisition of relatively large sample sizes without additional complexity or time to do erase and program operations (as well as defect management from write or erase status failures).
  • At step 430, the NVM package power consumption is monitored during the simultaneous multi-die read operations. For example, power-monitoring circuitry 330 of FIG. 3 may monitor power consumption. The monitored power consumption may be recorded, as indicated by step 440. The information recorded may be raw data or some form of analyzed data. The analyzed data can include, for example, a maximum power consumption value, a maximum current consumption value, an average power or average current consumption value, or any suitable value derived from the raw data. The analyzed data may also indicate what sequence of simultaneously dispatched commands results in a worst case current spike.
  • In some embodiments, the recorded information may be stored in the NVM package. This may permit a system or NVM interface to access the stored information to determine how much power the NVM package can potentially consume. The system or NVM interface may be able to use this information to implement NVM power management.
  • At step 450, a determination is made if the power consumption during the simultaneous multi-die read operation is less than a predetermined threshold. This predetermined threshold can be a raw power consumption threshold or an analyzed power threshold (e.g., a max power or max current threshold, or an average power or average current threshold). If the determination at step 450 is YES, then the NVM package is qualified for use in an electronic device, as indicated at step 460. If the determination at step 450 is NO, then the NVM package is disqualified for use in an electronic device, as indicated at step 470.
  • The predetermined threshold may be selected based on the power supplying capability of a power management unit (e.g., PMU 130 of device 100 as shown in FIG. 1). In one embodiment, the threshold may be set such that a low performing PMU is able to adequately power any NVM package qualified for use in the electronic device.
  • FIG. 5 is an illustrative flowchart showing steps for matching NVM packages with power management units (PMUs) in accordance with an embodiment of the invention. Both NVM packages and PMUs may each have respective power profiles that vary from low performance to high performance. Using these power profiles, certain NVM packages may be matched with certain PMUs. Starting with step 510, a power consumption profile of a NVM package is ascertained. The power profile may include a peak power consumption value. For example, the power consumption profile may be obtained using the process discussed above in connection with FIG. 4.
  • Next, at step 520, the NVM package is matched to a PMU capable of supplying power to satisfy the peak power consumption value. Provided the PMU can satisfy the peak power consumption value for the NVM package, any suitable NVM package may be matched with that PMU. For example, a high performance PMU (e.g., a PMU known to supply power for any NVM package) may be matched to any NVM package having power consumption profiles ranging from low to high. In one embodiment, a high performance PMU can be matched with a NVM package having a relatively low power consumption profile. In another embodiment, a high performance PMU can be matched with a NVM package having a relatively high power consumption profile. Selectively matching NVM packages with PMUs may increase the yield throughput of both PMUs and NVM packages.
  • Next, at step 530, the matched NVM package and PMU are used in an electronic device. That is, they are eventually installed in the electronic device.
  • It should be understood that processes 400 and 500 of FIGS. 4 and 5 are merely illustrative. Any of the steps may be removed, modified, or combined, and any additional steps may be added, without departing from the scope of the invention.
  • The described embodiments of the invention are presented for the purpose of illustration and not of limitation.

Claims (19)

1. A method for determining a power consumption profile of a non-volatile memory (NVM) package including a plurality of dies, the method comprising:
providing power to the NVM package;
issuing commands to the NVM package so that each die is simultaneously accessed; and
monitoring NVM package power consumption during the simultaneous access of each die to obtain a power consumption profile of the NVM package.
2. The method of claim 1, wherein the commands issued to the NVM package are read commands.
3. The method of claim 1, further comprising:
recording monitored NVM package power consumption data.
4. The method of claim 1, further comprising:
analyzing data associated with the monitored NVM package power consumption.
5. The method of claim 4, wherein analysis of the data provides a peak power consumption value.
6. The method of claim 1, further comprising:
determining whether a value associated with the power consumption profile is less than a predetermined threshold; and qualifying the NVM package for use in an electronic device if the value is determined to be less than the predetermined threshold, or disqualifying the NVM package for use in the electronic device if the value is determined not to be less than the predetermined threshold.
7. The method of claim 1, wherein the issued commands are program or erase commands.
8. The method of claim 1, wherein the NVM package is a Nand flash NVM package.
9. A system for use in testing a non-volatile memory (NVM) package including a plurality of die, the system comprising:
power monitoring circuitry operative to monitor power consumed by the NVM package; and
testing circuitry electrically coupled to the NVM package and the power monitoring circuitry, the testing circuitry operative to:
issue commands to the NVM package to simultaneously access each of the plurality of die to thereby invoke a maximum power consumption event by the NVM package;
receive power consumption data from the power monitoring circuitry;
analyze the received power consumption data; and
qualify the NVM package for use in an electronic device based on analysis of the received power consumption data.
10. The system of claim 9, wherein the issued commands are read commands.
11. The system of claim 9, wherein the issued commands are program or erase commands.
12. The system of claim 9, wherein the testing circuitry is further operative to: analyze the received power consumption data to obtain a peak power consumption value during the peak power consumption event.
13. The system of claim 12, wherein the testing circuitry is further operative to use the peak power consumption value when qualifying the NVM package for use in the electronic device.
14. The system of claim 9, wherein the NVM package is qualified for use with a power management unit.
15. The system of claim 9, wherein the NVM package includes a plurality of chip enable lines and data bus lines, wherein the plurality of dies is greater in number than the number of data bus lines, the testing circuitry is electrically coupled to the chip enable lines and is further operative to enable each die of the plurality of dies during the maximum power consumption event.
16. A method for matching a power management unit with a non-volatile memory (NVM) package, the method comprising:
ascertaining a power consumption profile of the NVM package, the profile including a peak power consumption value, and wherein the NVM package includes a plurality of die;
matching the NVM package to a power management unit (PMU) capable of supplying power to satisfy the peak power consumption value; and
using the NVM package and the matched PMU in an electronic device.
17. The method of claim 16, wherein the matching comprises: determining a power output of a plurality of PMUs; and selecting a PMU having a power output that exceeds the peak power consumption value.
18. The method of claim 16, wherein the ascertaining comprises simultaneously reading each of the plurality of die to invoke a peak power consumption event.
19. The method of claim 16, wherein the NVM package is a Nand flash NVM package.
US12/843,438 2010-07-26 2010-07-26 Peak power validation methods and systems for non-volatile memory Active 2031-10-21 US8522055B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/843,438 US8522055B2 (en) 2010-07-26 2010-07-26 Peak power validation methods and systems for non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/843,438 US8522055B2 (en) 2010-07-26 2010-07-26 Peak power validation methods and systems for non-volatile memory

Publications (2)

Publication Number Publication Date
US20120023356A1 true US20120023356A1 (en) 2012-01-26
US8522055B2 US8522055B2 (en) 2013-08-27

Family

ID=45494529

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/843,438 Active 2031-10-21 US8522055B2 (en) 2010-07-26 2010-07-26 Peak power validation methods and systems for non-volatile memory

Country Status (1)

Country Link
US (1) US8522055B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120272107A1 (en) * 2011-04-21 2012-10-25 Cadloni Gerald L Method and apparatus for providing preloaded non-volatile memory content
US8495402B2 (en) 2010-07-26 2013-07-23 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US8645723B2 (en) 2011-05-11 2014-02-04 Apple Inc. Asynchronous management of access requests to control power consumption
US20160041786A1 (en) * 2014-08-05 2016-02-11 Sandisk Technologies Inc. Storage Module and Method for Optimized Power Utilization
WO2016073388A1 (en) * 2014-11-04 2016-05-12 Microsoft Technology Licensing, Llc Test of semiconductor storage power consumption on basis of executed access commands
US9703700B2 (en) 2011-02-28 2017-07-11 Apple Inc. Efficient buffering for a system having non-volatile memory
US10120817B2 (en) * 2015-09-30 2018-11-06 Toshiba Memory Corporation Device and method for scheduling commands in a solid state drive to reduce peak power consumption levels
CN114341770A (en) * 2019-08-22 2022-04-12 美光科技公司 Current summation monitoring circuit in multi-chip package for controlling power

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102445390B1 (en) * 2015-09-02 2022-09-21 에스케이하이닉스 주식회사 Memory controller and memory system having the same

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564333B1 (en) * 1999-12-03 2003-05-13 3Com Corporation Peripheral device power management circuit and method for selecting between main and auxiliary power sources or from third power source
US20080052544A1 (en) * 2006-08-28 2008-02-28 Hsiang-An Hsieh Portable electronic device using a plurality of power sources
US20080126686A1 (en) * 2006-11-28 2008-05-29 Anobit Technologies Ltd. Memory power and performance management
US20080320323A1 (en) * 2005-02-09 2008-12-25 International Business Machines Corporation Power management via dimm read operation limiter
US20090083556A1 (en) * 2007-09-26 2009-03-26 Infineon Technologies Ag Power supply input selection circuit
US20090265564A1 (en) * 2008-04-16 2009-10-22 International Business Machines Corporation System Power Capping Using Information Received From The Installed Power Supply
US20090307514A1 (en) * 2008-06-09 2009-12-10 Dell Products L.P. System and Method for Managing Power Supply Units
US20100005330A1 (en) * 2008-07-02 2010-01-07 Dell Products L.P. Static and Dynamic Power Management for a Memory Subsystem
US20100049905A1 (en) * 2008-08-25 2010-02-25 Hitachi, Ltd. Flash memory-mounted storage apparatus
US20100077238A1 (en) * 2008-09-25 2010-03-25 Wisconsin Alumni Research Foundation Energy efficienct power supply system
US20110157934A1 (en) * 2009-12-29 2011-06-30 International Business Machines Corporation Selective enablement of power supply sections for improving efficiency
US20110307721A1 (en) * 2010-03-05 2011-12-15 Hitachi, Ltd. Storage apparatus and power consumption estimation method

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724592A (en) 1995-03-31 1998-03-03 Intel Corporation Method and apparatus for managing active power consumption in a microprocessor controlled storage device
JP3821536B2 (en) 1997-05-16 2006-09-13 沖電気工業株式会社 Nonvolatile semiconductor disk device
US6233693B1 (en) 1998-05-06 2001-05-15 International Business Machines Corporation Smart DASD spin-up
US6748493B1 (en) 1998-11-30 2004-06-08 International Business Machines Corporation Method and apparatus for managing memory operations in a data processing system using a store buffer
US6478441B2 (en) 1999-03-25 2002-11-12 Sky City International Limited Hand held light apparatus
JP4694040B2 (en) 2001-05-29 2011-06-01 ルネサスエレクトロニクス株式会社 Semiconductor memory device
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
US6925573B2 (en) 2002-01-02 2005-08-02 Intel Corporation Method and apparatus to manage use of system power within a given specification
US7400062B2 (en) 2002-10-15 2008-07-15 Microsemi Corp. - Analog Mixed Signal Group Ltd. Rack level power management
EP1688866A4 (en) 2003-11-28 2009-03-25 Panasonic Corp Recording apparatus
US7155623B2 (en) 2003-12-03 2006-12-26 International Business Machines Corporation Method and system for power management including local bounding of device group power consumption
US7305572B1 (en) 2004-09-27 2007-12-04 Emc Corporation Disk drive input sequencing for staggered drive spin-up
JP2006185407A (en) 2004-12-01 2006-07-13 Matsushita Electric Ind Co Ltd Peak power-controlling apparatus and method
JP2006195569A (en) 2005-01-11 2006-07-27 Sony Corp Memory unit
US7440215B1 (en) 2005-03-30 2008-10-21 Emc Corporation Managing disk drive spin up
US7444526B2 (en) 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US20070211551A1 (en) 2005-11-25 2007-09-13 Yoav Yogev Method for dynamic performance optimization conforming to a dynamic maximum current level
US7793059B2 (en) 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7587559B2 (en) 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
US7961544B2 (en) 2008-08-05 2011-06-14 Sandisk Il Ltd. Storage system and method for managing a plurality of storage devices
US8386808B2 (en) 2008-12-22 2013-02-26 Intel Corporation Adaptive power budget allocation between multiple components in a computing system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564333B1 (en) * 1999-12-03 2003-05-13 3Com Corporation Peripheral device power management circuit and method for selecting between main and auxiliary power sources or from third power source
US20080320323A1 (en) * 2005-02-09 2008-12-25 International Business Machines Corporation Power management via dimm read operation limiter
US20080052544A1 (en) * 2006-08-28 2008-02-28 Hsiang-An Hsieh Portable electronic device using a plurality of power sources
US20080126686A1 (en) * 2006-11-28 2008-05-29 Anobit Technologies Ltd. Memory power and performance management
US20090083556A1 (en) * 2007-09-26 2009-03-26 Infineon Technologies Ag Power supply input selection circuit
US20090265564A1 (en) * 2008-04-16 2009-10-22 International Business Machines Corporation System Power Capping Using Information Received From The Installed Power Supply
US20090307514A1 (en) * 2008-06-09 2009-12-10 Dell Products L.P. System and Method for Managing Power Supply Units
US20100005330A1 (en) * 2008-07-02 2010-01-07 Dell Products L.P. Static and Dynamic Power Management for a Memory Subsystem
US20100049905A1 (en) * 2008-08-25 2010-02-25 Hitachi, Ltd. Flash memory-mounted storage apparatus
US20100077238A1 (en) * 2008-09-25 2010-03-25 Wisconsin Alumni Research Foundation Energy efficienct power supply system
US20110157934A1 (en) * 2009-12-29 2011-06-30 International Business Machines Corporation Selective enablement of power supply sections for improving efficiency
US20110307721A1 (en) * 2010-03-05 2011-12-15 Hitachi, Ltd. Storage apparatus and power consumption estimation method

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495402B2 (en) 2010-07-26 2013-07-23 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US8555095B2 (en) 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US8583947B2 (en) 2010-07-26 2013-11-12 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US9063732B2 (en) 2010-07-26 2015-06-23 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US9703700B2 (en) 2011-02-28 2017-07-11 Apple Inc. Efficient buffering for a system having non-volatile memory
US9996457B2 (en) 2011-02-28 2018-06-12 Apple Inc. Efficient buffering for a system having non-volatile memory
US10242751B2 (en) 2011-04-21 2019-03-26 Micron Technology, Inc. Method and apparatus for providing preloaded non-volatile memory content
US20120272107A1 (en) * 2011-04-21 2012-10-25 Cadloni Gerald L Method and apparatus for providing preloaded non-volatile memory content
US9082474B2 (en) * 2011-04-21 2015-07-14 Micron Technology, Inc. Method and apparatus for providing preloaded non-volatile memory content
US8769318B2 (en) 2011-05-11 2014-07-01 Apple Inc. Asynchronous management of access requests to control power consumption
US8874942B2 (en) 2011-05-11 2014-10-28 Apple Inc. Asynchronous management of access requests to control power consumption
US8645723B2 (en) 2011-05-11 2014-02-04 Apple Inc. Asynchronous management of access requests to control power consumption
US9658789B2 (en) * 2014-08-05 2017-05-23 Sandisk Technologies Llc Storage module and method for optimized power utilization
US20160041786A1 (en) * 2014-08-05 2016-02-11 Sandisk Technologies Inc. Storage Module and Method for Optimized Power Utilization
WO2016073388A1 (en) * 2014-11-04 2016-05-12 Microsoft Technology Licensing, Llc Test of semiconductor storage power consumption on basis of executed access commands
US9558848B2 (en) 2014-11-04 2017-01-31 Microsoft Technology Licensing, Llc Testing storage device power circuitry
CN107076797A (en) * 2014-11-04 2017-08-18 微软技术许可有限责任公司 Test based on performed visit order to semiconductor storage power consumption
US10699798B2 (en) 2014-11-04 2020-06-30 Microsoft Technology Licensing, Llc Testing storage device power circuitry
US10120817B2 (en) * 2015-09-30 2018-11-06 Toshiba Memory Corporation Device and method for scheduling commands in a solid state drive to reduce peak power consumption levels
CN114341770A (en) * 2019-08-22 2022-04-12 美光科技公司 Current summation monitoring circuit in multi-chip package for controlling power

Also Published As

Publication number Publication date
US8522055B2 (en) 2013-08-27

Similar Documents

Publication Publication Date Title
US8522055B2 (en) Peak power validation methods and systems for non-volatile memory
US9146821B2 (en) Methods and systems for monitoring write operations of non-volatile memory
US8164967B2 (en) Systems and methods for refreshing non-volatile memory
US8737148B2 (en) Selective retirement of blocks
US8832507B2 (en) Systems and methods for generating dynamic super blocks
US8503257B2 (en) Read disturb scorecard
US8555095B2 (en) Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US8645776B2 (en) Run-time testing of memory locations in a non-volatile memory
US9122593B2 (en) Restoring virtualized GCU state information
US11237612B2 (en) Charge-sharing capacitive monitoring circuit in a multi-chip package to control power
US7590001B2 (en) Flash memory with optimized write sector spares
US20130262942A1 (en) Flash memory lifetime evaluation method
Mohan Modeling the physical characteristics of NAND flash memory
US10884480B1 (en) Current summing monitoring circuit in a multi-chip package to control power
US10956064B2 (en) Adjusting code rates to mitigate cross-temperature effects in a non-volatile memory (NVM)
CN114287038B (en) Open drain transistor monitor circuit in a multi-chip package for controlling power
US10877676B2 (en) Storage device, controller and method for operating storage device
Jurenka Exploring managed NAND media endurance

Legal Events

Date Code Title Description
AS Assignment

Owner name: APPLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BYOM, MATTHEW;FIENNES, HUGO;KAPOOR, ARJUN;SIGNING DATES FROM 20100820 TO 20100928;REEL/FRAME:025057/0952

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8