WO2012001917A1 - 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 - Google Patents
不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 Download PDFInfo
- Publication number
- WO2012001917A1 WO2012001917A1 PCT/JP2011/003581 JP2011003581W WO2012001917A1 WO 2012001917 A1 WO2012001917 A1 WO 2012001917A1 JP 2011003581 W JP2011003581 W JP 2011003581W WO 2012001917 A1 WO2012001917 A1 WO 2012001917A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- flash memory
- power supply
- power
- supply circuit
- memory controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
Definitions
- the present invention relates to a non-volatile storage system such as an SSD (Solid State Drive) or an SD (Secure Digital) memory card that uses a plurality of flash memories as a non-volatile storage device.
- a non-volatile storage system such as an SSD (Solid State Drive) or an SD (Secure Digital) memory card that uses a plurality of flash memories as a non-volatile storage device.
- SSD Solid State Drive
- SD Secure Digital
- non-volatile storage devices include a plurality of flash memories as non-volatile storage elements, and are used as hosts for personal computers, PDAs (Personal Digital Assistants), mobile phones, digital cameras, audio players, car navigation systems, and the like.
- PDAs Personal Digital Assistants
- mobile phones digital cameras, audio players, car navigation systems, and the like.
- SSD solid state drive
- SSD is a drive device that uses flash memory as a storage medium. It has the same connection interface (such as ATA) as the hard disk drive (HDD) and is used as an alternative to the hard disk. Also called a flash drive or flash memory drive. SSDs are resistant to vibration during reading and writing because there are no physical working parts. There is no time for moving the reading device (head) on the disk (seek time) and no waiting time (search time) until the target data is rotated to the head position, and reading and writing are fast.
- connection interface such as ATA
- HDD hard disk drive
- flash drive or flash memory drive flash memory drive
- a storage device system using flash memory includes a plurality of flash memories and a flash memory controller for controlling the flash memories.
- the flash memory controller is connected to a plurality of flash memories by a control bus and a data bus.
- the flash memory controller In response to a request from the storage device host, the flash memory controller appropriately selects each flash memory to perform data read, write, erase, and the like.
- the power supply voltage required for the read operation is 5 V at the maximum
- the power supply voltage required for the write / erase operation is a maximum of 20 V
- the power supply voltage required for the verify operation is a maximum of 10 V (an example).
- the power supply circuit of the flash memory is provided with a processing execution power supply circuit having a plurality of types of voltage levels necessary for executing a plurality of types of processing.
- the processing power supply circuit includes a read power supply circuit, a write / erase power supply circuit, and a verify power supply circuit.
- Each processing power supply circuit includes a booster circuit. Execution of processing in the flash memory is performed in units of pages or blocks of the memory cell array.
- storage devices used in host and slave devices need to access multiple flash memories at the same time to improve processing speed.
- the peak current of device devices tends to increase due to an increase in operating current of a single flash device due to miniaturization of flash memory and an increase in demand for speeding up device devices due to higher host speeds.
- the required current capability for the power supply to the flash memory is remarkably increased, and the deviation from the required current capability is increased on average.
- JP 2008-4196 A JP 11-296430 A JP-T-2004-526239 Special table 2004-531801 gazette Japanese Patent Laid-Open No. 11-242632 Japanese Patent Laid-Open No. 7-93499 JP 2009-122909 A
- Patent Documents 1 and 2 Conventionally, there has been a proposal to place a power supply circuit for a flash memory outside the flash memory (see, for example, Patent Documents 1 and 2). It is intended to reduce the flash memory chip area.
- the present invention was created in view of such circumstances, and a non-volatile memory capable of exhibiting a sufficiently high power consumption reduction effect even when the capacity is increased, the speed is increased, and the complexity is increased.
- the purpose is to make things.
- a nonvolatile storage system includes a memory block including a set of a plurality of flash memories, a flash memory power supply circuit, and a flash memory controller. These three components are physically and spatially independent from each other, and are connected to each other through a wiring system such as a signal line or a bus.
- the flash memory controller and the flash memory power supply circuit are external to the flash memory, and the flash memory power supply circuit is external to the flash memory controller.
- the flash memory power supply circuit is external to the flash memory controller.
- the flash memory power supply circuit has a processing execution power supply circuit having a plurality of types of voltage levels required for executing a plurality of types of processing in the flash memory.
- the processing execution power supply circuit can be commonly used for a plurality of flash memories.
- the output power of the same processing execution power supply circuit may be supplied to a plurality of flash memories simultaneously. There may be a state where power is supplied only to a single flash memory. Different types of processing execution power supply circuits are not simultaneously supplied to the same flash memory.
- the role of the flash memory controller is to control which processing execution power supply circuit is connected to which flash memory at which timing.
- Each of the multiple flash memories notifies the flash memory controller of the internal state that changes from moment to moment.
- the flash memory controller holds and updates the received internal state.
- the type and number of internal states of the flash memory are arbitrary. Various states are assumed.
- the flash memory controller accesses the memory block and refers to the internal state of the flash memory in response to an operation command from an external host or the like.
- the flash memory controller controls the processing execution power supply circuit corresponding to the operation command among the plurality of processing execution power supply circuits in the flash memory power supply circuit according to the acquired internal state of the flash memory.
- the control is fine. In principle, the flash memory is less than the command unit for flash memory.
- the number of flash memories in the operating state may be one, two, or three or more. It changes from moment to moment according to the situation.
- the present invention is premised on the principle that a plurality of flash memories can be in an operating state at the same time.
- a processing execution power supply circuit necessary for a certain operation state of a certain flash memory may be set to an operation state, and a processing execution power supply circuit required for a certain operation state of another flash memory may be set to an operation state in parallel.
- the same processing execution power supply circuit may be connected to different flash memories, or different processing execution power supply circuits may be connected.
- the combination of the types of processing execution power supply circuits for setting the operation state and power supply output state of each flash memory also changes from moment to moment according to the situation. The mode of change is complicated.
- the pattern of the combination of the processing execution power supply circuit types for the operation state and power output state of each flash memory is larger as the number of flash memory constituting the memory block is larger, and the number of processing execution power supply circuit types (flash memory). The more the number of types of operating states), the more complicated it becomes.
- the flash memory controller determines whether the processing power supply circuit corresponding to the processing type of the flash memory to be accessed is in a stopped state according to the internal state of the flash memory, or It is determined whether it is already in an operating state for the operation of another flash memory. In the stopped state, the corresponding processing execution power supply circuit is activated. When it is already in the operating state, it is not necessary to start up and it can be skipped. In the case of startup, it takes a certain time until the startup operation is stabilized. However, skipping saves the time and contributes to high-speed operation and power consumption reduction.
- the flash memory controller determines whether there is another flash memory that is operating in the same type as the processing type according to the internal state of the flash memory. . If not, the corresponding process execution power supply circuit may be stopped. In some cases, the operation may be continued without stopping. This continuation of operation also leads to the above-described skip processing when a new access is made to another flash memory.
- another flash memory as used herein is a flash memory other than the flash memory that continues to operate, and may include a flash memory that has just stopped operating.
- the flash memory When attempting to start up the power supply circuit for processing execution, in order to avoid a malfunction that prevents correct writing or reading from starting before the power supply voltage that is originally required is applied or a current inrush at startup, the flash memory is used in advance. The operation of is temporarily stopped. If the relevant process execution power supply circuit is already in the operating state, the flash memory operation is resumed. If the relevant process execution power supply circuit is in the stopped state, the process execution power supply circuit is started, After the voltage is boosted and the output is stabilized, the operation of the flash memory is resumed.
- the flash memory operation is temporarily stopped in advance in order to avoid current fluctuation at the time of stop. If the relevant processing execution power supply circuit is being used by another flash memory, the flash memory operation is resumed, but the relevant processing execution power supply circuit is not being used by another flash memory. If it is in the state, the processing execution power supply circuit is stopped, and then the operation of the flash memory is restarted. In this sense, the flash memory controller controls the flash memory and the flash memory power supply circuit in a realistic and dynamic manner.
- the nonvolatile storage system ⁇ 1 >> of the present invention is A memory block comprising a set of flash memories; A flash memory power supply circuit outside the memory block; A flash memory controller for controlling the flash memory power supply circuit and the plurality of flash memories; With The flash memory power supply circuit generates a plurality of types of voltage levels necessary for executing a plurality of types of processing in the flash memory, and executes a plurality of types of processing configured to supply power to each of the flash memories.
- Power supply circuit The flash memory controller communicates with each of the plurality of flash memories to monitor a change in an internal state of each flash memory, and performs the processing in the flash memory power supply circuit according to the monitored flash memory internal state It is configured to control the operation of the power supply circuit and the processing of the flash memory.
- a flash memory power supply circuit having a plurality of types of processing execution power supply circuits is arranged outside the flash memory (memory block), and a plurality of types of processing execution power supply circuits are shared by a plurality of flash memories. This is advantageous for reducing the circuit area (substrate area).
- sharing of a plurality of types of processing execution power supply circuits to a plurality of flash memories contributes to a reduction in power consumption as compared with individual use.
- power is supplied to the flash memory that is not in use, resulting in wasteful power consumption. Such waste is eliminated.
- each flash memory and the flash memory controller communicates between each flash memory and the flash memory controller, and the internal state of each flash memory (standby state / operation state, processing type (type of processing power supply circuit used), etc., and their The flash memory controller notifies the flash memory controller of the time change, and controls the corresponding flash memory and the power supply circuit for processing execution according to the internal state of the flash memory under monitoring when the operation command is received.
- the flash memory controller notifies the flash memory controller of the time change, and controls the corresponding flash memory and the power supply circuit for processing execution according to the internal state of the flash memory under monitoring when the operation command is received.
- the number of boosting steps at the time of starting up the processing execution power supply circuit can be reduced, it is possible to significantly reduce relatively large power consumption generated in the boosting step. Furthermore, if there is no other flash memory in the operating state for the unused flash memory, the power supply circuit for processing execution is stopped, so there is a waste of power supply to the unused flash memory. It will be resolved.
- This enables dynamic control according to the transition of the real operating status of the nonvolatile storage system.
- This is related to the execution type of processing such as writing and reading that changes from time to time, also related to individual differences in the flash memory group, and also related to changes in the execution status of processing execution, and the internal state of the flash memory power supply circuit Since changes are also involved, the control is real, dynamic, and detailed.
- Such a control form is not recognized and cannot be expected in the prior art, and it can be said that the point of the present invention is here. In total, fine control according to changes in the internal state of the flash memory can be realized, and the power consumption can be greatly reduced.
- the non-volatile storage system according to the present invention is functionally divided into components, and a memory block in which a plurality of flash memories as a non-volatile storage device are collected, and processing of the plurality of flash memories is executed.
- a flash memory controller for individually controlling and a power supply circuit for supplying power for operation to each of the plurality of flash memories are provided. It is a prerequisite that these at least three components (memory block, flash memory controller, power supply circuit) are provided.
- the non-volatile storage system itself of the invention is provided with a power supply circuit for the memory system, and in this respect, is different from a system that is supplied with power from the host-side power supply circuit.
- the power supply circuit for the memory system is arranged outside the memory block, and in this respect, it is different from the specification system in which the power supply circuit is built in each flash memory.
- the flash memory has a specification that includes a write operation and an erase operation in addition to a read operation, and a specification that has a write verify (verify) operation related to the write operation and an erase verify operation related to the erase operation. There are specifications that have. The present invention does not ask for its operating specifications.
- the internal configuration of the power supply circuit for the memory system is also adapted to the operation specifications of the flash memory, and there is a specification that has a write / erase power supply circuit in addition to the read power supply circuit, and also related to the write / erase operation Thus, there is a specification having a power supply circuit for verifying writing / erasing.
- the present invention does not ask the circuit specification.
- the power supply circuit for the memory system is shared by a plurality of flash memories, and the flash memory controller controls the plurality of flash memories in common.
- the control mode between the flash memory group and the flash memory group can determine whether the flash memory to be accessed can perform processing stably within the specified range of the power supply capability of the power supply circuit for the memory system You have to devise.
- the power supply circuit in the nonvolatile memory system of the present invention has a function of detecting the power supply state, holding it as necessary, and notifying the flash memory controller as power supply state information. Whether the flash memory controller can properly execute processing within the prescribed range of the power supply capacity of the power supply circuit for the memory system based on the power status information received from the power supply circuit for the memory system.
- controlling the operation of some of the flash memory groups to be accessed so that less power is consumed is a broad concept, and the start of processing of the flash memory to be controlled is temporarily suspended. It may be suspended (paused) or postponed, or the mode change (reduction of operating current) may be performed so that the flash memory to be accessed that is currently executing processing is operated in a mode of lower power than the normal mode. In any case, the power used by the flash memory to be controlled is reduced.
- the form of notification of power state information from the power supply circuit for the memory system to the flash memory controller may be based on polling from the flash memory controller (notification in response to a regular or irregular inquiry) It may be due to the occurrence of an interrupt caused by the internal state transition of the power supply circuit for the memory system.
- a flash memory controller that has received a command of some operation command from the host side receives power state information from the power supply circuit for the memory system, and the flash memory to be accessed is determined based on the received power state information.
- some flash memories to be accessed are set so that the processing can be executed properly within the specified range. It is something to control.
- the ⁇ 50 >> nonvolatile storage system of the present invention is A memory block that collects multiple flash memories, A flash memory controller for controlling execution of processing of the plurality of flash memories; A power supply circuit for supplying power for operation to each of the plurality of flash memories; With The power supply circuit is configured to have a function of notifying the flash memory controller of power supply state information as power supply state information, When the flash memory controller determines that the flash memory to be accessed cannot perform appropriate processing within the prescribed range of the power supply capability of the power supply circuit, the power consumption is reduced and the prescribed power supply capability is specified.
- the flash memory is configured to have a function of controlling the flash memory to be accessed so that processing can be appropriately executed within the range.
- the feature ⁇ 50> of the present invention is that the flash memory is controlled based on the power supply state information received from the power supply circuit for the memory system, and the power supply capacity of the power supply circuit for the memory system is within the specified range of the flash memory. It is to ensure that the process can be executed properly.
- the timing for controlling the flash memory may be a timing at which processing has not yet started immediately after a command is issued to the flash memory to be accessed, or a timing at which processing is being executed.
- control mode for controlling the flash memory to be accessed so that the processing can be appropriately executed within the prescribed range of the power supply capability the execution of the processing of the flash memory to be controlled is paused.
- the operation mode of the flash memory to be controlled being executed may be changed to the low power mode.
- the manner in which the flash memory controller receives the power state information from the power circuit may be based on polling of the power circuit from the flash memory controller, or the power state with an interrupt accompanying the transition of the power state in the power circuit It may be devoted to information.
- the flash memory controller receives the power supply state information from the power supply circuit, and the flash memory is within the prescribed range of the power supply capability of the power supply circuit based on the determination based on the received power supply state information. If it is determined that it is impossible to properly execute the process, the flash memory is controlled to reduce the power consumption so that the process can be executed properly within the specified range of the power supply capacity. It is possible to avoid unstable operation and system down due to problems such as loading, and to improve data reliability.
- a power supply circuit for a nonvolatile memory system supplies power for operation to each of the plurality of flash memories in the memory block. Furthermore, the power supply circuit sends and receives signals to and from the flash memory controller, and the power supply state (driving rate) of the power supply circuit. (Or margin) is notified to the flash memory controller, and the output of the power supply circuit is controlled by an instruction from the flash memory controller.
- the components of the power supply circuit are a voltage generator and a voltage state monitor.
- the voltage generator has a function of receiving a power supply control signal from an external flash memory controller and generating and outputting a power supply voltage for operating the flash memory in accordance with information (parameters) indicated by the power supply control signal. Yes.
- the voltage generation unit is further configured to generate a power supply voltage change signal indicating a change in the generated power supply voltage and send it to the voltage state monitoring unit.
- the voltage state monitoring unit receives a power supply voltage change signal from the voltage generation unit, and generates a power supply state notification signal indicating the power supply state (driving rate or margin) of the voltage generation unit based on the power supply voltage change signal.
- the driving rate indicates a driving state with respect to the operating frequency or operating capability of the voltage generating unit
- the margin indicates an allowable state with respect to the stopping frequency or operating capability of the voltage generating unit.
- the power supply circuit having the voltage generation unit and the voltage state monitoring unit may be configured as a functional block that is separate from the memory block, and may be the same as or separate from the flash memory controller.
- the power supply circuit has a power supply control terminal for inputting a power supply control signal from an external flash memory controller and a power supply voltage generated by the voltage generator as an external connection terminal.
- a power supply output terminal for outputting to a block (a plurality of flash memories) and a power supply state notification terminal for outputting a power supply state notification signal from the voltage state monitor unit to an external flash memory controller are provided.
- the power supply circuit for the nonvolatile storage system of ⁇ 62 >> of the present invention is A voltage that generates and outputs a power supply voltage for operating the external flash memory according to information indicated by a power supply control signal input from an external flash memory controller, and further generates a power supply voltage change signal indicating a change in the generated power supply voltage Generating part;
- the power supply voltage change signal is received from the voltage generator, a power supply state notification signal indicating a power supply state (driving rate or margin) of the voltage generator is generated based on the received power supply voltage change signal, and the generated power supply
- a voltage state monitor unit that outputs a state notification signal to the flash memory controller; It has.
- the operation of the above configuration of the power supply circuit for the nonvolatile memory system according to the present invention is as follows.
- the power state of the voltage generator driven by the information (parameters) indicated by the power control signal from the flash memory controller is monitored by the voltage state monitor, and the monitoring result indicates the power state (drive rate or margin) of the voltage generator. )
- the flash memory controller To the flash memory controller.
- the flash memory controller accurately grasps the power supply state (drive rate or margin) of the voltage generation unit, and further updates the power supply control signal according to the voltage state and resets the instruction to the voltage generation unit. It becomes possible to do.
- the power supply voltage to be generated is controlled by an external flash memory controller.
- the power supply circuit also constantly monitors its own internal state and returns the monitoring result to the flash memory controller as a drive rate.
- the flash memory controller controls the power supply circuit based on the drive rate or margin.
- the power supply state indicated by the power supply state notification signal is described as the drive rate, the same effect as the drive rate can be obtained even with the tolerance for the stop ratio or the limit capability of the voltage generation unit.
- the control route is cyclic, and is constantly feedback control and feedforward control. Thus, real and dynamic fine-grained control is realized.
- the flash memory of the present invention is A flash memory that operates under the control of an external flash memory controller, A register indicating a power level consumed by the flash memory in each operation mode of the flash memory; A control unit for notifying the flash memory controller of the power level indicated by the register; Is provided.
- the operation of the above configuration of the flash memory according to the present invention is as follows.
- the operating power (current) load of the external power supply can be adjusted at a desired timing, and the transmission power of a plurality of memories can be managed.
- the current consumption can be tuned to low consumption.
- the external power supply does not require excessive power supply capability (high peak current, etc.).
- the power supply of the external power supply for command execution can be reserved.
- the control unit exchanges a command having a field indicating the power level with the flash memory controller. Then, if a power field is provided in a command that requires power management (read, program, erase, etc.), the power load becomes clear at the time of issuing the command, and management of power information becomes easier (for the host system). . Furthermore, it is possible to provide a command for changing only the power level, so that it is not necessary to directly specify the power level with a command that requires power management, and the command input (IO in the case of NAND flash) can be performed. Little impact on data transfer bandwidth.
- the operation mode preferably includes an operation stop mode. Then, by introducing the stop level, the minimum power load is defined, and the adjustment range of the operating power (current) load of the external power supply can be increased. In addition, when the supply of external power is not stable, the operation of the memory can be temporarily stopped and malfunction can be prevented.
- the flash memory of the present invention preferably further has a control terminal for designating a power level in the operation stop mode. Then, the control terminal for designating the power level can be stopped asynchronously with the command access (for example, at a high speed by the level designation) by using a dedicated pin. Of course, it can also be returned at high speed.
- control unit allows access to the register even during operation of the flash memory in the operation stop mode. By doing so, you can set the power level after canceling the stop (not only the power level set by the register but also any register state after canceling the stop), and you can use and set the time during the stop effectively The processing time can be shortened.
- the flash memory of the present invention further includes a first storage unit that holds first information indicating an operating power value consumed by the flash memory at each power level, and the control unit corresponds to the power level.
- the first information is read from the first storage unit and provided to the flash memory controller.
- the flash memory of the present invention further includes a second storage unit that holds second information indicating the processing speed of the flash memory at each of the power levels, and the control unit includes the second memory unit corresponding to the power level. Is preferably read from the second storage unit and provided to the flash memory controller. By doing so, it is possible to deal with variations in memory operating speed due to product use (variations due to manufacturing processes, etc.) with a simple command format (common standard independent of product type) that does not involve actual current values. By incorporating processing speed information into the power management, it is possible to predict the operating power (current load) of the external power supply, and the power management of the host system becomes higher quality.
- control unit grasps the power level by referring to a signal input to the flash memory from the outside instead of the power level indicated by the register. Then, the power level can be changed by specifying the level asynchronously (for example) with the command access.
- the flash memory controller of the present invention is a flash memory controller that controls the execution of processing of a plurality of flash memories, and the flash memory controller is a power supply state from a power supply circuit that supplies power to each of the plurality of flash memories. Based on the information, the flash memory to be accessed is controlled among the plurality of flash memories.
- the flash memory controller of the present invention having such a configuration is the optimum configuration for the above-described nonvolatile storage system of the present invention, and the same effect according to the nonvolatile storage system of the present invention can be obtained.
- the flash memory controller dynamically controls the flash memory and the power supply circuit for processing execution in accordance with the internal state of the flash memory, that is, the operation status of the nonvolatile storage system, fine control is realized. , Can contribute to power consumption reduction. As a result, a sufficiently high power consumption reduction effect can be exhibited against the complications associated with the increase in capacity, speed, and scale.
- the power consumption reduction effect is better exhibited as the number of flash memories in a memory block increases and as the number or types of power supply circuits for processing execution in a flash memory power supply circuit increase. It becomes like this.
- the power consumption reduction effect is significant.
- the flash memory controller controls the flash memory so as to be operable within a prescribed range of power supply capability based on the power supply state information from the power supply circuit for the memory system.
- the flash memory controller controls the flash memory so as to be operable within a prescribed range of power supply capability based on the power supply state information from the power supply circuit for the memory system.
- the internal state is constantly monitored, the monitoring result is returned to the flash memory controller, and the power supply voltage is controlled by the flash memory controller. Since feedback / feedforward control is performed, it is possible to realize realistic, dynamic and fine-tuned power supply control.
- the present invention for the flash memory, it becomes possible to manage the power transmission power of a plurality of memories with high accuracy.
- FIG. 1 is a block diagram showing a configuration of a nonvolatile memory system according to Embodiment 1 of the present invention.
- FIG. 2 is a block diagram showing the configuration of a modified nonvolatile storage system according to the first embodiment of the present invention.
- FIG. 3A shows a flash memory internal state management table according to the first embodiment of the present invention.
- FIG. 3B is a correspondence table between internal states and power sources to be used.
- FIG. 4 is a flowchart showing a power supply sequence for reading in the nonvolatile memory system according to Embodiment 1 of the present invention.
- FIG. 5 is a flowchart showing a power supply sequence for writing / erasing in the nonvolatile memory system according to Embodiment 1 of the present invention.
- FIG. 1 is a block diagram showing a configuration of a nonvolatile memory system according to Embodiment 1 of the present invention.
- FIG. 2 is a block diagram showing the configuration of a modified nonvolatile storage system
- FIG. 6 is a flowchart showing a power supply sequence for verification in the nonvolatile memory system according to Embodiment 1 of the present invention.
- FIG. 7 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 2 of the present invention.
- FIG. 8 is a flowchart showing an applied voltage control sequence of the nonvolatile memory system according to Embodiment 2 of the present invention.
- FIG. 9 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 3 of the present invention.
- FIG. 10 is a flowchart showing a flash memory selection sequence of the nonvolatile memory system according to Embodiment 2 of the present invention.
- FIG. 10 is a flowchart showing a flash memory selection sequence of the nonvolatile memory system according to Embodiment 2 of the present invention.
- FIG. 11 is a flowchart showing a sequence of flash memory selection (multiple selection) in the nonvolatile memory system according to Embodiment 4 of the present invention.
- FIG. 12 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 5 of the present invention.
- FIG. 13 is a flowchart showing an applied voltage control sequence of the nonvolatile memory system according to Embodiment 5 of the present invention.
- FIG. 14 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 6 of the present invention.
- FIG. 15 is a flowchart showing a flash memory selection sequence of the nonvolatile memory system according to Embodiment 6 of the present invention.
- FIG. 16 is a flowchart showing a flash memory selection (multiple selection) sequence in the nonvolatile memory system according to Embodiment 7 of the present invention.
- FIG. 17 is a functional explanatory diagram (write / erase voltage characteristic diagram) of the nonvolatile memory system according to Example 8 of the present invention.
- FIG. 18 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 9 of the present invention.
- FIG. 19 is a flowchart showing the load power control sequence of the nonvolatile memory system according to Embodiment 9 of the present invention.
- FIG. 20 is a block diagram showing the configuration of the nonvolatile memory system according to Example 10 of the present invention.
- FIG. 21 is a flowchart showing a flash memory selection sequence in the nonvolatile memory system according to Embodiment 10 of the present invention.
- FIG. 22 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 11 of the present invention.
- FIG. 23 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 12 of the present invention.
- FIG. 24 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 13 of the present invention.
- FIG. 25 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 13 of the present invention.
- FIG. 26 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 14 of the present invention.
- FIG. 27 is a configuration example of a flash memory block according to the fifteenth embodiment of the present invention.
- FIG. 28 shows an example of items stored in the information register.
- FIG. 29 shows an example of an auto program sequence.
- FIG. 30 shows an example of the contents stored in the information register in the auto program sequence.
- FIG. 31 shows a specific circuit example of the controller.
- FIG. 32 is a command list.
- FIG. 33 is a configuration example of a flash memory block according to the sixteenth embodiment of the present invention.
- FIG. 34 shows a configuration example of the flash memory block according to the seventeenth embodiment of the present invention.
- FIG. 35 shows an example of storage items in the power information storage area.
- FIG. 36 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 18 of the present invention.
- FIG. 37 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 18 of the present invention.
- FIG. 38 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 19 of the present invention.
- FIG. 39 is a diagram showing an example of a flash memory operation management table of the nonvolatile memory system according to Embodiment 19 of the present invention.
- FIG. 40 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 20 of the present invention.
- FIG. 41 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 20 of the present invention.
- FIG. 42 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 21 of the present invention.
- FIG. 43 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 21 of the present invention.
- FIG. 44 is a diagram showing an example of a flash memory operation management table of the nonvolatile memory system according to Embodiment 22 of the present invention.
- FIG. 45 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 22 of the present invention.
- FIG. 46 is a diagram showing an example of a flash memory operation management table of the nonvolatile memory system according to Embodiment 23 of the present invention.
- FIG. 47 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 23 of the present invention.
- FIG. 48 is a diagram showing an example of a flash memory operation management table of the nonvolatile memory system according to Embodiment 23 of the present invention.
- FIG. 49 is a diagram showing an example of a flash memory operation management table of the nonvolatile memory system according to Embodiment 23 of the present invention.
- FIG. 50 is a flowchart showing the operation of the flash memory controller of the nonvolatile memory system according to Embodiment 24 of the present invention.
- FIG. 51 is a flowchart showing the operation of the flash memory controller of the nonvolatile memory system in the embodiment 25 of the present invention.
- FIG. 52 is a flowchart showing the operation of the flash memory controller of the nonvolatile memory system according to Embodiment 26 of the present invention.
- FIG. 53 is a flowchart showing the operation of the flash memory controller of the nonvolatile memory system according to Embodiment 27 of the present invention.
- FIG. 54 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 28 of the present invention.
- FIG. 55 is a flowchart showing the operation of the flash memory controller of the nonvolatile memory system according to Embodiment 28 of the present invention.
- FIG. 56 is a block diagram showing a configuration of a nonvolatile memory system (power supply circuit for a memory system) in Example 29 of the present invention.
- FIG. 57 is a flowchart showing the operation of the power supply circuit in Embodiment 29 of the present invention.
- FIG. 58 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 30 of the present invention.
- FIG. 59 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 31 of the present invention.
- FIG. 60 is a timing chart showing the operation of the power supply circuit for the nonvolatile memory system according to Embodiment 31 of the present invention.
- 61 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 32 of the present invention.
- FIG. 62 is a timing chart showing the operation of the power supply circuit for the nonvolatile memory system according to Embodiment 32 of the present invention.
- FIG. 63 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 33 of the present invention.
- FIG. 64 is a timing chart showing the operation of the power supply circuit for the nonvolatile memory system according to Embodiment 33 of the present invention.
- FIG. 65 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 34 of the present invention.
- FIG. 66 is a timing chart showing the operation of the power supply circuit for the nonvolatile memory system according to Embodiment 34 of the present invention.
- FIG. 67 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 35 of the present invention.
- FIG. 68 is a timing chart showing the operation of the power supply circuit for the nonvolatile memory system according to Embodiment 35 of the present invention.
- FIG. 69 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 36 of the present invention.
- FIG. 70 is a timing chart showing the operation of the power supply circuit for the nonvolatile memory system according to Embodiment 36 of the present invention.
- FIG. 71 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 37 of the present invention.
- FIG. 72 is a timing chart showing the operation of the power supply circuit for the nonvolatile memory system according to Embodiment 37 of the present invention.
- FIG. 73 is a block diagram showing a configuration of a power supply circuit for a nonvolatile memory system according to Embodiment 38 of the present invention.
- FIG. 74 is a timing chart showing the operation of the power supply circuit for nonvolatile storage system according to the working example 38.
- FIG. 75 is a block diagram showing the configuration of the voltage generator of the power supply circuit according to Embodiment 39 of the present invention.
- FIG. 76 is a block diagram showing the configuration of the voltage generation section of the power supply circuit according to the fortieth embodiment of the present invention.
- FIG. 77 is a block diagram showing the configuration of the voltage generation section of the power supply circuit according to Embodiment 41 of the present invention.
- FIG. 78 is an explanatory diagram for storing power parameters in the flash memory according to the embodiment of the present invention.
- FIG. 79 is a diagram showing an example of changing the power mode of the program sequence in the flash memory according to the embodiment of the present invention.
- FIG. 80 is a diagram showing details of power mode update in the flash memory according to the embodiment of the present invention.
- FIG. 81A is a diagram showing a first example of setting the power level at the time of command execution in the flash memory according to the embodiment of the present invention.
- FIG. 81B is a diagram showing a second example of setting the power level when executing a command in the flash memory according to the embodiment of this invention.
- FIG. 81C is a diagram showing a third example of setting the power level at the time of command execution in the flash memory according to the embodiment of this invention.
- FIG. 82A is a diagram illustrating a first example of power level change during command execution in the flash memory according to the embodiment of this invention.
- FIG. 82B is a diagram showing a second example of power level change during command execution in the flash memory according to the embodiment of this invention.
- FIG. 83 is a block diagram showing the configuration of the flash memory according to the embodiment of the present invention.
- FIG. 84 is a diagram showing the configuration of the power register in the embodiment of the present invention.
- FIG. 85 is a diagram showing the configuration of the command register in the embodiment of the present invention.
- FIG. 86 is a diagram showing another configuration of the flash memory according to the embodiment of the present invention.
- FIG. 87 is a diagram showing the configuration of a command register in another embodiment of the present invention.
- FIG. 88 is a diagram showing a configuration of a flash memory according to still another embodiment of the present invention.
- nonvolatile memory system of the present invention having the above configuration ⁇ 1> can be further advantageously developed in the following embodiment.
- the flash memory controller is provided with a flash memory internal state management unit.
- Each flash memory generates and holds internal state information.
- the flash memory internal state management unit captures and records the internal state information of each flash memory acquired by the flash memory controller through contact with each flash memory. The record is updated as the situation changes.
- Each of the plurality of flash memories outputs an internal state to the flash memory controller in accordance with a change in its operation state, and the flash memory controller registers the received internal state in the flash memory internal state management unit in an update manner.
- the flash memory controller accesses the memory block in response to an operation command from an external host, etc., and refers to the internal state management unit of the flash memory, and internal state information about the corresponding flash memory among the plurality of flash memories. To get.
- the flash memory controller controls the process execution power supply circuit according to the operation command among the plurality of process execution power supply circuits in the flash memory power supply circuit to be in an operation state according to the acquired internal state of the flash memory.
- the internal state information of the flash memory includes identification information indicating whether the flash memory is in a standby state or an operating state, and information on the execution type of processing.
- the standby state means that the corresponding flash memory is in a stopped (pause) state in which processing is not being executed.
- the operation state refers to a state in which some processing such as a read operation, a write operation, an erase operation, a write verify operation, and an erase verify operation is performed. Processing execution types include read, write, erase, write verify, erase verify, and the like. Depending on the type of execution process, the type of power supply circuit for various processes to be driven also changes.
- control mode changes with respect to the flash memory and the flash memory power supply circuit by the flash memory controller depending on whether the other flash memory is already in operation or not.
- This information is constantly managed by the flash memory controller as internal information of the flash memory, and fine control can be realized by controlling the flash memory and the flash memory power supply circuit based on the information. . As a result, power consumption can be effectively reduced.
- the information on the processing type is information on a read operation and a write / erase operation.
- each flash memory is configured to perform a read operation and a write / erase operation as the type of processing.
- the flash memory power supply circuit has a read power supply circuit and a write / erase power supply circuit as the processing execution power supply circuit.
- the information on the processing type is information on a read operation, a write / erase operation, and a write / erase verify operation.
- each flash memory is configured to perform a read operation, a write / erase operation, and a write / erase verify operation as its processing type.
- the flash memory power supply circuit includes a read power supply circuit, a write / erase power supply circuit, and a verify power supply circuit as the processing execution power supply circuit.
- the nonvolatile memory system of the present invention having the above-described configuration of ⁇ 1 >> to ⁇ 5 >> can be further advantageously developed in the following embodiment.
- ⁇ 6 Regarding the internal state of the flash memory, this can be determined by a flash memory interrupt notification signal.
- the flash memory interrupt notification signal is generated when the internal operation state of the flash memory changes and is notified to the flash memory controller.
- the flash memory when the internal state of the flash memory is one of a standby state, a read operation state, a write / erase operation state, and a write / erase verify operation state, and the flash memory changes to another state, the flash memory An interrupt notification signal indicating a change is generated and transmitted to the flash memory controller via a bus line or the like. There are various ways of changing the internal state.
- Standby state In the case of a flash memory having a read operation and a write / erase operation, ⁇ Standby state ⁇ Read operation state ⁇ Standby state ⁇ Write operation state ⁇ Standby state ⁇ Erase operation state ⁇ Read operation state ⁇ Standby state ⁇ Write operation state ⁇ Standby state / Erase operation state ⁇ Standby state .
- the generation of the internal state of the flash memory by the flash memory interrupt notification signal realizes fine adjustment control according to fine changes in the internal state of the flash memory in the control of the power supply circuit for processing execution. It is possible to make the effect of reducing the effect even more effective.
- ⁇ 7 >> In the above ⁇ 2 >>, the flash memory internal state management unit is referred to, but in this section, the internal state information of each flash memory that is updated and recorded by the flash memory internal state management unit is used. This section is applicable to the above ⁇ 2 >> to ⁇ 6 >>.
- the flash memory controller is configured to execute the following series of operations when an operation command is received from an external host.
- the command target process execution power supply circuit is activated only when the command target process execution power supply circuit is in a stopped state. If it is already in operation, there is no need to start, skipping and skipping the restart process. In the case of activation, it takes a certain time until the activation operation is stabilized. However, skipping saves the time and contributes to high-speed operation (reduction of power consumption).
- ⁇ 8 This section also uses the internal state information of each flash memory that is updated and recorded by the internal state management unit of the flash memory. This section is applicable to the configuration of ⁇ 7> above. In this section, it is assumed that the flash memory controller is configured to execute the following series of operations when an operation completion notification is received from the command target flash memory.
- the power supply circuit for executing command target processing is stopped only when the power supply circuit for executing command target processing during power supply is not used in another flash memory. When it is used for another flash memory, there is no need to stop and the skip is skipped. Even in the case of a stop, it takes a certain time until the influence of the stop is eliminated. However, if the skip is performed, the time is saved, which contributes to high-speed operation (reduction of power consumption).
- ⁇ 9 This is a case where a verify operation is included as a type of processing.
- the flash memory controller shifts to the verify operation state subsequent to the write / erase operation, the flash memory controller determines the usage status of the command target process execution power supply circuit according to the internal state of the flash memory in the flash memory internal state management unit.
- the command target process execution power supply circuit is in a stopped state, the command target process execution power supply circuit is started, and after the power supply state is stabilized, the operation of the command target flash memory is restarted. Update the internal state of the flash memory.
- the command target process execution power supply circuit is already in the operating state, the activation skip is performed, the operation of the command target flash memory is resumed, and the internal state of the flash memory is updated.
- ⁇ 10 This item relates to ⁇ 9 >> above.
- the flash memory controller receives a notification of operation completion from the flash memory being verified, the flash memory controller temporarily stops the operation of the verify operation completed flash memory.
- the verify operation is completed.
- the use status of the verify power supply process execution power supply circuit that supplies power to the flash memory is determined, and the verify power supply process execution power supply circuit is connected to another flash memory.
- the power supply circuit for executing verification power supply is stopped.
- the stop is skipped.
- Example 1 Specific examples of the configurations of ⁇ 1 >> to ⁇ 10 >> above will be described below as Example 1.
- FIG. 1 is a block diagram showing a configuration of a nonvolatile memory system according to Embodiment 1 of the present invention.
- the nonvolatile storage system according to the present embodiment includes a memory block 2010 as a set of a plurality of flash memories 2012, a flash memory power supply circuit 2020, and a flash memory controller 2030.
- the flash memory power supply circuit 2020 and the flash memory controller 2030 may be different semiconductor devices, or may be semiconductor devices integrated on the same chip.
- the flash memory controller 2030 is connected to the flash memory 2012 via an address / control bus 2041 and a data bus 2042.
- the flash memory controller 2030 is connected to the flash memory power supply circuit 2020 via the control bus 2043. Further, the flash memory power supply circuit 2020 is connected to each of the flash memories 2012 via a power supply line 2044.
- the flash memory 2012 does not include the power supply circuits for writing / erasing, reading, and verifying, which are included in the conventional flash memory, but newly writes a power supply terminal T1 for reading / writing, a power supply terminal T2 for reading, and a verifying function.
- the power supply terminal T3 is provided, and each voltage power supply is supplied from a flash memory power supply circuit 2020 placed outside the flash memory 2012 (memory block 2010).
- the verify power supply terminal T3 may be shared with the write / erase power supply terminal T1.
- the verify voltage for example, 10V
- the write / erase voltage for example, 20V
- the read power supply terminal T2 and the verify power supply terminal T3 are shared with the write / erase power supply terminal T1, and the read voltage and the verify voltage are generated by stepping down from the write / erase voltage inside the flash memory. Good.
- the configuration becomes simple. For example, when a read flash memory and a write flash memory exist at the same time, a higher write voltage is also applied to the read flash memory. Therefore, the effect of power saving as a result of fine power control is reduced.
- the flash memory 2012 is provided with an information register (IR) 2014 indicating an operation state executed by an internal controller (not shown), and further an internal state of the flash memory for notifying the outside of information on the operation state.
- IR information register
- a terminal T4 for outputting a notification signal A3 is provided.
- the flash memory internal state notification signal A3 is output to the flash memory controller 2030.
- the flash memory internal state notification signal A3 includes the following A to E.
- the notification method may be interrupt notification from the flash memory 2012 or polling from the flash memory controller 2030 (notification in response to a regular or irregular inquiry).
- an interrupt is generated when the internal operation state of the flash memory 2012 changes, and notifies the flash memory controller 2030 that the operation state has changed.
- the flash memory controller 2030 monitors the flash memory internal state notification signal A3 at a predetermined interval to check whether the state has changed.
- the data output method may be parallel or serial.
- the data representing the internal state is data having a plurality of bits of information, and is in the form of a bus having the number of bits for parallel output.
- the serial output there are two signals including one data line for sending serial data or a transfer clock.
- the data bus 2042 of the flash memory 2012 may be used.
- the flash memory internal state notification signal A3 is only responsible for notifying only the state change, and the data indicating the state itself is transmitted from the flash memory controller 2030 using the address / control bus 2041 that the flash memory 2012 has conventionally provided. Issue a read command and read it.
- the flash memory internal state notification signal A3 is a signal (flash memory interrupt notification signal A3 1 ) for notifying that the internal state has changed by an interrupt.
- flash memory interrupt notification signal A3 1 a signal for notifying that the internal state has changed by an interrupt.
- the reading of the internal state of the flash memory 2012 will be described with an example in which the flash memory controller 2030 issues an internal state read command and reads the information register 2014 from the data bus 2042 of the flash memory 2012.
- the flash memory 2012 has a terminal T5 for inputting a flash memory internal operation control signal A4 for temporarily stopping / resuming the operation of an internal controller (not shown).
- the flash memory controller 2030 is connected to the flash memory controller 2030 so that the flash memory controller 2030 can directly control the operation of the internal controller of the flash memory 2012.
- the flash memory 2012 outputs a flash memory internal state notification signal A3 (interrupt notification signal), and the flash memory controller 2030 that has received the signal temporarily stops the operation of the internal controller by the flash memory internal operation control signal A4. Resuming after desired operation.
- the flash memory 2012 outputs the flash memory internal state notification signal A3 (interrupt notification signal) and at the same time temporarily stops the internal controller and waits for the operation to be resumed by the flash memory internal operation control signal A4.
- the flash memory controller 2030 outputs commands such as writing, erasing, and reading and address information to each flash memory 2012 via the address / control bus 2041, and writes, reads, and erases data via the data bus 2042. Execute.
- the flash memory controller 2030 receives the flash memory internal state notification signal A3 output from the flash memory 2012.
- the flash memory internal state notification signal A3 is an interrupt notification signal indicating that the internal state of the flash memory 2012 has changed. By receiving an interrupt of this signal, the flash memory controller 2030 can determine which flash memory 2012. You can know if the internal state has changed.
- the flash memory controller 2030 includes a flash memory internal state management table 2032 for managing the internal state of each connected flash memory 2012.
- the flash memory internal state management table 2032 holds the current internal state of each flash memory 2012.
- the specific internal state of the flash memory internal state management table 2032 and the power state at that time are shown in FIGS. 3A and 3B.
- the flash memory controller 2030 outputs to the flash memory 2012 a flash memory internal operation control signal A4 for temporarily suspending / resuming the operation of the internal controller of the flash memory 2012.
- the flash memory controller 2030 outputs a flash memory power control signal A1 to the flash memory power circuit 2020 via the control bus 2043.
- the flash memory power supply control signal A1 is a signal for individually controlling the operation of each power supply circuit 2021, 2022, 2023 mounted in the flash memory power supply circuit 2020. The operation / stop of each power supply circuit, the generated voltage, the power supply Ability can be controlled.
- the flash memory controller 2030 operates each power supply circuit 2021, 2022, 2023 mounted on the flash memory power supply circuit 2020 with a desired voltage and power supply capability by the flash memory power supply control signal A1. When each power supply circuit 2021, 2022, 2023 is activated and ready for supply, the flash memory power supply circuit 2020 outputs a power supply completion signal A2 for each power supply circuit 2021, 2022, 2023 via the control bus 2043.
- the flash memory controller 2030 receives the data.
- the flash memory power supply circuit 2020 can change the boosting circuit for generating the write / erase voltage, read voltage, and verify voltage of the flash memory 2012 from the single power supply VCC supplied to the entire system, and the power supply capability.
- a write / erase power supply circuit 2021, a read power supply circuit 2022, and a verify power supply circuit 2023 including various output circuits are provided.
- the voltage power supply supplied by each power supply circuit 2021, 2022, 2023 is connected to each power supply terminal T1, T2, T3 of the plurality of flash memories 2012 through a power supply line.
- the flash memory power supply circuit 2020 operates / stops the write / erase power supply circuit 2021, the read power supply circuit 2022, and the verify power supply circuit 2023 and boosts each power supply in response to the flash memory power supply control signal A1 from the flash memory controller 2030.
- the voltage generated by the circuit and the power supply capability of the output circuit of each power source are switched.
- the control of the voltage generated by the booster circuit for example, by using a booster circuit capable of setting a plurality of levels of voltage within a certain voltage range, a corresponding voltage is generated from the given set voltage information of a plurality of bits. There is a way.
- the flash memory power supply circuit 2020 controls the power supply circuits 2021, 2022, and 2023 according to the flash memory power supply control signal A1 from the flash memory controller 2030, and supplies power to the flash memory controller 2030 when the preparation is completed.
- the completion signal A2 is output.
- the verify power supply circuit 2023 may not be provided.
- the flash memory 2012 is configured to share the read power supply terminal T2 and the verify power supply terminal T3 with the write / erase power supply terminal, the read power supply circuit 2022 and the verify power supply circuit 2023 may not be provided. .
- the single power supply VCC supplied to the entire system is supplied to the VCC power supply terminals of the flash memory controller 2030, the flash memory power supply circuit 2020 and the flash memory 2012.
- the VCC power supply terminal of the flash memory 2012 supplies power mainly to an IO (input / output terminal) and a logic circuit (not shown) of the flash memory 2012 and can receive a command from the flash memory controller 2030. It is in.
- the power supply circuits 2021, 2022, and 2023 to be mounted are stopped, and the write / erase power supply terminal T1, the read power supply terminal T2, and the verify power supply terminal T3 of the flash memory 2012 are not connected. Power is not supplied.
- step S1 the flash memory controller 2030 starts access to the flash memory 2012 in accordance with an instruction from an external host. If the command issued from the flash memory controller 2030 is a read command, the flash memory 2012 latches the read address and then enters a data read operation for the corresponding memory cell array. It outputs the flash memory interrupt notification signals A3 1 for notifying that it has entered a read operation.
- step S2 the flash memory controller 2030 receives the flash memory interrupt notification signals A3 1 from the flash memory 2012, a temporary stopping flash memory 2012 a flash memory internal operation control signal A4.
- the flash memory internal state management table 2032 is referred to and it is confirmed from the information whether the read power supply circuit 2022 of the flash memory power supply circuit 2020 is stopped or already operating.
- step S4 the flash memory controller 2030 activates the read power supply circuit 2022 mounted on the flash memory power supply circuit 2020 by the flash memory power supply control signal A1. Let The flash memory power supply circuit 2020 activates the read power supply circuit 2022 and waits until preparation for power supply is completed in step S5.
- the flash memory power supply circuit 2020 When the power supply voltage boosting is completed and the supply preparation is completed, the flash memory power supply circuit 2020 outputs the power supply preparation completion signal A2 of the read power supply circuit 2022 to the flash memory controller 2030 in step S6.
- step S 7 the flash memory controller 2030 receives the power supply completion signal A 2 for reading, restarts the internal operation of the flash memory 2012 by the flash memory internal operation control signal A 4, and at the same time, stores the flash memory internal state management table 2032.
- the state of the currently accessed flash memory 2012 is updated from “standby” to “read”.
- step S3 the process proceeds to step S7, where the flash memory controller 2030 immediately restarts the internal operation of the flash memory 2012 by the flash memory internal operation control signal A4, At the same time, the state of the flash memory 2012 currently accessed in the flash memory internal state management table 2032 is updated from “standby” to “read”.
- step S8 the data read operation for the memory cell array is executed.
- Flash memory 2012 the data read operation for the memory cell array is completed, in step S9, and outputs the flash memory interrupt notification signals A3 1 for notifying that data read operation is completed for the flash memory controller 2030.
- Flash memory controller 2030 receives the flash memory interrupt notification signals A3 1 from the flash memory 2012, at step S10, temporarily stopped the flash memory 2012 by flash-memory operation control signals A4, see flash memory internal state management table 2032 In step S11, it is confirmed from the information whether there is any other flash memory 2012 that is performing a reading operation.
- step S12 the flash memory controller 2030 uses the flash memory power supply control signal A1 to send the flash memory power supply circuit 2020.
- the power supply circuit for reading 2022 mounted on is stopped.
- step S13 the flash memory controller 2030 restarts the internal operation of the flash memory 2012 by the flash memory internal operation control signal A4, and at the same time, the status of the flash memory 2012 currently accessed in the flash memory internal status management table 2032 Is updated from “Read” to “Standby”.
- step S11 determines whether there is another flash memory 2012 that is performing a read operation and the read power supply circuit 2022 cannot be stopped. If it is determined in step S11 that there is another flash memory 2012 that is performing a read operation and the read power supply circuit 2022 cannot be stopped, the process skips step S12 and proceeds to step S13, and the flash memory controller 2030 immediately The internal operation of the flash memory 2012 is resumed by the operation control signal A4, and at the same time, the state of the flash memory 2012 currently accessed in the flash memory internal state management table 2032 is updated from “read” to “standby”.
- the flash memory 2012 latches the write / erase address and write data, and then writes or erases data in the corresponding memory cell array. It enters the operation, and outputs a flash memory interrupt notification signals A3 1 for notifying that go in the write or erase operation of the data to the flash memory controller 2030.
- step S22 the flash memory controller 2030 receives the flash memory interrupt notification signals A3 1 from the flash memory 2012, temporarily stops the flash memory 2012 by flash memory internal operation control signal A4, the flash memory internal state management table 2032 In step S23, it is confirmed from the information whether the write / erase power supply circuit 2021 of the flash memory power supply circuit 2020 is stopped or already operating.
- step S24 the flash memory controller 2030 uses the flash memory power supply control signal A1 to write / erase power supply circuit 2021 mounted on the flash memory power supply circuit 2020.
- the flash memory power supply circuit 2020 activates the write / erase power supply circuit 2021 and waits until preparation for power supply is completed.
- step S25 when it is confirmed that the boosting of the power supply voltage has been completed and the supply preparation is complete, the process proceeds to step S26, where the flash memory power supply circuit 2020 prepares the power supply preparation of the write / erase power supply circuit 2021 for the flash memory controller 2030.
- the completion signal A2 is output.
- step S27 the flash memory controller 2030 receives the power / ready preparation signal A2 for writing / erasing, and restarts the internal operation of the flash memory 2012 by the flash memory internal operation control signal A4.
- the state of the currently accessed flash memory 2012 of 2032 is updated from “standby” to “write” or “erase”.
- step S23 If the write / erase power supply circuit 2021 is already operating as determined in step S23, the process skips to step S27 and the flash memory controller 2030 immediately restarts the internal operation of the flash memory 2012 by the flash memory internal operation control signal A4. At the same time, the status of the flash memory 2012 currently accessed in the flash memory internal status management table 2032 is updated from “standby” to “write” or “erase”.
- step S28 the data write / erase operation is performed on the memory cell array.
- Flash memory 2012 is output when the data write / erase operation to the memory cell array is completed, in step S29, the flash memory interrupt notification signals A3 1 for notifying that data write / erase operation has been completed for the flash memory controller 2030 To do.
- step S30 the flash memory controller 2030 receives the flash memory interrupt notification signals A3 1 from the flash memory 2012, temporarily stops the flash memory 2012 by flash memory internal operation control signal A4, the flash memory controller 2030 is an internal flash memory Referring to state management table 2032, in step S 31, it is confirmed from the information whether there is any other flash memory 2012 that is in the write / erase operation.
- step S32 If it is determined that there is no other flash memory 2012 that is in the write / erase operation and the power supply circuit 2021 for write / erase can be stopped, the process proceeds to step S32, and the flash memory controller 2030 uses the flash memory power control signal A1 to The write / erase power supply circuit 2021 mounted on the memory power supply circuit 2020 is stopped, and then in step S33, the process proceeds to a verification power supply sequence.
- step S31 If it is determined in step S31 that there is another flash memory 2012 in the write / erase operation and the write / erase power supply circuit 2021 cannot be stopped, step S32 is skipped, and the verification power supply sequence is immediately shifted in step S33.
- step S34 the flash memory controller 2030 issues an internal state read command for the flash memory 2012 to check the internal state of the flash memory 2012 that has been interrupted (when verification is completed). If it is determined in step S35 that the internal state is write / erase, the process returns to step S22 to execute the write / erase power supply sequence again.
- step S35 If it is determined in step S35 that the internal state is standby, the process proceeds to step S36, where the flash memory controller 2030 restarts the internal operation of the flash memory 2012 by the flash memory internal operation control signal A4 and simultaneously manages the internal state of the flash memory.
- the state of the flash memory 2012 currently accessed in the table 2032 is updated from “write verify” or “erase verify” to “standby”.
- step S41 after completion of the write / erase operation, the flash memory controller 2030 refers to the internal state management table 2032 of the flash memory, and in step S42, the verification power supply circuit 2023 of the flash memory power supply circuit 2020 is stopped based on the information. To see if it is already working.
- step S42 If the verification power supply circuit 2023 is stopped as determined in step S42, the process proceeds to step S43, and the flash memory controller 2030 uses the flash memory power supply control signal A1 to verify the verification power supply circuit mounted on the flash memory power supply circuit 2020. 2023 is activated. The flash memory power supply circuit 2020 activates the verification power supply circuit 2023 and waits until preparation for power supply is completed in step S44.
- the flash memory power supply circuit 2020 When the power supply voltage boosting is completed and the supply preparation is completed, the flash memory power supply circuit 2020 outputs the power supply completion signal A2 of the verification power supply circuit 2023 to the flash memory controller 2030 in step S45.
- step S46 the flash memory controller 2030 receives the power supply completion signal A2 for verification, and restarts the internal operation of the flash memory 2012 by the flash memory internal operation control signal A4.
- the state of the currently accessed flash memory 2012 is updated from “write” or “erase” to “write verify” or “erase verify”.
- the flash memory 2012 has already been supplied with the verifying power supply circuit 2023 in the determination of step S42, so immediately after receiving the flash memory internal operation control signal A4 in step S46, in step S47, the memory Data write / erase verify operation for the cell array is executed.
- the flash memory 2012 When the data write / erase verify operation for the memory cell array is completed, the flash memory 2012 notifies the flash memory controller 2030 that the data write / erase verify operation has been completed in step S48, and the flash memory interrupt notification signal A3 1. Is output.
- the flash memory controller 2030 receives the flash memory interrupt notification signals A3 1 from the flash memory 2012, temporarily stops the flash memory 2012 by flash memory internal operation control signal A4, the flash memory controller 2030 is an internal flash memory Referring to state management table 2032, in step S 50, it is confirmed from the information whether there is any flash memory 2012 that is being written / erased and verified.
- step S51 the flash memory controller 2030 uses the flash memory power control signal A1 to The verification power supply circuit 2023 mounted on 2020 is stopped, the verification power supply sequence is terminated in step S52, and the process returns to step S34 of the write / erase power supply sequence in FIG.
- step S50 If it is determined in step S50 that there is another flash memory 2012 during the write / erase verify operation and the power supply circuit for verification 2023 cannot be stopped, step S51 is skipped, and the power supply sequence for verification is immediately terminated in step S52. Returning to step S34 of the power supply sequence for writing / erasing in FIG.
- the flash memory controller 2030 can grasp the internal operation of the flash memory 2012 by the flash memory internal state notification signal A3, and the operation of the external power supply can be controlled according to the internal operation. Can efficiently supply the necessary power, and the power consumption of the entire system can be reduced.
- the flash memory controller of this section includes an applied voltage control circuit having the following functions.
- the applied voltage control circuit acquires, as the internal state of the flash memory, applied voltage information about a plurality of types of processing execution power supply circuits specific to each flash memory by notification from each flash memory. Then, the operation of the corresponding processing execution power supply circuit is controlled according to the acquired applied voltage information.
- Each flash memory has a unique applied voltage for each of the plurality of types of processing execution power supply circuits, and each flash memory has information on the applied voltage.
- the flash memory controller reads and obtains applied voltage information from the flash memory when accessing the corresponding flash memory.
- the applied voltage information is for the processing execution power supply circuit of the corresponding processing type, and is specific to the corresponding flash memory.
- the applied voltage control circuit controls the corresponding power supply circuit for processing execution according to the obtained applied voltage information.
- the appropriate application The power supply circuit for executing the processing is controlled so that the voltage is the same, and for flash memories where the optimum applied voltage required for individual differences is higher than the standard, the applied voltage is appropriate.
- the power supply circuit for executing the process is controlled.
- the applied voltage control circuit in this section is the highest of the plurality of applied voltages indicated by the applied voltage information when the applied voltage information of the same processing execution power supply circuit is acquired from the plurality of flash memories.
- the operation of the same processing execution power supply circuit is controlled so as to be an applied voltage.
- Each of the plural types of processing execution power circuits in the flash memory power circuit is shared by a plurality of flash memories in the memory block. Further, each processing execution power supply circuit may simultaneously supply power to two or more flash memories if the processing types are the same. In some cases, the optimum applied voltage for one flash memory is different from the optimum applied voltage for another flash memory.
- each processing execution power supply circuit adopts the optimum applied voltage for the flash memory when there is not a plurality of flash memories to be supplied with power, and it is processing execution.
- the applied voltage is most suitable for the corresponding flash memory, and is not an excessively high applied voltage.
- FIG. 7 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 2 of the present invention.
- Information indicated by the information register 2014 in the flash memory 2012 includes, in addition to an operation state (processing type) executed by an internal controller (not shown) of the flash memory 2012, a read power supply voltage and a write / erase power supply. It includes the voltage and the applied voltage information of the verify power supply voltage. These pieces of information indicate each power supply voltage necessary for the operation of the flash memory 2012. There is optimum power supply voltage information for each flash memory 2012. There are individual differences due to manufacturing tolerances among the plurality of flash memories.
- the applied voltage information may applied voltage notification signal A3 2 as means for notifying, which may be directly connected to the flash memory controller 2030.
- T6 is the output terminal of the applied voltage notification signal A3 2 in the flash memory 2012.
- the flash memory controller 2030 of this embodiment further includes an applied voltage control circuit 2034.
- the applied voltage control circuit 2034 compares the applied voltage information of the flash memory 2012 with the current applied voltage, and the higher value is set as the applied voltage of each power supply circuit 2021, 2022, 2023 of the flash memory power supply circuit 2020. .
- Steps S61 to S63 correspond to steps S21 to S23 of FIG.
- the flash memory controller 2030 issues an internal state read command for the flash memory 2012 in step S64, and an interrupt (when verification is completed) occurs.
- Information on the applied voltage of the writing power source of the flash memory 2012 is read from the information register 2014 of the flash memory 2012 and passed to the applied voltage control circuit 2034.
- step S65 the applied voltage control circuit 2034 activates the write / erase power supply circuit 2021 according to the applied voltage information.
- Steps S70 to S73 correspond to steps S25 to S28 in FIG. If the write / erase power supply circuit 2021 is operating as determined in step S63, in step S66, the flash memory controller 2030 issues an internal state read command for the flash memory 2012 and receives an interrupt (when verification is completed).
- the applied voltage information of the writing power supply of the flash memory 2012 is read from the information register 2014 of the flash memory 2012 and passed to the applied voltage control circuit 2034.
- step S67 the applied voltage control circuit 2034 compares the read applied voltage information with the current voltage of the write / erase power supply circuit 2021. Next, if it is determined in step S68 that the read applied voltage information is higher, the power supply voltage of the write / erase power supply circuit 2021 is changed in accordance with the applied voltage information in step S69, and then the process proceeds to step S70.
- step S68 the applied voltage control circuit 2034 compares the read applied voltage information with the current voltage of the write / erase power supply circuit 2021, and if the read applied voltage information is lower, the current write / erase power supply circuit. The power supply voltage of 2021 is maintained, and the process proceeds to step S72.
- the flash memory controller 2030 can grasp the power supply voltages of the respective flash memories 2012 and control the voltage of the external power supply. Therefore, it is possible to efficiently supply power without extra boosting, and to reduce power consumption of the entire system.
- the flash memory controller further includes an applied voltage information storage unit for storing applied voltage information received from a plurality of flash memories. Further, the flash memory controller is configured to determine a flash memory to be selected with reference to the applied voltage information stored in the applied voltage information storage unit.
- the applied voltage information storage unit can hold applied voltage information for all flash memories. That is, it is possible to hold not only the flash memory that is currently accessed but also other flash memories and the past (immediately) applied voltage information of the flash memory that is currently in the standby state.
- the applied voltage information can include applied voltage information for each of a plurality of types of processing execution power supply circuits.
- one flash memory to be accessed is determined by referring to the applied voltage information related to the processing execution power supply circuit of all the processing types of all the flash memories in the applied voltage information storage unit. By doing so, it is possible to greatly contribute to the reduction of power consumption.
- the flash memory controller described above refers to the applied voltage information stored in the applied voltage information storage unit when there are a plurality of flash memories to be accessed in a free state among the plurality of flash memories.
- the flash memory having the lowest applied voltage is determined as the flash memory.
- the flash memory with the lowest applied voltage is determined as the selection target flash memory among the plurality of access target candidate flash memories in the empty state, the same type of processing can be executed with less power. It becomes possible.
- the reason why the plurality of applied voltages can be compared with each other in this way is that the applied voltage information of all the processing types received from all the flash memories can be stored in the applied voltage information storage unit. It is. Since the flash memory having the lowest applied voltage is employed, the power consumption can be further reduced.
- FIG. 9 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 3 of the present invention.
- the flash memory internal state management table 2032 of the flash memory controller 2030 further includes an applied voltage information storage unit 2033 that stores applied voltage information for each flash memory 2012.
- the collection of the applied voltage information may be performed by issuing an internal state read command to all the flash memories 2012 at the time of system startup and registering them in the flash memory internal state management table 2032 or by applying the flash memory 2012 once accessed.
- the voltage information may be stored in the applied voltage information storage unit 2033 of the flash memory internal state management table 2032 each time.
- step S81 the nonvolatile memory system is turned on and the flash memory controller 2030 is activated.
- step S82 the flash memory controller 2030 issues an internal state read command to all or some of the connected flash memories 2012, and reads applied voltage information from the information register 2014 of the flash memory 2012.
- step S83 the read applied voltage information is stored in the applied voltage information storage unit 2033 of the flash memory internal state management table 2032.
- step S85 the flash memory controller 2030 selects the flash memory 2012 having a free area where data can be written.
- the flash memory controller 2030 reads the applied voltage information of the flash memory 2012 with reference to the applied voltage information storage unit 2033 of the flash memory 2012 as in step S86.
- step S87 the flash memory controller 2030 compares the applied voltage information, and selects the flash memory 2012 having the lowest applied voltage among the flash memories 2012 to be selected.
- step S88 the flash memory controller 2030 issues a process execution command to the selected flash memory 2012.
- the applied voltage information required by the flash memory 2012 is stored in the applied voltage information storage unit 2033 in advance, and the flash memory 2012 having a low applied voltage is compared by comparing the stored applied voltage information of the plurality of flash memories 2012. Therefore, the boost operation of the flash memory power supply circuit 2020 can be suppressed, and the power consumption of the entire system can be reduced.
- ⁇ 15 [Notification of Applied Voltage (Multiple Memory Selection)] This item relates to ⁇ 14 >> above.
- the flash memory controller refers to the applied voltage information stored in the applied voltage information storage unit, and gives priority to the flash memories having a smaller difference in applied voltage as a selection target flash memory. Is configured to be determined.
- the difference in applied voltage between the first flash memory and the second flash memory is ⁇ E12
- the difference in applied voltage between the second flash memory and the third flash memory is ⁇ E23
- the difference between the third flash memory and the first flash memory is The difference in applied voltage.
- ⁇ E12, ⁇ E23, ⁇ E31 when ⁇ E12 is the smallest, it is determined by the combination of the first flash memory and the second flash memory, and when ⁇ E23 is the smallest, the second flash memory And the third flash memory.
- ⁇ E31 is the smallest, it is determined by the combination of the third flash memory and the first flash memory.
- FIG. 11 is a flowchart showing a sequence of flash memory selection (multiple selection) in the nonvolatile memory system according to Embodiment 4 of the present invention. Steps S91 to S96 and Step S98 are the same as Steps S81 to S86 and Step S88 in FIG. Only step S97 is different.
- the flash memory controller 2030 selects a flash memory 2012 having a free area in accordance with a write request from the host with the same configuration as in the third embodiment.
- the flash memory controller 2030 applies the flash memory 2012 to be selected as in the third embodiment.
- the applied voltage information of the flash memory 2012 is read with reference to the voltage information storage unit 2033.
- step S97 the flash memory controller 2030 compares the applied voltage information, and preferentially selects flash memories 2012 having a small applied voltage difference among the flash memories 2012 to be selected.
- the information on the applied voltage to the flash memory 2012 is stored in advance, and the flash memories 2012 having a small difference in applied voltage are selected in combination, so that unnecessary boosting is avoided as much as possible. It can be controlled in a form and power can be supplied efficiently, reducing the power consumption of the entire system.
- the applied voltage control circuit acquires the number of times of verification in each flash memory as a flash memory internal state by notification from each flash memory, and takes the operation of the corresponding processing execution power supply circuit into account by taking the acquired number of times of verification into account.
- the verification related to the verification frequency information here includes at least one of write verification and erase verification.
- the verify count information indicates the number of times of write / erase repeated until the write / erase operation is completely completed in the flash memory.
- the flash memory contains more deteriorated or poorly-characterized cells that are difficult to write / erase.
- the write / erase success rate increases if the applied voltage is raised from the reference value in writing / erase. Therefore, the number of verifications is reduced by adjusting the applied voltage in consideration of the verification number information. As a result, the power supply time can be shortened as a result, and the power consumption can be further improved.
- the applied voltage control circuit in the flash memory controller controls the operation of the corresponding processing execution power supply circuit according to the acquired applied voltage information
- the acquired applied voltage is used as a reference voltage, and [reference voltage] and [acquired number of verifications] And [correction voltage set in advance] to control the corresponding processing execution power supply circuit with the corrected applied voltage obtained by the calculation.
- the success rate of writing / erasing is increased by increasing the adjustment increment of the applied voltage according to the number of verifications. As a result, it is possible to further improve the power consumption.
- a typical example of a preferable arithmetic expression is [reference voltage] + [acquired number of verifications] ⁇ [preset correction voltage]. This is an example, and in a broad sense, this is a voltage generation method that can be expressed by a function of the number of verifications.
- Example 5 Specific examples of the configurations of ⁇ 16 >> and ⁇ 17 >> will be described below as Example 5.
- FIG. 12 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 5 of the present invention.
- Information indicated by the information register 2014 of the flash memory 2012 includes an operation state executed by an internal controller (not shown) of the flash memory 2012, application of a read power supply voltage, a write / erase power supply voltage, and a verify power supply voltage.
- the number of verification times information is further included.
- the verify count information indicates the number of times that the read operation for confirming whether or not the flash memory 2012 was correctly written / erased when the flash memory 2012 performed the write / erase operation.
- the number-of-verification information has information for each writing unit in the case of write verification information and for each erasure unit in the case of erase verification information, and is left as a record when the last writing / erasing is performed on the flash memory 2012 side.
- the verification number information may be written not in the information register 2014 but in a redundant area of the flash memory 2012 or the like.
- T7 is an output terminal of the verify number notification signal A3 3 in the flash memory 2012.
- Steps S101 to S103 correspond to steps S61 to S63 of FIG. 8 in the second embodiment.
- Steps S109, S111, S112, S113, and S114 correspond to steps S68, S70, S71, S72, and S73 of FIG. 8, respectively.
- step S104 the flash memory controller 2030 issues an internal state read command for the flash memory 2012, and the interrupted flash memory 2012 is Information on the voltage applied to the write power supply and information on the number of verifications in the write unit are read.
- step S105 the applied voltage control circuit 2034 sets the applied voltage information as a reference voltage, and sets [reference voltage] + [number of verifications] ⁇ [correction voltage] as a generated voltage. 2021 is started.
- the correction voltage is a fixed value set in advance on the flash memory controller 2030 side.
- the flash memory controller 2030 may have a value determined in advance according to the specification, or the flash memory 2012 side has such data, and is read out from the flash memory controller 2030 side and used when the system is activated. It may be a thing.
- the calculation method of the generated voltage in this example is an example, and in a broad sense, this is a voltage generation method that can be expressed by a function of the number of verifications.
- step S106 the flash memory controller 2030 issues an internal state read command for the flash memory 2012, and the write power supply for the flash memory 2012 that has been interrupted. Read applied voltage information and verify number of times information in writing unit.
- step S107 the applied voltage control circuit 2034 sets [reference voltage] + [number of verifications] ⁇ [correction voltage] as the generated voltage using the applied voltage information as a reference voltage.
- step S108 the set voltage is compared with the current voltage of the write / erase power supply circuit 2021, and if the set voltage is higher in step S109, the write / erase power supply circuit according to the set voltage in step S110.
- the power supply voltage of 2021 is changed.
- the applied voltage control circuit 2034 compares the set voltage with the current voltage of the write / erase power supply circuit 2021, and if the set voltage is lower, in step S113, the current write / erase power supply circuit 2021 Maintain power supply voltage.
- the present embodiment there are included cells that are not easily written / erased or deteriorated in characteristics as the number of times of verification is increased, and the write / erase voltage is previously set for such cell write / erase.
- the number of [Verification times] x [Correction voltage] higher, writing becomes easier, and by reducing the number of verifications, the power supply time can be shortened as a result, reducing the power consumption of the entire system. be able to.
- the flash memory controller further includes an application time information storage unit that stores application time information.
- the application time information is obtained as follows. Information on the number of times of verification is received from a plurality of flash memories, and information on the pulse width and pulse interval of the voltage application in the write / erase operation is received. Then, the application time information is obtained based on the calculation of the number-of-verifications information and the voltage application pulse width and pulse interval information. The application time information is stored in the application time information storage unit. The flash memory controller determines the flash memory to be selected with reference to the application time information stored in the application time information storage unit.
- information on the pulse width and pulse interval of voltage application is managed on the flash memory side, and is sent to the flash memory controller side together with the verify count information.
- the flash memory controller calculates the application time from the received voltage application pulse width and pulse interval and the number of verifications.
- the pulse width and pulse interval for voltage application in the write / erase operation correspond to one cycle of the write / erase operation including the verify operation. From this one cycle and the number of verify times, the actual application time required for the actual write / erase operation can be obtained.
- the obtained application time information is stored in the application time information storage unit together with the number of verifications, the pulse width, and the interval.
- the application time information storage unit can hold these pieces of information for all the flash memories.
- the flash memory controller When the operation command from the host or the like is given to the flash memory controller, it becomes a problem which flash memory is selected as an access target among a plurality of flash memories.
- the power consumption can be reduced by determining one flash memory to be accessed by referring to the application time information of all the flash memories in the application time information storage unit. It will be possible to greatly contribute to the above.
- the flash memory controller stores in the application time information storage unit when there are a plurality of flash memories to be accessed and a plurality of flash memories to be accessed among a plurality of flash memories. With reference to the applied time information, the flash memory having the shortest applied time is selected.
- the flash memory with the shortest application time is determined as the selection target flash memory from among the plurality of access target candidate flash memories, the same type of processing can be executed with less power. It becomes possible.
- the reason why the plurality of application times can be compared with each other is that the application time information of all the flash memories can be stored in the application time information storage unit. Since the flash memory with the shortest application time is employed and the operation time of the processing execution power supply circuit is suppressed as much as possible, the power consumption can be further reduced.
- FIG. 14 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 6 of the present invention.
- Information indicated by the information register 2014 of the flash memory 2012 includes an operation state executed by an internal controller (not shown) of the flash memory 2012, application of a read power supply voltage, a write / erase power supply voltage, and a verify power supply voltage.
- pulse width / interval information is further included.
- the pulse width information is information on the length of the section in which the power for writing is actually applied when writing or erasing is performed, and the pulse interval information is the interval until the next writing is executed. That is, it is information on the length of the write verify or erase verify interval.
- Pulse width / pulse interval notification signal A3 4 is a means for notifying the pulse width / spacing information may be directly connected to the flash memory controller 2030.
- T8 is an output terminal of a pulse width / interval notification signal in the flash memory 2012.
- the flash memory internal state management table 2032 of the flash memory controller 2030 further includes an application time information storage unit 2035 that stores verification number information and pulse width / interval information for each flash memory 2012.
- the application time is calculated by [pulse width + pulse interval] ⁇ [number of verifications].
- the application time information has information for each writing unit in the case of writing information and for each erasing unit in the case of erasing information, and is recorded as a record when previous writing / erasing is performed on the flash memory 2012 side.
- the collection of application time information may be performed by issuing an internal state read command to the flash memory 2012 at the time of system startup and registering it in the flash memory internal state management table 2032, or application time information of the flash memory 2012 once accessed. May be stored in the flash memory internal state management table 2032 each time.
- Example 6 will be described with an example in which application time information is read at a time when the system is started.
- the operation of flash memory selection will be described with reference to the flowchart of FIG.
- the flash memory controller 2030 issues an internal state read command to all or some of the connected flash memories 2012. Issuing and reading applied voltage information, number-of-verification information, and pulse width / interval information from the information register 2014 of the flash memory 2012.
- step S123 the read information is stored in the applied voltage information storage unit 2033 and the application time information storage unit 2035 of the flash memory internal state management table 2032.
- step S125 the flash memory controller 2030 selects a flash memory 2012 having a free area in which data can be written.
- the flash memory controller 2030 refers to the applied voltage information storage unit 2033 and the applied time information storage unit 2035 of the flash memory 2012, and 2012 applied voltage information and applied time information are read.
- step S127 the flash memory controller 2030 compares the application time information, and selects the flash memory 2012 having the shortest application time among the flash memories 2012 to be selected.
- step S128, the flash memory power supply circuit 2020 is controlled in accordance with the applied voltage information.
- the number of times of verification and the pulse width / interval are read in advance to store application time information, the flash memory 2012 having a short application time is preferentially selected, and the operation time of the flash memory power supply circuit 2020 is determined. By suppressing, the power consumption of the entire system can be reduced.
- the flash memory controller refers to the application time information stored in the application time information storage unit when accessing a plurality of flash memories in a parallel state, As flash memories that receive power supply from the same processing execution power supply circuit, the flash memories that have a smaller difference in application time are preferentially selected.
- the difference in application time between the first flash memory and the second flash memory is ⁇ T12
- the difference in application time between the second flash memory and the third flash memory is ⁇ T23
- the difference between the third flash memory and the first flash memory is ⁇ T31.
- ⁇ T12, ⁇ T23, and ⁇ T31 when ⁇ T12 is the smallest, the combination of the first flash memory and the second flash memory is selected, and when ⁇ T23 is the smallest, the second flash memory is selected.
- the third flash memory are selected.
- ⁇ T31 is the smallest, the combination of the third flash memory and the first flash memory is selected.
- Example 7 A specific example of the above configuration ⁇ 20> will be described below as Example 7.
- FIG. 16 is a flowchart showing a flash memory selection (multiple selection) sequence in the nonvolatile memory system according to Embodiment 7 of the present invention. Steps S131 to S136 and S138 are the same as steps S121 to S126 and S128 in FIG. Only step S136 is different.
- the flash memory controller 2030 selects a flash memory 2012 having a free area in accordance with a write request from the host with the same configuration as in the sixth embodiment.
- the flash memory controller 2030 selects the flash memory 2012 to be selected.
- the application voltage information and application time information of the flash memory 2012 are read with reference to the application voltage information storage unit 2033 and the application time information storage unit 2035.
- step S137 the flash memory controller 2030 compares the application time information, and preferentially selects the flash memories 2012 having a small difference in application time among the flash memories 2012 to be selected.
- information on the application time to the flash memory 2012 is stored in advance, and an extra voltage application time is consumed by preferentially selecting the flash memories 2012 having a small difference in application time. Power can be supplied efficiently without reducing power consumption of the entire system.
- the flash memory controller refers to the application time information stored in the application time information storage unit when accessing a plurality of flash memories in parallel. In the operation execution of a plurality of flash memories, control is performed in a state where timings do not overlap each other.
- the flash memory controller accesses a plurality of flash memories in a concurrent state
- the plurality of flash memories are controlled in a state where timings do not overlap each other. According to this, it is possible to suppress an excessive increase in the power consumption peak of the flash memory, and it is possible to reduce the power consumption of the entire system by the efficient power supply.
- FIG. 17 is a functional explanatory diagram (write / erase voltage characteristic diagram) of the nonvolatile memory system according to Example 8 of the present invention. It is assumed that the flash memory controller 2030 selects a flash memory 2012 having a free area in accordance with a write request from the host with the same configuration as in the sixth embodiment. When it is necessary to execute writing and erasing in parallel on a plurality of flash memories 2012 due to a system configuration due to a speed request or the like, the flash memory controller 2030, as in the sixth embodiment, selects the flash memory 2012 to be selected. The application voltage information and application time information of the flash memory 2012 are read with reference to the application voltage information storage unit 2033 and the application time information storage unit 2035.
- the flash memory controller 2030 compares the pulse width, pulse interval, and number of verifications of the application time information.
- a plurality of flash memories 2012 having a combination in which pulses do not overlap while repeating the number of times of verification are selected so that the pulse width of the selected flash memory 2012 becomes narrower than the pulse interval.
- Erase and write / erase verify operations are shifted from each other.
- control is performed so that the respective write / erase pulses are not overlapped, thereby suppressing the power consumption peak of the flash memory 2012 and supplying power efficiently. Can reduce the power consumption of the entire system.
- each of a plurality of types of processing execution power supply circuits having different voltage levels is configured so that the output power amount can be variably controlled.
- Each of the plurality of flash memories is configured to notify the flash memory controller of load power information, which is the amount of power required by a plurality of types of processing execution power supply circuits unique to each flash memory.
- the flash memory controller has a supply power control circuit as a new component. The supply power control circuit controls the output power amount in the corresponding processing execution power supply circuit based on the received load power information.
- the processing execution power supply circuit related to the load power information may be any one of a read power supply circuit, a write / erase power supply circuit, and a verify power supply circuit, and any two or more of these may be used. A combination of these may be selected.
- the supply power control circuit controls the output power amount of the processing execution power supply circuit according to the notified load power. As a result, the power of the optimum amount of power requested by the flash memory is correctly supplied to the corresponding flash memory. As a result, it is possible to further improve the power consumption.
- ⁇ 23> In the configuration of ⁇ 22>, when the supply power control circuit acquires the load power information of the same processing execution power supply circuit from the plurality of flash memories, the plurality of loads indicated by the acquired load power information The operation of the same process execution power supply circuit is controlled so that power equal to or greater than the sum of the power is supplied to the same process execution power supply circuit.
- FIG. 18 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 9 of the present invention.
- the information indicated by the information register 2014 in the flash memory 2012 includes, in addition to the operating state executed by the internal controller (not shown) of the flash memory 2012, a read power supply voltage, a write / erase power supply voltage, and a verify power supply. Contains voltage load power information. These pieces of information indicate the amount of power necessary for the flash memory 2012 to operate. There is optimum power supply voltage information for each flash memory 2012. There are individual differences due to manufacturing tolerances among the plurality of flash memories.
- load power notification signal A3 5 as means for notifying the load power information, which may be connected directly to the flash memory controller 2030.
- T9 is the output terminal of the load power notification signal A3 5 in the flash memory 2012.
- the flash memory controller 2030 further includes a supply power control circuit 2036.
- the supply power control circuit 2036 compares the load power information of the flash memory 2012 with the current supply power, and supplies the power supply circuits 2021, 2022, and 2023 of the flash memory power supply circuit 2020 so that the supply power exceeds the load power. Control power.
- FIG. 19 is a flowchart showing a load power control sequence of the nonvolatile memory system according to Embodiment 9 of the present invention.
- Steps S141 to S143 correspond to steps S101 to S103 in FIG. 13 in the fifth embodiment.
- Steps S150 to S153 correspond to steps S111 to S114 in FIG.
- the flash memory controller 2030 issues an internal state read command for the flash memory 2012 in step S144, and an interrupt (when verification ends) is issued.
- the load power information of the write power supply of the flash memory 2012 is read.
- step S145 the supply power control circuit 2036 sets the supply power to be larger than the load power information and activates the write / erase power supply circuit 2021.
- step S146 the flash memory controller 2030 issues an internal state read command for the flash memory 2012, and interrupts (when verification ends).
- the load power information of the write power supply of the flash memory 2012 that has been read is read.
- step S147 the supply power control circuit 2036 sums the read load power information and the current load power information, and compares the current supply power of the write / erase power supply circuit 2021.
- step S149 the supply power of the write / erase power supply circuit 2021 is changed so that the supply power is larger than the load power information.
- the supply power control circuit 2036 sums the read load power information and the current load power information, compares the current supply power of the write / erase power supply circuit 2021, and the sum of the load power information is greater. If it is smaller, in step S152, the current supply power of the write / erase power supply circuit 2021 is maintained.
- the present embodiment by notifying the load power information consumed by the flash memory 2012, only the necessary power can be supplied from the external power source, so that the power source can be supplied efficiently and the entire system can be supplied. Power consumption can be reduced.
- the flash memory controller further includes a load power information storage unit for storing load power information received from a plurality of flash memories.
- the flash memory controller determines a flash memory to be selected with reference to the load power information stored in the load power information storage unit.
- Load power information is managed on the flash memory side and sent to the flash memory controller side.
- the received load power information is stored in the load power information storage unit.
- the load power information storage unit can hold load power information for all flash memories.
- the flash memory controller When the operation command from the host or the like is given to the flash memory controller, it becomes a problem which flash memory is selected as an access target among a plurality of flash memories.
- the power consumption can be reduced by determining one flash memory to be accessed by referring to the load power information of all the flash memories in the load power information storage unit. It will be possible to greatly contribute to the above.
- the flash memory controller is stored in the load power information storage unit when there are a plurality of flash memories to be accessed among a plurality of flash memories in an empty state. With reference to the load power information, the flash memory with the lowest load power is determined as the flash memory to be selected.
- the same type of processing can be executed with less power. Is possible.
- the reason why a plurality of load powers can be compared with each other in this way is that load power information of all flash memories can be stored in the load power information storage unit. Since the flash memory with the lowest load power is employed, the power consumption can be further reduced.
- Example 10 Specific examples of the configurations of ⁇ 24 >> and ⁇ 25 >> will be described below as Example 10.
- FIG. 20 is a block diagram showing the configuration of the nonvolatile memory system according to Example 10 of the present invention.
- the flash memory internal state management table 2032 of the flash memory controller 2030 further includes a load power information storage unit 2037 that stores load power information for each flash memory 2012.
- the load power information can be collected by issuing an internal state read command to all the flash memories 2012 at the time of system startup and registering them in the load power information storage unit 2037, or the load power of the flash memory 2012 once accessed Information may be stored in the load power information storage unit 2037 each time.
- load power information is read at a time when the system is started will be described.
- step S161 the nonvolatile memory system is turned on and the flash memory controller 2030 is activated.
- step S162 the flash memory controller 2030 issues an internal state read command to all or some of the connected flash memories 2012, and reads the load power information from the information register 2014 in the flash memory 2012.
- step S163 the read load power information is stored in the load power information storage unit 2037 of the flash memory internal state management table 2032.
- step S165 the flash memory controller 2030 selects the flash memory 2012 having a free area where data can be written.
- the flash memory controller 2030 When there are a plurality of flash memories 2012 to be selected, the flash memory controller 2030 reads the load power information of the flash memory 2012 with reference to the load power information storage unit 2037 of the flash memory 2012 as in step S166. Next, in step S167, the flash memory controller 2030 compares the load power information, and selects the flash memory 2012 having the lowest load power among the flash memories 2012 to be selected. In step S168, the flash memory controller 2030 issues a process execution command to the selected flash memory 2012.
- the load power information of the flash memory 2012 is stored in the load power information storage unit 2037 in advance, and the flash memory 2012 having a small load power is preferentially selected. And the power consumption of the entire system can be reduced.
- ⁇ 26 [Notification of load power (multiple memory selection)]
- the flash memory controller refers to the load power information stored in the load power information storage unit 2037 when accessing a plurality of flash memories in a simultaneous and parallel state.
- the flash memories having a smaller sum of load powers are preferentially selected.
- Priority is given to selecting flash memories with a small sum of load power, so that power can be efficiently supplied without consuming extra load power, and the power consumption of the entire system can be reduced.
- Example 11 A specific example of the configuration of the above ⁇ 26 >> will be described below as Example 11.
- FIG. 22 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 11 of the present invention. Steps S171 to S176 and S178 are the same as steps S161 to S166 and S168 in FIG. Only step S176 is different.
- the flash memory controller 2030 selects a flash memory 2012 having a free area in accordance with a write request from the host with the same configuration as in the tenth embodiment.
- the flash memory controller 2030 selects the flash memory 2012 to be selected.
- the load power information of the flash memory 2012 is read with reference to the load power information storage unit 2037.
- step S177 the flash memory controller 2030 compares the load power information, and preferentially selects the flash memories 2012 having the smallest total load power among the flash memories 2012 to be selected.
- the load power information to the flash memory 2012 is stored in advance, and the flash memory 2012 with a small total load power is selected in combination with priority, so that power can be supplied efficiently. Can reduce the power consumption of the entire system.
- ⁇ 27 [Load power notification (timing shift)]
- the flash memory controller accesses a plurality of flash memories in parallel, and the total load power in the plurality of flash memories exceeds the power supply capability of the processing execution power supply circuit.
- the load power information stored in the load power information storage unit is referred to, and control is performed in a state where timings do not overlap with each other in the operation execution of the plurality of flash memories.
- the flash memory controller accesses multiple flash memories in parallel and the total load power of multiple flash memories exceeds the power supply capacity of the processing power supply circuit, the timings do not overlap each other. Control multiple flash memories. According to this, it is possible to suppress an excessive increase in the power consumption peak of the flash memory, and the power consumption of the entire system can be reduced by the efficient power supply.
- FIG. 23 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 12 of the present invention. Steps S181 to S186 are the same as steps S171 to S176 in FIG. Steps S187 to S189 are different.
- the flash memory controller 2030 selects a flash memory 2012 having a free area in accordance with a write request from the host with the same configuration as in the tenth embodiment.
- the flash memory controller 2030 refers to the load power information storage unit 2037 of the flash memory 2012 to be selected when it is necessary to execute writing and erasing to a plurality of flash memories 2012 in parallel in a system configuration due to a speed request or the like. Then, the load power information of the flash memory 2012 is read.
- step S187 the flash memory controller 2030 compares the load power information. That is, when the total load power of the flash memory 2012 to be selected exceeds the maximum supply power of the write / erase power supply circuit 2021, in step S188, the operations of the selected flash memories 2012 are not overlapped. Write / erase in order. If the total load power of the flash memory 2012 to be selected does not exceed the maximum supply power of the write / erase power supply circuit 2021, the plurality of selected flash memories 2012 are simultaneously written / erased in step S189.
- the load power information from the flash memory 2012 is stored in advance, and when the load power exceeds the supply power, the flash memory 2012 is operated in order to reduce the power consumption of the entire system. Can do.
- the flash memory controller is configured to receive information on the number of defective bits at the time of verification from a plurality of flash memories, and to control execution of processing of the flash memory in accordance with the received information on the number of defective bits. ing.
- the flash memory controller is configured to immediately stop the operation of the flash memory when the notified number of defective bits falls below a specified value.
- a nonvolatile storage system has an error correction function for read data. Flash memory controllers often perform that function. Therefore, it is not always necessary to deal with an error at the time of writing until the error is always completely zero. Therefore, when a defect occurs, the defect is corrected by verification, and the number of defective bits decreases to a specified value or less, even if a further verify operation is processed, it can be dealt with in another way. . Based on this concept, when the notified number of defective bits falls below a specified value, the operation of the flash memory is immediately stopped. As a result, the number of unnecessary rewrites is reduced, and the power consumption can be further improved.
- FIG. 24 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 13 of the present invention.
- the information indicated by the information register 2014 in the flash memory 2012 includes defective bit number information in addition to the operation state being executed by the internal controller (not shown) of the flash memory 2012.
- the defective bit number information indicates the number of bits that could not be correctly written or erased during the write verification or the erase verification.
- it may be directly connected to the flash memory controller 2030 as the number of defective bits notification signal A3 6.
- T10 is the output terminal of the number of faulty bits in the flash memory 2012 notice signal A3 6.
- FIG. 25 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 13 of the present invention.
- the verify power supply sequence is completed, and then in step S192, the flash memory controller 2030 issues an internal state read command to When checking the status, the number of defective bits is referred to in step S193.
- step S198 If the number of defective bits is larger than the specified number N, the normal write / erase power supply sequence of step S198 is continued through step S197. If the number of defective bits is equal to or less than a specified number N, in step S194, the flash memory controller 2030 restarts the internal operation of the flash memory 2012, and simultaneously issues a reset command to force the internal operation of the flash memory 2012. To the standby state.
- step S195 When the flash memory 2012 is in the standby state, at step S195, and outputs the flash memory interrupt notification signals A3 1 to the flash memory controller 2030.
- step S196 the flash memory controller 2030 receives the flash memory interrupt notification signals A3 1 from the flash memory 2012, "write verify” the state of the flash memory 2012 currently accessing the flash memory internal state management table 2032 or Update from “erase verify” to “standby”.
- the specified number N of defective bits means that the flash memory controller 2030 side has an error correction function at the time of reading, and if an error at the time of writing is within a range that can be tolerated to some extent in consideration of an error at the time of reading, Even if the writing is completed, it can be determined that an error at the time of reading can be avoided, so that the number of unnecessary rewriting can be reduced.
- the prescribed number N of defective bits may be defined in advance by a program of the flash memory controller 2030, or may be defined in a redundant area for each flash memory 2012, which is stored on the flash memory controller 2030 side. May be read and used each time.
- the number of unnecessary rewrite / erase times can be reduced by notifying the controller side of the number of defective bits at the time of write / erase verification of the flash memory 2012, so that the power consumption of the entire system can be reduced. Can be lowered.
- the flash memory power supply circuit may be divided into a plurality of groups.
- the plurality of flash memories are also divided into a plurality of groups.
- the number of divisions is the same for the flash memory power supply circuit and the flash memory.
- the i-th group of flash memory groups is associated with the i-th group of flash memory power supply circuits. That is, each group of flash memories is associated with a flash memory power supply circuit of each group unit independently of each other. The technology in this section is useful when the size of the flash memory becomes larger than a certain level.
- the flash memory controller is configured to preferentially select a group of flash memories sharing the same power supply when accessing a plurality of flash memories.
- the flash memory power supply circuit of the power supply group not in use can be stopped, so that the power consumption of the entire system can be reduced.
- Example 14 Specific examples of the configurations of the above ⁇ 30 >> and ⁇ 31 >> will be described below as Example 14.
- FIG. 26 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 14 of the present invention.
- a plurality of flash memory power supply circuits 2020 are provided, and the flash memory 2012 is connected to a power supply group grouped for each of the plurality of flash memory power supply circuits 2020.
- the flash memory controller 2030 controls the plurality of flash memory power supply circuits 2020 according to the flash memory internal state notification signal A3 from the flash memory 2012. Further, the flash memory controller 2030 knows which flash memory 2012 belongs to which power supply group as a system configuration.
- the flash memory controller 2030 When the flash memory controller 2030 performs writing / erasing and another flash memory 2012 is already in operation, the flash memory controller 2030 has priority over the power supply group to which the already operating flash memory 2012 belongs. Next, the flash memory 2012 to be written / erased is selected.
- the flash memory controller 2030 performs writing / erasing and when it is necessary to simultaneously write / erasing the plurality of flash memories 2012 due to a speed request or the like, the plurality of flash memories 2012 in the same power supply group are selected.
- a power supply group is formed by a plurality of flash memory power supply circuits 2020, and a flash memory 2012 of the same power supply group is preferentially selected. Since it can be stopped, the power consumption of the entire system can be reduced.
- Example 15 In a system using a large number of flash memory chips, such as a storage system using a flash memory, the power consumption of the storage system operation becomes a problem. In particular, when a program operation is simultaneously executed for a plurality of flash memory chips in order to improve the program performance, the power consumption of the system increases the cost of the system power supply and heat dissipation. For this reason, it is desired to reduce the current consumption during the operation of the flash memory.
- a booster circuit that generates a high voltage of 20 V or more has poor power efficiency, and consumes power that is many times higher than that required to change the threshold value of a memory cell in program and erase operations.
- a booster circuit is provided for each flash memory chip, so that a program operation and an erase operation are simultaneously executed for a plurality of chips. At times, the power consumption becomes enormous, which hinders the power supply design in the system.
- the nonvolatile semiconductor memory device of this embodiment receives an operation execution command and can control the operation of the external power supply circuit in accordance with the operation sequence of the internal controller.
- the nonvolatile semiconductor memory device of this embodiment receives an operation execution command and can control the operation of the external power supply circuit in accordance with the operation sequence of the internal controller.
- a memory cell array 1102 for storing data has memory cells arranged in an array, and stores information by changing the threshold value of the memory cells.
- the threshold value of the memory cell can be set high by the program operation, and the threshold value of the memory cell can be set low by the erase operation.
- Access to the memory cell array 1102 is performed in page units in the read and program operations, and access is performed in block units in the erase operation.
- the page is specified by a specific word line selected by the row decoder 1104.
- memory cell storage data of the specified page is determined by the sense amplifier 1108, transferred to the data register 1109, and the data register 1109.
- the data transferred to is sequentially read from the start point designated by the column decoder 1106 to the input / output circuit 1112 and output to the input / output terminal IO.
- data input from the input / output terminal IO is sequentially taken into the data register 1109 from the start point specified by the column decoder 1106 using the serial data input mode, and the page specified in the auto program mode. Forwarded to
- an erasing voltage is applied to a block specified by a plurality of word lines selected by the row decoder 1104, and the memory cells in the block are set to an erasing state.
- Operation for the flash memory 1100 such as program and erase is set by an operation command input from the IO terminal.
- a list of operation commands is shown in FIG.
- the flash memory 1100 has high voltage power supply terminals VPP1, VPP2, and VPP3 that receive a voltage higher than VCC in addition to a VCC voltage terminal such as 3V supplied to the logic circuit, the sense amplifier 1108, and the like.
- the VPP1, VPP2, and VPP3 power supply terminals receive, for example, a program / erase voltage, a verify voltage, and a read voltage.
- a circuit block in the flash memory 1100 uses a voltage supplied to the high voltage power supply terminals VPP1, VPP2, and VPP3, or receives a voltage supplied to the high voltage power supply terminals VPP1, VPP2, and VPP3, and is generated by the voltage generation circuit 1130. It operates using the voltage to be.
- the information register 1132 is for holding the sequence execution status when the controller 1116 executes a program or erase operation sequence when the flash memory 1100 receives an auto program or auto block erase command.
- the information register 1132 includes an operation mode being executed, a voltage application repetition number (verification number) when executing an auto program or auto block erase sequence, an applied voltage value, an applied pulse width, and an applied pulse interval.
- the number of error bits at the time of verify execution is set as information.
- the high voltage generation circuit can be controlled according to the operation status inside the flash memory, and only the voltage generation circuit required for the operation inside the flash memory Therefore, unnecessary current consumption can be suppressed without operating a power supply circuit that is not required for internal operation, so that a low-consumption operation of the system can be realized. Further, voltage generation control according to the operation mode of the flash memory can be performed on the high voltage generation circuit outside the flash memory, and the power consumption of the storage system can be reduced.
- FIG. 29 shows a sequence example when executing the auto program.
- an auto program sequence is started upon receipt of an auto program command (1302), as a program operation, first, program verify is executed (1314). Necessary settings are made until program verify is executed. To do.
- step (1304) necessary information is set in the information register 1132, and at the same time, the information register change notification signal CHI is set to “H” to indicate to the outside that the contents of the information register 1132 have been changed. Set. Thereafter, the ready / busy signal RY / BY signal indicating that the flash memory is executing the operation is set to “L” (1306), and at the same time, the value indicating that the operation of the status register 1122 is being executed. (1308).
- FIG. 30 shows the contents set in the information register 1132 in the program sequence.
- a value indicating that the operation to be executed is program verify, the number of repetitions is 0, and the voltage applied to the word line is 6V is set.
- a flash memory controller (not shown in FIG. 27) that controls the flash memory 1100 in the storage system receives a change in the information register change notification signal CHI indicating that the contents of the information register 1132 included in the flash memory 1100 has been changed. Then, the contents of the information register 1132 are read and control is performed so as to set a voltage necessary for the program verify operation.
- the flash memory controller outside the flash memory can be notified of the timing for reading the internal operation state (information register value), and can be used as an interrupt signal for the flash memory controller. Control of the controller becomes easy.
- a signal SET indicating that the voltage has been set is “H” from the flash memory controller as the flash memory internal operation control signal A4.
- the power supply voltage supplied to the other high voltage power supply terminals VPP1 and VPP3 is not used in the flash memory 1100, it does not have to be a high voltage, and may be the same potential as VCC, for example. Therefore, it is not necessary to operate a high voltage generation circuit for supplying VPP1 and VPP3 outside the flash memory 1100. As a result, high voltage generation control outside the flash memory according to the operation sequence in the flash memory can be performed, and the power consumption can be further reduced in the storage system.
- the program sequence step (1310) it is confirmed that the signal input to the SET terminal is set to “H”. If it is not set to “H”, it loops through the wait (1312), and when the SET signal is set to “H”, the program verify (1314) is executed, and the subsequent step (1316).
- the information register change notification signal CHI is set to “L”. Thereby, the timing of the operation sequence control by the controller built in the flash memory can be determined, and the control becomes easy.
- step (1318) in the program verify, the number of error bits of the memory cell whose threshold value has not reached the target is confirmed, and it is determined whether or not the program verify is passed depending on whether or not the number of error bits is zero. To do. If an error bit is present and the program verify fails, the program is executed in step (1320), and the operation scheduled to be executed for the information register 1132 is a program. A value indicating that the voltage applied to the line is 10 V, the pulse width is 20 us, the pulse interval is 40 us, and the number of error bits in the previous program verify is 8192 bits, and at the same time, the information register change notification signal CHI is set to “H”. Set to "".
- the flash memory controller In response to the change of the information register change notification signal CHI, the flash memory controller reads the contents of the information register 1132 and controls to set the voltage required for the program operation. When a voltage required for the program operation is generated and applied to the high voltage power supply terminal VPP1, the flash memory controller sets the signal SET indicating that the voltage has been set to “H” as the flash memory internal operation control signal A4. Is set. At this time, since the power supply voltage supplied to the other high voltage power supply terminals VPP2 and VPP3 is not used in the flash memory 1100, it does not need to be a high voltage, and may be the same potential as VCC, for example. Therefore, it is not necessary to operate a high voltage generation circuit for supplying VPP2 and VPP3 outside the flash memory 100.
- step (1330) as shown in FIG. Is a program verify, sets a value indicating that the number of repetitions is 1 and the voltage applied to the word line is 6 V, and simultaneously sets the information register change notification signal CHI to “H”.
- the flash memory controller In response to a change in the information register change notification signal CHI indicating that the contents of the information register 1132 have been changed, the flash memory controller reads the contents of the information register 1132 and sets the voltage required for the program verify operation. Only the circuit that generates the voltage to be applied to the high voltage power supply terminal VPP2 is operated.
- step (1310) it is confirmed that the voltage necessary for execution of program verification is set, and that the signal SET indicating that the voltage has been set is set to “H”, and program verification (1314) is executed.
- steps (1310) to (1330) are repeated until the verify passes.
- the contents (1320-1) to (1330-26) of the information register shown in FIG. 30 indicate that the number of repetitions of the program and program verification was 26 until the verification passed.
- high voltage generation control outside the flash memory can be performed according to the voltage used in the operation sequence in the flash memory, and the power consumption can be further reduced in the storage system.
- step (1332) in the verification of the program verify result in step (1318), when the verify error bit becomes zero and the verification is passed, in step (1332), as shown in FIG. 29 (1332), the next operation is performed on the information register 1132. Is set to a read standby state, and at the same time, the information register change notification signal CHI is set to “H” to indicate that the contents of the information register 1132 have been changed. Thereafter, the contents of the status register 1122 are set to a value indicating that the operation is completed and the command is accepted (1334), and similarly, a ready / busy signal RY indicating that the flash memory is ready to accept the command. The / BY signal is set to “H” (1336).
- step (1338) the information register change notification signal CHI is set to “L” to complete the auto program operation (1340).
- the contents of the information register 1132 include the number of verify error bits because the flash memory controller ends the auto program when the number of verify error bits falls below a specific bit value even if the program verify fails. This is to make it possible to determine
- FIG. 31 shows a specific circuit configuration example of the controller 1116 for executing the sequence shown in FIG.
- the command interface 1502 receives a command signal from the command register 1118 and a control signal from the control logic 1114, and controls the operation mode of each block.
- the microcontroller 1504 receives a signal from the command interface 1502, executes an operation command written in the RAM 1512 according to an operation mode, and controls each block in the memory via the peripheral circuit interface 1506. Outputs control signals, voltage application control signals, and the like.
- All the instructions for executing the operation sequence shown in FIG. 29 are stored in the RAM 1512, and the microcontroller 1504 outputs the control signal of the internal block according to such an operation mode, and at the same time, the information register in the operation sequence.
- the setting step information as shown in FIG. 30 is set in the information register 1132 and a signal CHI is output to notify the outside that the set contents of the information register 1132 have been changed.
- the SET signal given from the external flash memory controller is given as a control signal for the microcontroller 1504 and used for step execution control in the operation sequence shown in FIG.
- reference numeral 1508 denotes a clock generation circuit which generates a clock signal for operating the microcontroller 1504, and the timer 1510 generates a timing signal necessary for the operation of the controller 1116 using this clock signal.
- the internal operation state (information register of the information register) Value) is output to the outside, and the flash memory controller operates only the voltage generation circuit required for internal operation and supplies it to the flash memory. Since it can be realized, unnecessary current consumption can be suppressed without operating a power supply circuit unnecessary for internal operation, which is extremely useful for low-consumption operation of the system.
- the high-voltage power supply terminal has three types of VPP1, VPP2, and VPP3 that receive a program / erase voltage, a verify voltage, and a read voltage, but the program / erase voltage and the verify voltage are the same.
- the control of the external power supply becomes complicated and the effect of reducing the power consumption is reduced.
- a configuration in which a high voltage required for the operation of the flash memory is generated outside the flash memory is possible, and in a storage system using a large number of flash memories, it is easy to control power consumption.
- the contents of the information register are read using an IO terminal for inputting a command and an address and inputting / outputting data to / from the flash memory 1100.
- the internal operating state (information register value) can be output to the outside without increasing the number of terminals.
- wiring between the flash memory controller and the flash memory can be performed. The power consumption can be reduced without increasing the power consumption. For this reason, as shown in FIG. 32, an information register read command is prepared and the content is read.
- the present embodiment is a flash memory block configuration example showing a second configuration example of the nonvolatile semiconductor memory device of the present invention.
- a dedicated read terminal Info is provided so that the contents of the information register 1132 can be freely read regardless of the use status of the IO terminal.
- the information register 1132 can be read from the outside regardless of the internal operation of the memory, and the timing constraint for reading the internal operation state (information register value) from the outside of the flash memory is relaxed. . Therefore, the flash memory controller outside the flash memory reads the contents not only when the information register change notification signal CHI indicating that the contents of the information register 1132 has been changed but also when the rush memory controller requires it. Since it is possible to control the standby state of the power supply circuit and the like, it is possible to perform an operation with lower power consumption.
- the flash memory controller generates voltage in accordance with the internal operation of the flash memory by outputting the internal operation state (information register value) generated by the flash memory controller.
- An example of a flash memory configuration has been shown that realizes low power consumption in a storage system using a flash memory by controlling a circuit.
- the external voltage generation circuit can be controlled according to the power consumption characteristics of the flash memory to be used, further reduction in power consumption can be realized.
- Example 17 In the present embodiment, as shown in FIG. 34, the configuration example of the flash memory showing the third configuration example in the nonvolatile semiconductor memory device of the present invention, which can output the power consumption characteristics of the flash memory to the outside. It is.
- the flash memory 1800 includes a memory cell array 1102 as a nonvolatile storage area and a power information storage area 1802 as chip-specific information.
- the current consumption value may be the current value itself or a value obtained by ranking the current values. This current consumption value is measured and written in the product inspection process in the flash memory manufacturing process.
- the power consumption characteristics of each flash memory can be read from the power information storage area 1802 of the flash memory to be used and held in the flash memory controller.
- the chip specific current consumption characteristics of the flash memory can be output to the outside. Therefore, the current consumption of the flash memory using the high voltage generation circuit in the storage system having the flash memory controller and the high voltage generation circuit. Optimum control can be performed according to the characteristics, and more current consumption can be achieved.
- the flash memory controller can control the voltage generation circuit in each operation mode according to the flash memory to be used, and can realize a system with lower power consumption. In addition, it is possible to improve the program characteristics by controlling the number of flash memories that perform simultaneous programming in accordance with the power consumption characteristics of the flash memory to be used.
- FIG. 34 shows a configuration example in which reading from the power information storage area 1802 is performed using the IO terminal, but the storage contents of the power information storage area 1802 are transferred to the information register 1132 and shown in FIG. Similar to the sixteenth embodiment, by providing a dedicated read terminal (Info terminal in the example of FIG. 33), the stored information in the power information storage area 1802 can be read regardless of the internal operation of the memory. Needless to say.
- the internal operating state (information register value) can be output to the outside without increasing the number of terminals.
- wiring between the flash memory controller and the flash memory can be performed.
- the power consumption can be reduced according to the current consumption characteristics of the flash memory to be used.
- the timing constraint on reading the operation state (information register value) inside the flash memory from the flash memory controller can be eliminated, and the high voltage generation circuit can be controlled according to the current consumption characteristics of the flash memory used. Can be increased.
- the high voltage power supply terminal has three types of VPP1, VPP2, and VPP3 that receive the program / erase voltage, the verify voltage, and the read voltage.
- the verifying voltage may be the same power supply terminal, and two types of high voltage power supply terminals may be used.
- the high voltage required for the operation of the flash memory can be generated outside the flash memory, and the generation of the high voltage can be controlled according to the current consumption characteristics of the flash memory to be used. In a storage system using a large number of memories, optimal control for reducing power consumption is facilitated.
- ⁇ 50 [Power status information]
- the nonvolatile storage system of this section controls whether or not to start the processing of the flash memory to be accessed based on the power supply state information received from the power supply circuit for the memory system. This can be further advantageously developed in various embodiments as described below.
- FIG. 36 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 18 of the present invention.
- the components of the nonvolatile storage system (storage device) 100 include a flash memory controller (corresponding to an external controller) 10, a power supply circuit (corresponding to a power supply circuit for the memory system) 20, and a plurality of flash memories 26.
- Memory block 25 Reference numeral 200 denotes a host.
- the host 200 is arbitrary, such as a personal computer, a PDA (Personal Digital Assistant), a mobile phone, a digital camera, an audio player, or a car navigation device.
- the host 200 and the flash memory controller 10 are connected via a device control bus 41.
- the flash memory controller 10 is connected to the power supply circuit 20 via a control bus 42 on which a power supply control signal Q1 and a power supply state notification signal Q2 are carried.
- the flash memory controller 10 is connected to each of the plurality of flash memories 26 via a data bus / control bus 43.
- Q3 is a flash memory control signal on the control bus.
- the power supply circuit 20 is connected to each flash memory 26 via a power supply line 44.
- the memory block 25 is an aggregate of a plurality of flash memories 26.
- the flash memory controller 10 has a function of controlling the power supply circuit 20 and a function of individually controlling the operations of the plurality of flash memories 26.
- the power supply circuit 20 individually supplies power for operation to each of the plurality of flash memories 26.
- Each flash memory 26 may be a normal flash memory whose operating current value is determined in advance, or may be a flash memory having information indicating its own operating current value.
- the power supply circuit 20 has a function of notifying the flash memory controller 10 of the internal power supply state information (power supply state information).
- the power status information is put on the power status notification signal Q2. For example, a driving rate is used as the power state information.
- the flash memory controller 10 controls the power supply circuit 20 by the power supply control signal Q1.
- the control includes adjustment of generated voltage (power supply capability) in the power supply circuit 20, control for outputting the power supply state notification signal Q2 by polling the power supply circuit 20, and the like.
- the flash memory controller 10 receives an operation command (command) from the host 200 and accesses one or a plurality of flash memories 26 according to the operation command. In the access, the flash memory control signal Q3 is output from the flash memory controller 10 to the flash memory 26.
- the operation command is a read operation
- data is read from the flash memory 26 and the read data is transferred to the host 200.
- write data is also sent from the host 200 and written to the flash memory 26. In this write operation, usually a write verify operation is also executed.
- the operation command is an erase operation
- the flash memory 26 erases data in units of blocks. In this erase operation, usually an erase verify operation is also executed.
- the power supply voltage necessary for the read operation is 5 V at maximum
- the power supply voltage necessary for the write / erase operation is 20 V at maximum
- the power supply voltage necessary for the verify operation is 10 V at maximum (an example).
- the flash memory controller 10 receives the power state notification signal Q2 from the power circuit 20, and the power state of the power circuit 20 based on the received power state information (Drive rate) is checked. Further, the flash memory controller 10 determines whether or not the access target flash memory 26 group does not execute an appropriate process within a prescribed range of the power supply capability of the power supply circuit 20. If it is determined that the operation is impossible, the flash memory 26 that is a part of the access target is controlled so that the process can be appropriately executed within the prescribed range of the power supply capability of the power supply circuit 20.
- the control mode includes a pause (pause) and a low power mode.
- the flash memory controller 10 starts to control the flash memory 26 in accordance with an instruction from the external host 200 by a command.
- step S301 the flash memory controller 10 receives a command from the host 200.
- the type of command is arbitrary and includes a read command, a write command, an erase command, a write verify command, an erase verify command, and the like.
- step S302 the flash memory controller 10 confirms the power state.
- the power supply state notification signal Q2 is received from the power supply circuit 20, and the power supply state (current drive rate) in the power supply circuit 20 is recognized from the power supply state information.
- step S303 the flash memory controller 10 estimates the operating power for the operation type such as read / write to be executed by the flash memory 26 to be accessed by the corresponding process.
- the specific processing of estimation is as follows.
- step S304 following step S303 the flash memory controller 10 compares the estimated operating power with the current drive rate of the power supply circuit 20 obtained from the power supply state information, and estimates the current drive rate of the power supply circuit 20 with the current drive rate. Judge whether the operating power can be covered. In this comparison / judgment, the physical dimension and the scale are adjusted by the respective conversions so that the operating current value and the driving rate are appropriately compared.
- step S302 If it is determined that the processing in the flash memory 26 to be newly accessed cannot be immediately executed, the process returns to step S302 without proceeding to step S305, and thereafter, steps S303 and S304 are repeated. While the loop of steps S302 to S304 is repeated, the processing for the flash memory 26 to be newly accessed in step S305 is not started. In the above operation example, writing is not performed until the power state becomes sufficient. On the other hand, in the background, the processing for the other flash memory 26 proceeds, and a part thereof is completed as time elapses. Therefore, as the loop is repeated, the estimated operating power can be covered by the current driving rate. If so, the process proceeds to step S305. When the process proceeds to step S305, the process proceeds to a process routine and the process is started. In the above operation example, writing to the flash memory 26 is executed. In this operation example, the control mode at the time of overload is wait (temporary stop) control for the flash memory 26 to be newly accessed.
- the power supply capacity of the power supply circuit 20 is checked, and when it is determined that the flash memory 26 cannot be operated within the specified range of the power supply capacity, The standby control is performed, and the flash memory 26 starts the processing after waiting for the use of power to decrease and the processing to be appropriately executed within the prescribed range of the power supply capacity with the passage of time during the standby. I have control. Therefore, during an operation of the flash memory 26, an abnormal operation such as data destruction or data corruption due to unstable operation or system down due to a malfunction such as overload of the power supply circuit 20 is avoided, and storage is performed. As a device, it is possible to ensure high data reliability.
- the power supply circuit 20 has a dedicated terminal for the signal line of the power supply state notification signal Q2 in order to confirm the power supply state of the power supply circuit 20. It may be configured to check the power supply state of the power supply circuit 20 by monitoring a register (power supply state information) in the power supply circuit 20 via the bus of the control signal Q1.
- the flash memory controller when the power consumption of the memory block is overloaded (excessive) with respect to the power supply capability of the power supply circuit for the memory system during execution of processing in the flash memory to be accessed
- the flash memory controller is preferably configured as follows. Here, it is assumed that the flash memory controller actively proceeds to poll the power supply state of the power supply circuit and receive the power supply state information from the power supply circuit.
- the flash memory controller determines whether or not the power supply state (drive rate) of the power supply circuit exceeds a specific level based on the power supply state information received from the power supply circuit. If it is determined that it has exceeded, the process executed based on the command in the specific flash memory in the memory block is temporarily stopped. Further, the flash memory controller continuously monitors the power supply state information (driving rate) to determine whether or not there is a power margin in the power supply circuit. Since the execution of the flash memory processing is suspended first, the processing for other flash memories proceeds with time, and a power margin is generated when a part of the processing is completed. When the flash memory controller determines that a power margin has been generated, the flash memory controller resumes the operation of the flash memory that has been temporarily suspended.
- the flash memory controller determines that the power supply state information received from the power supply circuit by polling is equal to or higher than a specific level. If it is determined, the execution of processing of a specific flash memory in the memory block is temporarily stopped, and then the execution is temporarily stopped when it is determined that a power margin is generated in the power supply circuit based on the power supply state information. It is configured to perform control to resume the processing of the flash memory that has been performed.
- the power state of the power supply circuit is detected in advance by polling, and the execution of the flash memory process is paused dynamically, resulting in problems such as overload. It is possible to avoid unstable operation and system down, and to improve data reliability of memory access.
- FIG. 38 is a flowchart showing the operation of the nonvolatile memory system according to Embodiment 19.
- the flash memory 26 is configured such that its operation can be paused (pauseable) in accordance with an external instruction during processing execution.
- the flash memory controller 10 has a flash memory operation management table 12 for managing the operation status of the flash memory 26 group to be accessed.
- An example of the flash memory operation management table 12 is shown in FIG.
- the flash memory operation management table 12 has information on operation priority, flash memory status, current consumption, and processing start order for each flash memory 26.
- the state of the flash memory includes writing, erasing, reading, verifying, and stopping.
- transmission data from the host 200 and reception data from each flash memory 26 are stored.
- the priority order of operations is determined by the processing start order.
- the processing start order and the priority order are opposite to each other.
- current consumption a predetermined current value or a current value set individually is used.
- the management data in the flash memory operation management table 12 is sequentially updated with the progress of processing in the flash memory 26 group to be accessed. Whether execution of writing or erasure is completed, the state is switched to “stop” when the execution of the process is completed.
- the flash memory controller 10 controls the execution of processes of a plurality of flash memories 26 at the same time.
- the flash memory operation management table 12 that manages the operation status of each of the plurality of flash memories 26 is provided.
- Other configurations are the same as those in the eighteenth embodiment.
- step S311 the flash memory controller 10 controls execution of processing for the flash memory 26.
- step S312 the flash memory controller 10 checks the power supply state of the power supply circuit 20. That is, the flash memory controller 10 makes an inquiry to the power supply circuit 20 by polling, receives the drive rate as the power supply state information from the power supply circuit 20, and confirms the drive rate.
- polling is performed by the power supply control signal Q1
- notification of power supply state information is performed by the power supply state notification signal Q2.
- step S313 the flash memory controller 10 determines whether the current drive ratio upper limit of a specific level L H above. If it is equal to or higher than the upper limit specific level L H , the process proceeds to step S314; otherwise, the process skips to step S318.
- whether or not the current drive rate is equal to or higher than the upper limit specific level L H is to check whether there is a possibility that the power supply circuit 20 runs out of power and may overload. If the peak current in the flash memory 26 group to be accessed becomes excessive and the overload state continues to some extent, the system may go down, causing data corruption and data loss. The occurrence of such a situation is detected and prevented in advance.
- the flash memory controller 10 refers to the flash memory operation management table 12 and performs processing in the specific flash memory 26 that is currently accessed. Stop temporarily. This temporary stop avoids an overload condition.
- step S315 the flash memory controller 10 confirms the power supply state of the power supply circuit 20 again. That is, the flash memory controller 10 makes an inquiry to the power supply circuit 20 by polling, receives power supply state information from the power supply circuit 20, and recognizes the current drive rate in the power supply circuit 20 from the power supply state information.
- step S316 when the flash memory controller 10 resumes the operation of the flash memory 26 previously suspended in step S314, the drive rate when the current drive rate is increased by the restart amount. It is determined whether or not the specific level L L is lower than the lower limit.
- the lower limit specific level L L is set lower than the upper limit specific level L H in step S313.
- the lower limit specific level L L is a criterion for determining whether a power margin has occurred. If it is not less than the lower limit specific level L L , the process returns to step S315; otherwise, the process proceeds to step S317.
- step S314 Since the processing in the flash memory 26 has been temporarily stopped in step S314, the driving rate of the power supply circuit 20 gradually decreases with time.
- step S316 becomes affirmative as the drive rate decreases and the process proceeds to step S317, the execution of the process in the flash memory 26 that has been temporarily stopped in step S314 is resumed.
- step S318 it is determined whether the processing in the flash memory 26 has been completed. If it has not been completed, the process returns to step S311 to continue the process. When the process is completed, the routine of FIG. 38 is exited.
- the upper limit specific level L H is 90%
- the lower limit specific level L L is 80%.
- the flash memory controller 10 temporarily stops the flash memory 26 that is executing processing (steps S313 to S314).
- one flash memory 26 is temporarily stopped.
- the flash memory 26 whose priority is the earliest to start processing is temporarily stopped.
- the flash memory A with the priority “8” is temporarily stopped.
- the flash memory The controller 10 resumes the process for the flash memory 26 that has been suspended.
- the overload state of the power supply circuit 20 is detected by polling during execution of processing before it actually occurs. If detected, the operation of the flash memory 26 is temporarily stopped (paused), so that the operating power consumed by the flash memory 26 can be suppressed. Data reliability can be improved by avoiding unstable operation due to problems such as overload, unstable operation of the flash memory 26 due to system down, and abnormal state. Suspending the flash memory 26 requires a shorter waiting time until the process is resumed in the normal mode than when the flash memory 26 is continuously operated in the low power mode.
- ⁇ 52 [Processing in progress] * [Interrupt] * [Pause]
- an interrupt method is used instead of the polling method ⁇ 51>
- the flash memory controller and the power supply circuit are preferably configured as follows. In other words, the notification of the power state information from the power supply circuit to the flash memory controller is controlled by an interrupt from the power supply circuit instead of the polling from the flash memory controller in the case of ⁇ 51 >>.
- the interrupt signal is power state information. This section assumes control during execution of processing in the flash memory to be accessed.
- the power supply circuit constantly monitors its own internal state, and when the power consumption of the flash memory to be accessed becomes overloaded with respect to the current drive rate of the power supply circuit, the power supply circuit notifies the power supply state.
- An interrupt signal is generated as a signal and output to the flash memory controller. That is, an interrupt signal generated immediately in response to the transition of the power supply state of the power supply circuit is used.
- the flash memory controller is configured to temporarily stop execution of processing of a specific flash memory in the memory block when an interrupt signal is received from the power supply circuit.
- the operation of the flash memory controller after the temporary stop of the flash memory may be the same as the above ⁇ 51 >>.
- the flash memory controller continuously monitors the power supply state information (drive rate) to determine whether or not there is a power margin in the power supply circuit. Since the execution of the flash memory processing is suspended first, the processing for other flash memories proceeds with time, and a power margin is generated when a part of the processing is completed. When the flash memory controller determines that a power margin has been generated, the flash memory controller resumes the operation of the flash memory that has been temporarily suspended.
- the nonvolatile memory system of this section is configured in the above ⁇ 50 >>, the power supply circuit monitors the power supply state and generates an interrupt signal when the power supply state exceeds a specific level.
- the flash memory controller is configured to notify a flash memory controller.
- the flash memory controller receives an interrupt signal from the power supply circuit, the flash memory controller temporarily stops execution of processing of a specific flash memory in the memory block, and then performs power supply by polling. Receiving power status information from the circuit and resuming execution of flash memory processing that has been temporarily suspended when it is determined that there is a power margin in the power circuit based on the received power status information It is configured to perform control.
- the flash memory controller uses the interrupt signal that accompanies the power state transition in the power circuit as a trigger to recognize the overload state of the power circuit, so the flash memory controller does not need to monitor the power circuit by polling Thus, the processing load can be reduced. In addition, since the reception of an interrupt signal immediately detects overload, there is no time lag and high-speed response is possible.
- Example 20 A specific example of the configuration ⁇ 52 >> will be described below as Example 20.
- FIG. 40 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 20 of the present invention.
- the power state notification signal Q2 of FIG. 36 is an interrupt signal Q2.
- the power supply circuit 20 constantly monitors its own internal state during processing in the flash memory 26, and the power consumption of the flash memory 26 to be accessed exceeds the current power supply state (drive rate) of the power supply circuit 20. It is configured to generate an interrupt signal Q2 signifying power supply state transition and notify the flash memory controller 10 when the driving rate exceeds a specified value due to a load.
- the flash memory controller 10 receives the interrupt signal Q2 from the power supply circuit 20, the flash memory controller 10 is configured to temporarily stop the operation of the specific flash memory 26 being processed.
- Other configurations are the same as those in FIGS. 36 and 39.
- the flash memory controller 10 determines a power state condition (for example, a driving rate of 90%) that requires the processing in the flash memory 26 to be interrupted before starting the processing for the flash memory 26 that is an access target candidate. Is set in the power supply circuit 20 as follows. This condition may be fixed. The power supply circuit 20 transmits an interrupt signal Q2 indicating a state transition of the power supply circuit 20 to the flash memory controller 10 when the power supply state reaches the interrupt condition (driving rate 90%).
- a power state condition for example, a driving rate of 90%
- step S ⁇ b> 321 the flash memory controller 10 recognizes that an interrupt signal Q ⁇ b> 2 indicating a state transition of the power supply circuit 20 is transmitted from the power supply circuit 20 to the flash memory controller 10.
- step S322 the flash memory controller 10 refers to the flash memory operation management table 12 and temporarily stops the flash memory 26 that is executing processing. That is, the flash memory 26 having the lowest priority is temporarily stopped.
- steps S323, S324, and S325 are the same as steps S315, S316, and S317 in FIG. That is, in step S323, the flash memory controller 10 confirms the power supply state of the power supply circuit 20 again. That is, the flash memory controller 10 makes an inquiry to the power supply circuit 20 by polling, receives power supply state information from the power supply circuit 20 by the power supply state notification signal Q2, and recognizes the current drive rate in the power supply circuit 20 from the power supply state information. .
- step S324 when the flash memory controller 10 resumes the operation of the flash memory 26 previously suspended in step S322, the flash memory controller 10 specifies the lower limit when the current drive rate is increased by the restart amount. It is determined whether the level is L L or less. If it is not less than the lower limit specific level L L , the process returns to step S323, and if not, the process proceeds to step S325. Since the processing in the flash memory 26 has been temporarily stopped in step S322, the driving rate of the power supply circuit 20 gradually decreases with time.
- step S324 When the determination in step S324 becomes affirmative as the drive rate decreases and the process proceeds to step S325, the execution of the process in the flash memory 26 that has been temporarily stopped in step S322 is resumed. Since the present embodiment is an interrupt process, the process after step S325 is exited from the routine of FIG.
- the processing corresponding to Step S312 and Step S313 in Embodiment 19 of FIG. 38 that is, the processing for confirming whether the drive rate of the power supply circuit 20 is 90% or more by polling from the flash memory controller 10 is unnecessary. It becomes.
- the process of the nineteenth embodiment does not require confirmation of the voltage level from the flash memory controller 10, so that the processing load on the flash memory controller 10 can be reduced.
- the time lag between the reception of the interrupt signal Q2 and the suspension is sufficiently small, and it is possible to cope with high speed.
- the flash memory controller is divided into two parts as follows. That is, the configuration is divided into a data control unit and a power supply control unit.
- the data control unit is a part that controls the data processing of the flash memory, and individually controls the execution of the processes of the plurality of flash memories.
- the power control unit controls power control of the power supply circuit, and in the determination based on the power supply status information received from the power supply circuit, the flash memory to be accessed does not execute appropriate processing within the prescribed range of the power supply capability of the power supply circuit.
- the power supply circuit is configured to have a function of notifying the power supply control unit of information on the power supply state.
- the method of notifying the power supply state information may be polling from the power supply control unit or may be interrupted by the power supply circuit.
- the nonvolatile memory system of this section is configured in the above ⁇ 50 >>, wherein the flash memory controller includes the power supply circuit in addition to the data control unit that individually controls the execution of the processes of the plurality of flash memories.
- the power supply control unit that controls the power supply control of the power supply circuit is added, and the power supply control unit determines that the flash memory to be accessed has a prescribed range of power supply capability of the power supply circuit in the determination based on the power supply state information received from the power supply circuit. It is configured to control the flash memory to be accessed so that the power consumption is reduced and the process can be executed properly within the specified range of power supply capacity. Has been.
- the configuration of the flash memory controller can be supported by adding a power control unit having the above configuration to a conventional system that performs only flash memory data control without performing power control, By diverting the components (following the configuration), it is possible to easily realize the effect of power control while simplifying the overall configuration.
- data control it is possible to add only power processing by utilizing a conventional processing function, so that continuous deployment from a conventional system is facilitated.
- Example 21 A specific example of the configuration ⁇ 53 >> will be described below as Example 21.
- FIG. 42 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 21 of the present invention.
- the flash memory controller 10 shown in FIG. 36 is divided into a data control unit 14 and a power supply control unit 16.
- the data control unit 14 in the flash memory controller corresponds to a flash memory controller in a conventional system that performs only data control of the flash memory without performing power supply control.
- the data control unit 14 in the flash memory controller is connected to the host 200 via the device control bus 41.
- the data control unit 14 is connected to each of the plurality of flash memories 26 via a data bus / control bus 43.
- Q3 is a flash memory control signal on the control bus.
- the power supply control unit 16 in the flash memory controller is connected to the power supply circuit 20 via a control bus 42 on which a power supply control signal Q1 and a power supply state notification signal Q2 are carried.
- the power control unit 16 is individually connected to each of the plurality of flash memories 26 via the signal line 45 of the flash memory stop signal Q4.
- Each flash memory 26 has an input terminal for a flash memory stop signal Q4.
- a combination of the data control unit 14 and the power supply control unit 16 corresponds to the flash memory controller 10 of FIG. Other configurations are the same as those in FIG. 36, and thus the description thereof is omitted.
- FIG. 43 is a flowchart showing the operation of the power controller 16 in the flash memory controller. It is assumed that processing is being executed in some flash memories 26 now. This control is performed between the data control unit 14 and the flash memory 26, and does not appear in FIG.
- step S331 the power supply control unit 16 confirms the power supply state of the power supply circuit 20. That is, the power supply control unit 16 makes an inquiry to the power supply circuit 20 by polling, receives power supply state information (drive rate) from the power supply circuit 20, and recognizes the current drive rate in the power supply circuit 20 from the information.
- the power supply control unit 16 makes an inquiry to the power supply circuit 20 by polling, receives power supply state information (drive rate) from the power supply circuit 20, and recognizes the current drive rate in the power supply circuit 20 from the information.
- step S332 the power control unit 16 determines whether the current drive ratio upper limit of a specific level L H above. If it is equal to or higher than the upper limit specific level L H , the process proceeds to step S333, and if not, the process skips to step S336.
- the determination of whether or not the current drive rate is equal to or greater than the upper limit specific level L H is whether or not there is a possibility that the power supply circuit 20 runs out of power and may cause an overload.
- the power supply control unit 16 temporarily stops processing in one flash memory 26 that is currently accessed. This temporary stop avoids an overload condition.
- step S334 the power supply control unit 16 confirms the power supply state of the power supply circuit 20 again. That is, the power supply control unit 16 makes an inquiry to the power supply circuit 20 by polling, receives the power supply state information from the power supply circuit 20, and recognizes the current drive rate in the power supply circuit 20 from the power supply state information.
- step S335 when the power supply control unit 16 resumes the operation of the flash memory 26 temporarily suspended in step S333, the drive rate when the current drive rate is increased by the restart amount is obtained. It is determined whether or not the specific level L L is lower than the lower limit. If it is not less than the lower limit specific level L L , the process returns to step S334; otherwise, the process proceeds to step S336. Since the processing in the flash memory 26 has been temporarily stopped in step S333, the driving rate of the power supply circuit 20 gradually decreases with time.
- step S335 When the determination of step S335 becomes affirmative as the drive rate decreases, and the process proceeds to step S336, execution of the process in the flash memory 26 that has been temporarily stopped in step S333 is resumed, and then the process proceeds to step S331.
- the power control unit 16 performs an operation independent of the data control unit 14, and cyclically performs the loop processing from step S331 to step S336.
- the power supply control unit 16 asserts (validates) the flash memory stop signal Q4 and temporarily stops the flash memory 26 that is executing processing (steps S332 to S333).
- the power supply control unit 16 has temporarily stopped when the power supply state is confirmed, and it is determined that the drive capability will be below a specific level (for example, 80%) even if the processing of the stopped flash memory 26 is restarted.
- the processing is resumed by clearing the flash memory stop signal Q4 to the flash memory 26.
- the above control is processed only by the power supply control unit 16 in the flash memory controller, and the data control unit 14 does not affect the processing of this embodiment.
- the conventional nonvolatile memory system it can be handled only by adding the power control unit 16 and adding connections between the power control unit 16, the power supply circuit 20, and each flash memory 26.
- those of the conventional system can be diverted (diverted) as they are.
- the present embodiment since it is possible to perform power control without affecting the data control unit 14 in the flash memory controller, only data control is performed without performing power control. It is possible to easily realize the effect of power supply control over the conventional system. As a result, the introduction cost can be reduced. Note that the present embodiment may be applied to a system that uses an interrupt signal instead of a power state notification signal related to polling.
- This section is the control before starting processing in the flash memory to be newly accessed instead of such a method. Further, when the system is about to go down, it is considered that the processing in the flash memory is continued while the power consumption (operating current) of the specific flash memory is lowered. This is a low power change.
- the flash memory has a low power mode. That is, a flash memory capable of dynamically changing the operating current is used. The operation speed of the flash memory is slower in the low power mode than in the normal mode.
- the flash memory controller is configured to perform control to shift a specific flash memory to a low-power operation in the flash memory group that is executing processing when the power supply circuit for the memory system runs out of power. . If there is still no power margin even if one flash memory is changed to low power, the other flash memory is continuously changed to low power. The next flash memory is sequentially changed to low power until a power margin is generated. Considering this, in the initial stage when there is no more power margin, the execution of the process for a specific flash memory in the flash memory group that is executing the process may be temporarily stopped.
- the nonvolatile memory system of this section is configured so that the flash memory can dynamically change the operating current in the configuration of ⁇ 50> above, and the flash memory controller is a new access target.
- the flash memory controller is a new access target.
- Example 22 As a block diagram showing the configuration of the nonvolatile memory system of this example, any of FIG. 36, FIG. 40, and FIG. 42 is used.
- the flash memory 26 can change the power level by dynamically changing the operating current.
- the flash memory controller 10 has a flash memory operation management table 12 for managing the operation status of each flash memory 26.
- FIG. 44 shows an example of the flash memory operation management table 12.
- the flash memory operation management table 12 has information on operation priority, flash memory state, power level, and processing start order for each flash memory 26.
- the power level is used instead of the current consumption in FIG. In FIG. 39, the current consumption is the same for all the flash memories 26, whereas in FIG. 44, the current consumption differs for each flash memory and for each operation type, resulting in different power levels. Yes.
- the power level is not a binary value of “0” and “1”, but has a value of 3 or more. That is, the drive level of each flash memory 26 is variably configured, and is controlled to operate at an optimal drive level according to the situation.
- the flash memory status includes executing the writing process, executing the erasing process, and stopping. There are also read processing and verify processing.
- the operating current value of the flash memory can be calculated according to the state and power level of the flash memory.
- the power level can vary depending on the contents of processing (each flash memory in charge).
- the operating current value of the flash memory varies from moment to moment.
- the process start order is described in the order in which the processes of the respective flash memories 26 are started, and “0” indicates that the process is stopped.
- the flash memory operation management table 12 is updated when an operation mode such as operation start, operation stop, and power level change of the flash memory 26 is executed.
- Other configurations are the same as those of the nonvolatile storage system of the first embodiment.
- FIG. 45 is a flowchart showing the operation of the flash memory controller 10. This flowchart is common to a plurality of flash memories 26 as processing contents, but the application is individually applied to each flash memory 26.
- step S346 the flash memory 26 starts processing for the first time. Before that start, another flash memory 26 has already executed the process.
- the flash memory controller 10 starts control of the flash memory 26 to be accessed in accordance with an instruction from the external host 200 by a command. That is, first, in step S341, the flash memory controller 10 receives a command from the host 200.
- the type of command is arbitrary.
- step S342 the flash memory controller 10 receives the power state notification signal Q2 from the power circuit 20, and confirms the power state of the power circuit 20.
- the power state has a capacity of, for example, “25” in terms of the power level, and currently processes “19” in total at the power level.
- step S343 the flash memory controller 10 estimates the operating power consumed by the operation executed in the access target candidate flash memory 26 by the processing instructed by the corresponding command based on the type of the operation.
- the flash memory operation management table 12 in the flash memory controller 10 is as shown in FIG. 44 when an instruction is received from the host.
- the flash memory A has a power level “1”
- the flash memories B, C, and D have a power level “2”
- the flash memories E, F, G, and H have a power level “3”
- the flash memories I and J have Stopped.
- the total value of the power level of the flash memory 26 being processed is “19”.
- the power level can be estimated with higher accuracy by estimating the processing power based on the operation state and the characteristics of the individual flash memories 26 instead of simply adding the power level.
- the processing start order indicates that the newer processing is performed as the number is smaller, and in this embodiment, it is determined that the priority is lower as the processing start order is newer.
- step S344 the flash memory controller 10 compares the estimated operating power with the current drive rate of the power supply circuit 20 obtained from the power supply state information, and estimates the current drive rate of the power supply circuit 20. Determine whether you can cover the operating power. When it is determined that it cannot be covered, the process proceeds to step S345, and when it is determined that it can be covered, the process proceeds to step S346.
- step S345 the power level of the flash memory 26 is lowered.
- the power level of the flash memory I having the lowest priority (the priority is set to “9” because it is a start target) is changed from “3” to “1”.
- step S346 the flash memory controller 10 updates the flash memory operation management table 12.
- step S347 processing in the corresponding flash memory 26 is started.
- the processing is continued even at a low speed. A decrease can be avoided.
- ⁇ 55 [Before process start] * [Low power change] * [Priority]
- the flash memory is configured to be able to dynamically change the operating current.
- the flash memory controller monitors the operation status of the plurality of flash memories in the flash memory operation management table, and is configured to determine and manage priorities among the plurality of flash memories as monitoring items. ing. This priority order changes with the execution of processing in a plurality of flash memories, and the flash memory controller updates the priority order in the flash memory operation management table each time the change is made.
- the flash memory controller determines that the flash memory to be accessed cannot execute an appropriate process within the prescribed range of the power supply capability of the power supply circuit for the memory system.
- the flash memory controller refers to the flash memory operation management table and performs control so as to preferentially lower the power consumption from the flash memory with the lowest priority. In this low power change, the execution of the process may be continued after reducing the power consumption, or the execution of the process may be temporarily stopped.
- the nonvolatile storage system of this section is configured to set and manage priorities among a plurality of flash memories in the configuration of ⁇ 54 >> referring to the low power change described above.
- the control to continue the execution of the process after lowering the power consumption or temporarily stop the execution of the process is configured so that the flash memory with the lowest priority in the flash memory group that is executing the process is preferentially targeted. Has been.
- the power consumption is reduced when the power margin of the power supply circuit for the memory system becomes insufficient and a problem such as overload occurs.
- priority is given to the flash memory with the lowest priority, so that it is possible to suppress the influence caused by the reduction in processing speed as much as possible.
- Example 23 As a block diagram showing the configuration of the nonvolatile memory system of this example, any of FIG. 36, FIG. 40, and FIG. 42 is used.
- the flash memory 26 can change the power level by dynamically changing the operating current.
- the flash memory controller 10 also has a flash memory operation management table 12 that manages the operation status of each flash memory 26. An example of the flash memory operation management table 12 is shown in FIG.
- FIG. 46 shows the flash memory operation management table 12 of the flash memory controller 10 according to the twenty-third embodiment of the present invention.
- the flash memory operation management table 12 stores information on operation priority, operation priority level, flash memory state, power level, and processing start order for each flash memory 26.
- the priority level of the operation is shown, for example, in four stages from “0” to “3”, “0” being no operation and “3” being the highest priority processing.
- the flash memory controller 10 assigns priority levels in descending order of influence due to a decrease in processing speed regarding how to assign priority levels. In other words, a device having a small influence due to a decrease in processing speed is preferentially selected and switched to the low power mode. Operate in normal mode as much as possible. In other words, the priority of the selection of the flash memory to be switched to the low power mode is opposite to the priority level in the flash memory operation management table 12.
- the priority of selection of the flash memory to be switched to the low power mode is the priority order. In the case of FIG. 46, the upper one in the figure is preferentially selected for low power mode switching. As a result, the processing start order is random.
- the process of the priority level “3” is, for example, a process related to reading / writing of data directly instructed from the host 200, and this process corresponds to a process that directly affects the processing speed viewed from the host 200.
- the processing of the priority level “2” does not directly affect the processing speed viewed from the host 200, for example, the post-processing of the processing instructed by the host 200, but corresponds to the processing in which high-speed processing is desirable.
- processing that does not affect the processing speed viewed from the host 200 such as moving a bad sector to another sector, is assigned.
- the state of the flash memory indicates that the writing process is being executed, the erasing process is being executed, and the operating current value of the flash memory 26 can be calculated based on the state of the flash memory and the power level.
- the processing start order is described in the order in which the processing of each flash memory 26 is started, and “0” indicates that the process is stopped. In FIG. 46, they are not arranged in the order of processing start. Lined up in order of priority. There may be a plurality of priority levels at the same level, but the priority order is a serial number and there is no duplication of the same order.
- the flash memory operation management table 12 is updated when an operation mode such as operation start, operation stop, and power level change of the flash memory 26 is executed.
- Other configurations are the same as those of the nonvolatile storage system according to the fifth embodiment.
- FIG. 47 is a flowchart showing the operation of the flash memory controller 10.
- step S355 is different from step S345 in FIG. 45, and other steps are the same as those in FIG.
- step S355 is different from step S345 in FIG. 45, and other steps are the same as those in FIG.
- step S356 the flash memory 26 starts processing for the first time. However, before that start, another flash memory 26 has already executed the processing. .
- the flash memory controller 10 starts control of the flash memory 26 to be accessed in accordance with an instruction from the external host 200 by a command.
- step S ⁇ b> 351 the flash memory controller 10 controls the flash memory 26 according to an instruction from the host 200.
- step S352 the flash memory controller 10 confirms the power supply state of the power supply circuit 20 based on the power supply state notification signal Q2 received from the power supply circuit 20.
- the power supply state is, for example, a state having a capacity of “30” in terms of a power level and processing of “22” at the current power level. Furthermore, it is assumed that the level that is the stable operation level of the power supply circuit 20 is set to “24” that is 80% of the level “30”.
- step S353 the flash memory controller 10 estimates the next operation to be performed on the flash memory 26 and its operating power.
- the flash memory operation management table 12 in the flash memory controller 10 is as shown in FIG. 46 when an instruction is received from the host. In this state, the flash memories A to J are being executed, and the flash memory I is being stopped.
- the flash memory D, H, J has the highest priority level “3”
- the flash memories C, G have the priority level “2”
- the flash memories A, B, E, F have the priority level “1”. It has become.
- the flash memory A is operated at the power level “1”
- the flash memories B, E, and F are operated at the power level “2”
- the flash memories C, G, D, H, and J are operated at the power level “3”. Be operated.
- the total value of the power level of the flash memory 26 being processed is “22”. Note that it is possible to estimate the power with higher accuracy by estimating the processing power based on the operating state and the characteristics of the individual flash memories 26 instead of simply adding the power level.
- the power level of the flash memory 26 can be selected from “1”, “2”, and “3”, but in the process of priority level “3”, the power level can be selected from “1” and “2”. Instead, the selected power level is “3”.
- the processing start order indicates that a new process is performed as the number is smaller. In this embodiment, it is determined that the priority is lower in the same priority level as the process start order is newer. In FIG. 46, there are a plurality of priority levels of the same order, and the priority order is determined as a continuous order with reference to the processing start order. There is no tie in priority.
- step S355 and step S356 a method of updating the flash memory operation management table 12 when the priority level “3” needs to be written to the flash memory I according to an instruction from the host 200 will be described.
- FIG. 48 is a table when the operation of the flash memory I is added.
- the flash memory I since the flash memory I has the priority level “3”, it is assigned to the priority level 4 having the lowest priority level in the processing of the priority level “3”.
- the flash memory I at the lowest level in FIG. 46 has shifted to the fourth level from the bottom in FIG.
- the processing start order at this time is “0”, which means provisional registration in the flash memory operation management table 12. Further, the power level of the flash memory I is “3”.
- the total power level is “25” (22 + 3), which exceeds level “24” (80% of level “30”), which is the stable operation level of the power supply circuit 20. If the operation of the flash memory 26 is started in this state, there is a possibility that the data reliability is lowered. To avoid this, it is necessary to change the power level of the flash memory 26. Specifically, the determination in step S354 is negative and the process proceeds to step S355.
- the power level of the lowest flash memory A with the priority “10” is “1”
- the power level cannot be lowered. If this is lowered, the power level becomes “0”, which stops the processing of the flash memory, which is contrary to the main point of the present embodiment. Therefore, attention is focused on the flash memory B having the next lowest priority “9”. Since the flash memory B has the power level “2” with respect to the priority level “1”, the power level can be lowered.
- the result after the change is shown in FIG.
- the power level of the flash memory B which was the power level “2” in FIG. 48, is changed to low power “1”. This completes the check and correction, and the power level is determined. Thereafter, the flash memory operation management table 12 is updated, and processing of the corresponding flash memory 26 is started.
- the power level of the newly entered flash memory I is changed from “3” to “1”, but the new entry is made in this embodiment.
- the power level of the flash memory I is kept at the desired “3”, and the low power change is applied to the flash memory B that has already been processed.
- ⁇ 56 [Processing in progress] * [Polling] * [Low power change]
- the configuration of this section differs from the configuration of ⁇ 54 >> depending on whether the processing timing is [Before process start] or [Processing in progress]. Also, the configuration of this section differs from the configuration of ⁇ 51 >> depending on whether the processing method is [pause] or [low power change].
- the control from when the command is transmitted from the host to the flash memory controller and the command is received by the flash memory controller that is, the control before the processing in the flash memory to be newly accessed is started. It was.
- the operating current in the flash memory group exceeds the specified level, and the power margin of the power supply circuit for the memory system becomes insufficient.
- the present invention relates to control when there is a risk of malfunction.
- the flash memory in the nonvolatile memory system of this section, has a low power mode as a power consumption mode and can dynamically change the operating current.
- the flash memory controller has a flash memory operation management table for managing the operation status of each of the plurality of flash memories.
- the flash memory controller receives power supply state information from the power supply circuit for the memory system by polling, and then compares the received power supply state information with a specific level by referring to the flash memory operation management table. When it is determined that the power supply state information is equal to or higher than the specific level and the power supply circuit for the memory system has no power margin, the flash memory controller reduces the power level of the specific flash memory, and then, based on the power supply state information. When it is determined that a power margin has been generated in the power supply circuit for the memory system, control is performed to update the flash memory operation management table.
- the flash memory is configured such that the operating current can be dynamically changed in the above configuration ⁇ 50>, and the flash memory controller is configured to perform power supply circuit for the memory system by polling.
- the power status information is received from the memory, and if it is determined that the received power status information is above a specific level, the power level of the specific flash memory is lowered, and a power margin is generated in the power circuit for the memory system to execute the process. Is configured to continue.
- the problem will be detected in advance by polling. Detect and reduce the power level of a specific flash memory that is executing. As a result, it is possible to minimize a decrease in the overall processing capability of the system while preventing unstable operation and system down due to problems such as overload of the power supply circuit for the memory system. In addition, it is not necessary to have an excessive power supply capability in order to ensure stable operation.
- FIG. 50 is a flowchart showing the operation of the flash memory controller 10.
- step S362 the flash memory controller 10 checks the power supply state of the power supply circuit 20. That is, the flash memory controller 10 makes an inquiry to the power supply circuit 20 by polling, receives the drive rate as the power supply state information from the power supply circuit 20, and confirms the drive rate.
- step S363 the flash memory controller 10 determines whether the current drive ratio, which is the upper limit of a specific level L H above. If it is greater than or equal to the upper limit specific level L H , the process proceeds to step S364, and if not, the process proceeds to step S365. Determining whether or not the current drive rate is equal to or higher than the upper limit specific level L H refers to whether or not there is a possibility that the power supply circuit 20 will run out of power and cause overload.
- step S363 in the current drive ratio upper limit of a specific level L H above, the process proceeds to step S364 it is determined that there is a danger of causing an overload, the flash memory controller 10, a flash memory 26 of the current process being executed , The power mode of the flash memory 26 is shifted to the low power mode.
- the flash memory for lowering the power level is sequentially set along the processing start order. That is, among the plurality of flash memories 26 that are currently being accessed, the power level is to be lowered with priority given to the flash memory at the early stage when processing was started by a command from the host 200.
- Step S364 After step S364, the process returns to step S362.
- step S365 the flash memory controller 10 updates the flash memory operation management table 12.
- step S364 the power level after the level is lowered is set. This process of reducing the power level avoids an overload condition.
- step S304 only temporary data is registered in the flash memory operation management table 12, and the data is fully registered in step S365.
- step S366 it is determined whether the processing in the flash memory 26 is completed. If it is not completed, the process returns to step S361 to continue the processing. Even in the process of continuing this process, the processes of steps S362, S363, S364, and S365 are repeated. When the processing is completed, the routine of FIG. 50 is exited. Note that temporarily suspending some flash memories 26 is also included in the process of reducing the power level.
- the power consumption of the flash memory 26 is dynamically controlled dynamically while monitoring the power supply state (driving rate) of the power supply circuit 20 during execution of processing in the flash memory to be accessed. While preventing unstable operation and system down due to problems such as overloading of the circuit 20, it is possible to minimize a decrease in the overall processing capacity of the system. In addition, it is not necessary to have an excessive power supply capability in order to ensure stable operation.
- ⁇ 57 [Processing in progress] * [Interrupt] * [Low power change]
- the function fulfilled by the above-described ⁇ 56 >> configuration is to be realized not by polling but by an interrupt from the power supply circuit for the memory system.
- the power supply state of the power supply circuit is constantly monitored, an interrupt signal is generated when the power supply state exceeds a specific level, and the flash memory controller It is configured as a notification.
- the flash memory controller receives an interrupt signal from the power supply circuit for the memory system, it lowers the power level of the specific flash memory that is executing the process, thereby generating a power margin in the power supply circuit for the memory system. It is configured to continue the execution of the process.
- the flash memory controller uses the interrupt signal associated with the power state transition in the power circuit for the memory system as a trigger for recognizing a fault state such as an overload of the power circuit for the memory system.
- the memory controller does not need to monitor the power supply circuit for the memory system by polling, and the processing load can be reduced.
- reception of an interrupt signal immediately detects a failure, there is no time lag and high-speed response is possible.
- Example 25 As a block diagram showing the configuration of the nonvolatile memory system of this example, either FIG. 40 or FIG. 42 is used.
- the power supply circuit 20 constantly monitors its own internal state during processing in the flash memory 26, and the power consumption of the flash memory 26 to be accessed is relative to the current drive rate of the power supply circuit 20. When the drive rate exceeds a specified value due to overload, an interrupt signal Q2 indicating a power state transition is generated and notified to the flash memory controller 10.
- the flash memory controller 10 receives the interrupt signal Q2 from the power supply circuit 20, the flash memory controller 10 is configured to lower the power level of the specific flash memory 26 being processed.
- Other configurations are the same as those of the nonvolatile storage system according to the twenty-second embodiment.
- FIG. 51 is a flowchart showing the operation of the flash memory controller 10.
- the flash memory controller 10 recognizes that the interrupt signal Q ⁇ b> 2 indicating the state transition of the power supply circuit 20 has been received from the power supply circuit 20.
- the flash memory controller 10 lowers the power level of the flash memory 26 currently executing processing, that is, shifts the flash memory 26 to the low power mode.
- the flash memory for lowering the power level is set based on the processing start order. That is, the flash memory controller 10 is a target for lowering the power level preferentially from the flash memory at the early stage when the processing is started by the command from the host 200 among the plurality of flash memories 26 that are currently accessed. To do.
- step S373 the flash memory controller 10 confirms the power supply state of the power supply circuit 20 again. That is, the flash memory controller 10 makes an inquiry to the power supply circuit 20 by polling, receives the power supply state notification signal Q2 from the power supply circuit 20, extracts the power supply state information from the received power supply state notification signal Q2, and extracts the power supply state information from the extracted power supply state information.
- the current driving rate in the power supply circuit 20 is recognized.
- step S374 the flash memory controller 10 determines whether the current drive ratio, which is the upper limit of a specific level L H above. If it is greater than or equal to the upper limit specific level L H , the process returns to step S372, otherwise the process proceeds to step S375. In other words, whether or not the current drive rate is equal to or higher than the upper limit specific level L H is to check whether there is a possibility that the power supply circuit 20 runs out of power and may overload.
- the flash memory controller 10 When it is determined that there is a risk of overload when the current driving rate is equal to or higher than the upper limit specific level L H and the flow returns to step S372, the flash memory controller 10 further reduces the power level of the flash memory 26, or The flash memory 26 is shifted to the low power mode.
- step S375 the flash memory controller 10 updates the flash memory operation management table 12.
- the power level after the level is lowered is set. This process of reducing the power level avoids an overload condition. Since the present embodiment is an interrupt process, the process after step S375 is exited from the routine of FIG.
- Step S362 and Step S363 in Embodiment 7 of FIG. 50 it is possible to confirm whether or not the drive rate of the power supply circuit 20 has exceeded 90% by processing corresponding to Step S362 and Step S363 in Embodiment 7 of FIG. 50, that is, polling from the flash memory controller 10. It is unnecessary. That is, since the voltage level from the flash memory controller 10 need not be confirmed in the seventh embodiment, the processing load on the flash memory controller 10 can be reduced.
- ⁇ 58 [Processing in progress] * [Polling] * [Low power change] * [Priority]
- the improvement of the mode in which the flash memory is changed to the low power mode is further studied in the configuration of ⁇ 56 >> referring to the low power change.
- the flash memory is configured to be able to dynamically change the operating current.
- the confirmation of the power supply state of the power supply circuit 20 is configured by polling from the flash memory controller 10.
- ⁇ 55 >>, the timing of processing differs between [Before processing start] and [Processing in progress].
- the flash memory controller monitors the operation status of the plurality of flash memories in the flash memory operation management table, and is configured to determine and manage priorities among the plurality of flash memories as monitoring items. ing. This priority order changes with the execution of processing in a plurality of flash memories, and the flash memory controller updates the priority order in the flash memory operation management table each time the change is made.
- the flash memory controller is likely to cause a system down due to a problem such as overload due to the relationship between the power consumption of the flash memory being executed and the power supply capacity of the power supply circuit for the memory system, that is, When it is determined that the flash memory to be accessed cannot execute appropriate processing within the prescribed range of the power supply capability of the power supply circuit for the memory system, the flash memory controller performs the flash memory operation management table. Referring to, control is performed so that the power consumption is preferentially lowered from the flash memory with the lowest priority. In this low power change, execution of the process is continued after lowering the power used.
- the flash memory controller determines and manages the priority among a plurality of flash memories.
- the control that continues the execution of the process after reducing the power consumption is configured so that the flash memory having the lowest priority in the flash memory group that is executing the process is preferentially targeted. .
- the use of the power supply circuit for the memory system can be used even when there is a risk of overloading due to insufficient power margin of the power supply circuit for the memory system.
- priority is given to the flash memory with the lowest priority, so that a reduction in processing speed can be suppressed as much as possible.
- FIG. 52 is a flowchart showing the operation of the flash memory controller 10. Of steps S381 to S386, step S384 is different from step S364 of FIG. 50, and the other steps are the same as those of FIG.
- step S382 the flash memory controller 10 makes an inquiry to the power supply circuit 20 by polling, receives power supply state information from the power supply circuit 20, and determines the drive rate of the power supply circuit 20 based on the received power supply state information. Check.
- step S 383 the flash memory controller 10 determines whether the current drive ratio, which is the upper limit of a specific level L H above. If it is greater than or equal to the upper limit specific level L H , the process proceeds to step S384, and if not, the process proceeds to step S385.
- the determination as to whether or not the current drive rate is equal to or higher than the upper limit specific level L H is based on whether or not there is a possibility that the power supply circuit 20 will run out of power and cause an overload.
- step S 383 in the current drive ratio upper limit of a specific level L H above, it is determined that there is a risk of causing overload proceeds to step S384, the flash memory controller 10 refers to the flash memory operation management table 12
- the flash memory with the lower priority order is preferentially selected, and the power level of the selected flash memory 26 currently executing processing is lowered, that is, the power consumption mode of the flash memory 26 is shifted to the low power mode.
- step S384 After step S384, the process returns to step S382.
- step S385 the flash memory controller 10 updates the flash memory operation management table 12.
- step S384 the power level after the level is lowered is set. This process of reducing the power level avoids an overload condition.
- step S386 it is determined whether the processing in the flash memory 26 is completed. If it is not completed, the process returns to step S381 to continue the processing. Even in the process of continuing this process, the processes of steps S382, S383, S384, and S385 are repeated. When the processing is completed, the routine of FIG. 52 is exited. Note that temporarily stopping the flash memory 26 is also included in the process of reducing the power level.
- ⁇ 59 [Processing in progress] * [Interrupt] * [Low power change] * [Priority]
- the function fulfilled by the above ⁇ 58 >> is to be realized not by polling but by interruption from the power supply circuit for the memory system.
- the power supply circuit constantly monitors the power supply state, and interrupts when the power supply state exceeds a specific level. A signal is generated and notified to the flash memory controller.
- the flash memory controller receives an interrupt signal from the power supply circuit, the flash memory controller lowers the power level of the specific flash memory that is executing the process, thereby generating a power margin in the power supply circuit for the memory system, It is configured to continue execution.
- the flash memory controller uses the interrupt signal accompanying the power state transition in the power supply circuit for the memory system as a trigger for recognizing a failure state such as an overload of the power supply circuit for the memory system.
- the flash memory controller does not require monitoring of the power supply circuit for the memory system by polling, and the processing load can be reduced.
- reception of an interrupt signal immediately detects a failure, there is no time lag and high-speed response is possible.
- Example 27 As a block diagram showing the configuration of the nonvolatile memory system of this example, either FIG. 40 or FIG. 42 is used.
- the flash memory controller 10 has a flash memory operation management table 12 for managing priority levels similar to those in FIG.
- the power supply circuit 20 constantly monitors its internal state during processing in the flash memory 26. Specifically, when the power consumption of the flash memory 26 to be accessed becomes overloaded with respect to the current drive rate of the power supply circuit 20 and the drive rate exceeds a specified value, the power supply circuit 20 Is generated and notified to the flash memory controller 10. When the flash memory controller 10 receives the interrupt signal Q2 from the power supply circuit 20, the flash memory controller 10 is configured to lower the power level of the specific flash memory 26 being processed. Other configurations are the same as those of the nonvolatile storage system according to the twenty-second embodiment.
- FIG. 53 is a flowchart showing the operation of the flash memory controller 10.
- the flash memory controller 10 recognizes that the interrupt signal Q2 indicating the state transition of the power supply circuit 20 has been received from the power supply circuit 20.
- step S392 the flash memory controller 10 refers to the flash memory operation management table 12 and preferentially selects a flash memory with a low priority, and lowers the power level of the selected flash memory 26 that is currently executing processing. That is, the mode is shifted to the low power mode.
- step S393 the flash memory controller 10 makes an inquiry to the power supply circuit 20 again by polling, receives power supply state information (specifically, a power supply state notification signal Q2) from the power supply circuit 20, and based on the received power supply state information.
- the current drive rate of the power supply circuit 20 is recognized.
- step S394 the flash memory controller 10 determines whether the current drive ratio, which is the upper limit of a specific level L H above. If it is greater than or equal to the upper limit specific level L H , the process returns to step S392; otherwise, the process proceeds to step S395.
- the determination as to whether or not the current drive rate is equal to or higher than the upper limit specific level L H refers to whether or not there is a possibility that the power supply circuit 20 will run out of power and cause an overload.
- the flash memory controller 10 When it is determined that the current drive rate is equal to or higher than the upper limit specific level L H and there is a risk of overloading and the process returns to step S392, the flash memory controller 10 further reduces the power level of the flash memory 26. . Alternatively, another flash memory 26 is shifted to the low power mode.
- step S392 As the loop of steps S392 ⁇ S393 ⁇ S394 ⁇ S392 is repeated, the power level of the flash memory decreases sequentially, and the current drive rate for determining the risk of overload falls below the upper limit specific level L H. It becomes like this. In this case, the power necessary for processing in all the flash memories 26 to be accessed can be safely covered by the power supply circuit 20 with the power supplied at the current drive rate. If so, the process proceeds to step S395.
- step S395 the flash memory controller 10 updates the flash memory operation management table 12.
- the power level after the level is lowered is set. This process of reducing the power level avoids an overload condition. Since the present embodiment is an interrupt process, the process after step S395 is exited from the routine of FIG.
- any one of the above ⁇ 50 >> to ⁇ 59 >> has the flash memory controller been overloaded in the power supply circuit for the memory system after the processing of the flash memory has been completed? If the overload occurs, the flash memory verify operation is executed. Then, after verifying, the data abnormality of the flash memory is determined, and the determination result is notified to the host.
- Example 28 A specific example of the configuration of ⁇ 60 >> will be described below as Example 28.
- FIG. 54 is a block diagram showing the configuration of the nonvolatile memory system according to Embodiment 28 of the present invention.
- the power supply circuit 20 is provided with an overload register 24 for setting an overload flag indicating whether or not the power supply circuit 20 has been overloaded.
- the flash memory controller 10 polls the overload register 24 of the power supply circuit 20, and when the polling result indicates overload of the power supply circuit 20, the operation to the flash memory 26 is continued and the verify operation is performed. It is configured.
- Other configurations are the same as those of the embodiment 20 (nonvolatile storage system of FIG. 40).
- FIG. 55 is a flowchart showing the operation of the flash memory controller 10.
- the flash memory controller 10 recognizes completion of execution of processing in the flash memory 26.
- the flash memory controller 10 checks the overload flag of the power supply circuit 20.
- the overload flag is confirmed by polling the overload register 24 provided in the power supply circuit 20.
- the overload register 24 of the power supply circuit 20 is cleared.
- step S404 it is determined whether or not an overload has occurred according to the confirmation result in step S402. If an overload has occurred, the process proceeds to step S405, and if not, the process proceeds to step S407.
- step S405 the flash memory controller 10 performs a verify operation of the process performed in the flash memory 26. Specifically, the data (processed data) in the area of the flash memory 26 where the write operation or the erase operation has been performed is once read to check whether the data is normal.
- step S406 it is determined whether or not the data in the flash memory 26 is normal (whether or not the data in the entire flash memory is normal). When normal, the process proceeds to step S407, and when abnormal, the process proceeds to step S408.
- step S407 When it is determined that no overload has occurred in the power supply circuit 20 or when it is determined that the processing result of the flash memory 26 is normal, the process proceeds to step S407, and the flash memory controller 10 sends a “normal” to the host 200. “End”. On the other hand, if it is determined that the processing result of the flash memory 26 is abnormal, the process proceeds to step S408, and the flash memory controller 10 notifies the host 200 of “abnormal end”.
- the system confirms that an overload has occurred, confirms the quality of the execution result of the process when the overload occurs, and notifies the host 200 to improve data reliability. Can do.
- the flash memory controller is provided with a first power supply terminal to which a first power supply voltage supplied from an input / output circuit or the like is applied, a signal processing circuit, or the like.
- the power supply circuit is preferably configured to include a circuit that generates a second power supply voltage to be applied to the second power supply terminal of the flash memory controller.
- ⁇ 62 [Basic Configuration: Voltage Generator and Voltage Status Monitor]
- the power supply circuit for the memory system in this section receives control from the flash memory controller with respect to the power supply voltage to be generated, monitors its own internal state according to the control, and displays the monitoring results (power supply state (drive rate), etc.) in the flash memory. Return to controller.
- the flash memory controller uses the returned monitoring result (power supply state (drive rate) or the like) for control of the power supply voltage.
- the control form is constantly feedback / feedforward, real and dynamic fine control can be realized. This can be further advantageously developed in various embodiments as described below.
- FIG. 56 is a block diagram showing a configuration of a nonvolatile memory system (power supply circuit for a memory system) in Example 29 of the present invention.
- 10 is a flash memory controller
- 20 is a power supply circuit for a memory system
- 25 is a memory block composed of a set of a plurality of flash memories 26.
- the flash memory controller 10 sets a read state, a write / erase state, and the like for each of one or a plurality of flash memories 26, and controls power according to the voltage / current capability required for each state of the flash memory 26.
- a signal Q1 is generated and applied to the power supply circuit 20.
- the power supply circuit 20 includes a parameter setting unit 40, a voltage generation unit 50, and a voltage state monitoring unit 60 as components.
- Reference numeral 1 denotes a system power supply.
- the system power supply 1 supplies a power supply voltage VDD serving as a basic power supply to the flash memory controller 10, the power supply circuit 20, and the flash memory 26.
- the flash memory controller 10 is connected to the power supply circuit 20 via a control bus 42.
- a power supply control signal Q1 and a power supply state notification signal Q2 are transmitted to the control bus 42.
- the flash memory controller 10 is connected to each of the plurality of flash memories 26 via the bus 43.
- Q3 is a flash memory control signal on the control bus 42.
- the power supply circuit 20 is connected to each flash memory 26 via a power supply line 44.
- the power supply circuit 20 outputs a power supply control terminal T1 for inputting the power supply control signal Q1 sent from the flash memory controller 10 and a power supply state notification signal Q2 from the voltage state monitor 60 to the flash memory controller 10. And a power supply output terminal T3 for outputting a power supply voltage from the voltage generator 50 to the flash memory 26.
- the parameter setting unit 40 has a function of setting various control parameters such as current capability, the number of boosting parallels, the number of boosting stages, and the oscillation frequency based on the power supply control signal Q1.
- the power control signal Q1 is input from the flash memory controller 10 to the parameter setting unit 40 via the power control terminal T1.
- the output side of the parameter setting unit 40 is connected to the voltage generation unit 50.
- the voltage generator 50 various parameters are set by the parameter setting unit 40.
- the voltage generator 50 has a function of generating and outputting a power supply voltage for operating the flash memory in accordance with the set parameters.
- the power supply voltage generated in the voltage generator 50 is supplied to the flash memory 26 group via the power supply output terminal T3.
- the voltage generator 50 further generates a power supply voltage change signal N10 indicating a change in the generated power supply voltage and sends it to the voltage state monitor 60.
- the voltage state monitoring unit 60 receives the power supply voltage change signal N10 sent from the voltage generation unit 50, generates a power supply state notification signal Q2 indicating the driving rate of the voltage generation unit 50 based on the power supply voltage change signal N10, and generates The power supply state notification signal Q2 is output from the power supply state notification terminal T2 to the flash memory controller 10.
- FIG. 57 is a flowchart showing the operation of the power supply circuit 20.
- the power supply circuit 20 is controlled by the external flash memory controller 10 for the power supply voltage to be generated, and constantly monitors its own internal state, and a power supply state notification signal Q2 (indicating the driving rate) as the monitoring result. Return to the flash memory controller 10.
- the flash memory controller 10 controls the power supply circuit 20 based on the received power supply state notification signal Q2 (drive rate). Since such continuous feedback / feedforward control is performed, real and dynamic fine-grained control is realized. As a result, it is not necessary to have an excessive power supply capability, and wasteful power consumption can be suppressed.
- the power supply circuit for the memory system generally has a read power supply circuit and a write / erase power supply circuit. More typically, it has a read power supply circuit, a write / erase power supply circuit, and a verify power supply circuit.
- the plurality of types of power supply circuits are collectively referred to as a plurality of types of processing execution power supply circuits.
- a voltage state monitor unit for reading is associated with the voltage generation unit for reading
- a voltage state monitoring unit for writing / erasing is associated with the voltage generation unit for writing / erasing
- a voltage state monitoring unit for verification is associated with the voltage generating unit for verification.
- a voltage state monitor unit for verification is associated.
- the standard voltages of these various voltage generators are different from each other.
- the plurality of types of processing execution power supply circuits take the form of control and operation independent of each other in the context of the flash memory controller.
- the power supply of the read voltage generation unit of the read power supply circuit is controlled by the flash memory controller, and the power state of the read voltage generation unit is monitored by the read voltage state monitor unit.
- the voltage state monitoring unit for reading returns a power state notification signal for reading to the flash memory controller as a monitoring result.
- the flash memory controller resets the read voltage generator in accordance with the received power state notification signal.
- the power source of the write / erase voltage generator of the write / erase power supply circuit is controlled by the flash memory controller, and the power state of the voltage generator for write / erase is the voltage state for write / erase. Monitored by the monitor unit.
- the voltage state monitor unit for writing / erasing returns a power state notification signal for writing / erasing to the flash memory controller as a monitoring result.
- the flash memory controller resets the write / erase voltage generator in accordance with the received power state notification signal.
- the verify voltage generation unit of the verify power supply circuit is controlled by the flash memory controller, and the power state of the verify voltage generation unit is monitored by the verify voltage state monitor unit.
- the voltage state monitor unit for verification returns the monitoring result to the flash memory controller as a power state notification signal for verification.
- the flash memory controller resets the verify voltage generator in accordance with the received power state notification signal.
- the power supply circuit for the memory system of this section is configured in the above-described configuration of ⁇ 61 >>, and a plurality of voltage generation units and voltage state monitoring units are provided as a plurality of types of processing execution power supply circuits.
- the types of processing execution power supply circuits are configured to be controlled and operated independently of each other.
- Example 30 A specific example of the configuration of ⁇ 63 >> will be described below as Example 30.
- FIG. 58 is a block diagram showing a configuration of a power supply circuit 20 for a memory system for a nonvolatile memory system according to Embodiment 30 of the present invention.
- the power supply circuit 20 three types of processing execution power supply circuits are provided.
- One is a power supply circuit for logic. This includes a set of a logic voltage generator 51 and a logic voltage state monitor 61, a set of a read voltage generator 52 and a read voltage state monitor 62, and a write / erase A set of a voltage generator 53 and a voltage state monitor 63 for writing / erasing is provided.
- the power supply voltage required for the logic operation is 1.8 V at the maximum
- the power supply voltage required for the read operation is 5 V at the maximum
- the power supply voltage required for the write / erase operation is 20 V at the maximum.
- the parameter setting unit 40 is common to the three voltage generating units 51-53.
- T21, T22, and T23 are power supply state notification terminals, which are individually provided for the three voltage state monitoring units 61, 62, and 63.
- T31, T32, and T33 are power supply output terminals to the flash memory 26 group, and are individually provided for the three voltage state monitoring units 61, 62, and 63.
- Other configurations are the same as those in FIG. 56 in the case of the twelfth embodiment, and therefore, the same reference numerals are given to the same portions and the description thereof is omitted.
- the flash memory controller 10 controls the power supply to the read voltage generator 52.
- the driving state of the read voltage generator 52 is monitored by the read voltage state monitor 62, and a read power state notification signal Q 2 is returned to the flash memory controller 10.
- the flash memory controller 10 resets the read voltage generator 52 in accordance with the power supply state notification signal Q2.
- the write / erase voltage generator 53 of the write / erase power supply circuit is controlled by the flash memory controller 10 and the drive state of the write / erase voltage generator 53 is set to the write / erase voltage. Is monitored by the voltage state monitoring unit 63.
- the write / erase voltage state monitoring unit 63 returns a write / erase power state notification signal Q2 to the flash memory controller 10 as a monitoring result.
- the flash memory controller 10 resets the write / erase voltage generator 53 in accordance with the received power state notification signal Q2.
- the logic voltage generator 51 of the logic power circuit is controlled by the flash memory controller 10.
- the driving state of the logic voltage generator 51 is monitored by the logic voltage state monitor 61.
- the voltage state monitor unit 61 for logic returns a power state notification signal Q2 for logic to the flash memory controller 10 as a monitoring result.
- the flash memory controller 10 resets the logic voltage generator 51 in accordance with the received power state notification signal Q2.
- the same effect as that of the twelfth embodiment (FIG. 56) is exerted on the processing execution power supply circuit including the respective voltage generating sections 51 to 53 and the voltage state monitoring sections 61 to 63.
- the power supply state notification signal Q2 may be output as a bus. For example, if the power state notification signal [1: 0] is used, one terminal can be reduced.
- the voltage generator includes a boosted voltage generator that generates a voltage higher than the input power supply voltage; A step-down voltage generator for generating a voltage lower than the input power supply voltage; Is preferably further provided.
- ⁇ 65 [Integration circuit, comparison circuit, status register]
- the voltage state monitoring unit is configured as follows.
- the voltage generation unit is configured to generate a power supply voltage change signal of a pulse signal that represents the power supply state by an on-duty and output it to the voltage state monitor unit.
- the voltage state monitor unit includes an integration circuit, a comparison circuit, and a status register.
- the integrating circuit integrates the power supply voltage change signal from the voltage generator over its inactive period.
- the comparison circuit compares the integration signal from the integration circuit with a reference voltage and outputs the comparison result as a power supply state information signal.
- the status register latches the power supply state information signal from the comparison circuit.
- the latch timing is the change timing of the power supply voltage change signal to active.
- the power supply state in the voltage generator is input to the integration circuit as a pulse signal indicating the drive rate with on-duty.
- the integrating circuit integrates the power supply voltage change signal over its inactive period. The integral value becomes larger as the inactive period of the power supply voltage change signal is longer.
- the comparison circuit compares the integration signal with a reference voltage. When the reference voltage is exceeded, the output of the comparison circuit is logically inverted. The output of the comparison circuit is latched in the status register as the access period ends.
- the status register When the power supply state (driving rate or margin) in the voltage generator exceeds the specified value and seems to be overloaded, the status register is set to the asserted state as a result. On the other hand, if the power supply state does not reach the specified value, as a result, the status register is set to the negated state.
- the flash memory controller can be used for the memory system by polling (notification according to regular or irregular inquiry). It becomes possible to appropriately obtain the power supply state information of the power supply circuit.
- an inverter circuit is added to the node N10. It is possible to output a pulse signal that represents. Thereby, it is also possible to monitor the operation margin state of the voltage generation circuit by integrating the pulse signal representing the margin. At that time, it is needless to say that the higher the value obtained by integrating the signal at the node N10, the greater the margin, and the lower the integral value, the more the voltage generator operates and the lower the margin. Therefore, overloading is likely to occur when the margin becomes low.
- the driving rate is exemplified as a description of the power supply circuit in detail, but it can also be handled as a margin.
- Example 31 A specific example of the configuration of ⁇ 65 >> will be described below as Example 31.
- FIG. 59 is a block circuit diagram showing details of the power supply circuit 20.
- the parameter setting unit 40 is associated so that various parameters necessary for the voltage generation unit 50 are set based on the power control signal Q1 received from the flash memory controller 10.
- the parameter setting unit 40 four setting items are illustrated. For example, when the power control signal Q1 is “1”, the current capability is set to “0.5”, the boosting parallel number is set to “4”, the boosting stage number is set to “8”, and the oscillation frequency is set to “25”.
- the power control signal Q1 is “3”, the current capability is set to “1”, the boosting parallel number is set to “8”, the boosting stage number is set to “8”, and the oscillation frequency is set to “25”.
- the voltage generation unit 50 includes an oscillation circuit 54, a plurality of booster circuits 55, a voltage detection unit 56, and a comparison circuit 57 using a differential amplifier.
- the output terminal of the oscillation circuit 54 is connected to the input terminal of the booster circuit 55, the output terminal of the booster circuit 55 is connected to the power supply output terminal T 3, and is connected to the input terminal of the voltage detector 56.
- the output terminal of the voltage detection unit 56 is connected to the inverting input terminal ( ⁇ ) of the comparison circuit 57, the output terminal of the comparison circuit 57 is connected to the frequency control terminal of the oscillation circuit 54, and further to the input terminal of the voltage state monitoring unit 60. It is connected.
- the frequency of the oscillating circuit 54 and the parallel number / stage number of the booster circuit 55 are set.
- the booster circuit 55 is driven by the output of the oscillation circuit 54, the reference power supply voltage VDD is boosted to a higher set level to generate the boosted voltage VHH, and power is supplied from the power supply output terminal T3 to the flash memory 26 group.
- the boosted voltage VHH varies according to the load connected to the output terminal of the booster circuit 55.
- the generated power supply voltage is detected by the voltage detection unit 56 having resistance division, and the detection result is passed from the voltage detection unit 56 to the comparison circuit 57.
- the detection result input to the comparison circuit 57 is a voltage signal, and the voltage signal is a pulsating flow.
- the comparison circuit 57 compares the reference voltage VREF_V set in advance with the detection result (voltage signal) and outputs the comparison result as the power supply voltage change signal N10.
- the power supply voltage change signal N10 is a pulse signal having an on / off duty ratio.
- the comparison circuit 57 When the boosted voltage VHH becomes lower than the target voltage, the voltage divided by the resistor R in the voltage detection unit 56 becomes lower than the reference voltage VREF_V of the comparison circuit 57, and the comparison circuit 57 is set to the “H” level as the power supply voltage change signal N10. Is output.
- the comparison circuit 57 outputs the generated power supply voltage change signal N10 to the subsequent voltage state monitoring unit 60. Further, the comparison circuit 57 feeds back the power supply voltage change signal N10 to the internal oscillation circuit 54, thereby pulsating the oscillation output based on the on / off control of the power supply voltage change signal N10.
- the voltage generated and output by the booster circuit 55 in the voltage generation unit 50 is controlled by parameters set in the parameter setting unit 40.
- the oscillation circuit 54 In a state where the comparison circuit 57 outputs the “H” level, the oscillation circuit 54 is set to an operating state and executes a boosting operation. On the other hand, when the boost voltage VHH exceeds the target voltage, the voltage divided by the resistor R of the voltage detection unit 56 becomes higher than the reference voltage VREF_V, and the comparison circuit 57 outputs the “L” level. In a state where the comparison circuit 57 outputs “L” level, the oscillation circuit 54 is stopped and the boosting operation is stopped. That is, the “H” level section of the power supply voltage change signal N10 output from the comparison circuit 57 can be converted as the drive rate of the booster circuit 55. The “L” level section of the power supply voltage change signal N10 can also be defined as an operation surplus rate.
- the voltage state monitor unit 60 includes a transfer gate 64, an inverter 65, a delay circuit 66, an integration circuit 67, a comparison circuit 68, and a status register 69 (consisting of a flip-flop).
- the output terminal of the comparison circuit 57 that outputs the power supply voltage change signal N10 in the voltage generator 50 is connected to the input terminal of the integration circuit 67 via the transfer gate 64.
- the output terminal of the comparison circuit 57 is connected to the control terminal of the transfer gate 64 and the input terminal of the inverter 65.
- the output terminal of the inverter 65 is connected to the input terminal of the delay circuit 66.
- the output terminal of the delay circuit 66 is connected to the control terminal of the integrating circuit 67.
- the output terminal of the integration circuit 67 is connected to the non-inverting input terminal (+) of the comparison circuit 68.
- the output terminal of the comparison circuit 68 is connected to the data input terminal of the status register 69, and the output terminal of the inverter 65 is connected to the clock input terminal.
- the data output terminal of the status register 69 is connected to the power supply state notification terminal T2.
- a power supply voltage change signal N10 representing the driving rate of the voltage generator 50 is input to the input terminal and the control terminal of the transfer gate 64.
- the transfer gate 64 opens when the control input is at “H” level, and closes when the control input is at “L” level.
- the integrated signal N14 that has passed through the transfer gate 64 becomes “H” when the gate is opened, and becomes high impedance (Hiz) when the gate is closed.
- the inverter 65 logically inverts the power supply voltage change signal N10 and supplies the inverted signal N12 to the delay circuit 66 and the clock input terminal of the status register 69.
- the rise of the integration control signal N13 output from the delay circuit 66 is delayed.
- the integration circuit 67 is operated by this integration control signal N13.
- the integration circuit 67 integrates the “H” level period of the integrated signal N14 that has passed through the transfer gate 64 with time to generate an integration signal N15.
- the integration signal N15 is input to an analog comparison circuit 68, compared with a reference voltage VREF_Duty that determines a period, and output as a power supply state information signal N16.
- the power supply state information signal N16 output from the comparison circuit 68 is inverted from the previous “L” level to become the “H” level. . Even if the integration signal N15 rises, if the integration control signal N13 does not reach the reference voltage VREF_Duty during the “L” level period, the voltage level of the power supply state information signal N16 output from the comparison circuit 68 is “L”. Remain in level. At this time, the voltage generator 50 is below a desired driving rate. If the power supply state information signal N16 is at “H” level, it is equal to or higher than a desired drive rate. The desired drive rate can be adjusted through adjustment of the reference voltage VREF_Duty of the comparison circuit 68.
- the power supply state information signal N16 is output from the comparison circuit 68.
- the power state information signal N16 is applied to the data input terminal of the status register 69.
- the logic state of the power supply state information signal N16 is taken into the status register 69 formed of a flip-flop at the rising timing of the clock by the inverted signal N12 from the inverter 65, and the flash memory controller 10 is supplied from the power supply state notification terminal T2 as the power supply state notification signal Q2. Is output toward.
- the point of operation in the voltage state monitor unit 60 is in integration and comparison.
- the driving rate in the voltage generator 50 is high, the power supply voltage change signal N10 has a long “H” level period and a long integration period, so that the power state information signal N16 output from the comparison circuit 68 is logically inverted.
- the tendency to become active increases.
- the “H” level period of the power supply voltage change signal N10 is short and the integration period is also short, so that the power supply state information signal N16 output from the comparison circuit 68 is logically inverted.
- the drive rate exceeding the threshold means that the voltage generation unit 50 of the power supply circuit 20 has exceeded the limit causing overload.
- the driving rate of the voltage generation unit 50 derived by the voltage state monitoring unit 60 is output as a power state notification signal Q2 via the power state notification terminal T2.
- the reason “exceeded the limit causing overload” is because the status register 69 is 1 bit. If it is multi-bit, it is compared with an arbitrary threshold level.
- the power supply state notification signal Q2 becomes “H” level.
- the notification signal Q2 is kept at the “L” level. This is useful for determining whether the drive rate of the voltage generator 50 exceeds the threshold. This is because the on / off duty ratio of the power supply voltage change signal N10 is substantially equivalent to the drive rate of the voltage generator 50.
- the flash memory controller 10 that has received the power state notification signal Q2 determined to be “H” level updates the power control signal Q1 and supplies it to the parameter setting unit 40 of the power circuit 20. Thereby, the current capability of the power supply circuit 20 is reset to the lower one. As a result, the on-duty of the power supply voltage change signal N10 is reduced, the “H” level period of the integrated signal N14 is shortened, and the integrated signal N15 is maintained at the “L” level without being logically inverted. N16 remains at the “L” level, and the power supply state notification signal Q2 is inverted to the “L” level at the next rising timing of the inverted signal N12.
- the information (driving rate) of the power state notification signal N16 is set in the status register 69, so that the flash memory controller 10 appropriately acquires the power state information of the power circuit 20 by polling. Can do.
- ⁇ 66 [Counter circuit]
- ⁇ 65 power supply circuit for the memory system referring to the integration circuit, the comparison circuit, and the status register, there are the following techniques for achieving operation stability at a high frequency.
- a counter circuit is inserted between the input unit for the power supply voltage change signal and the integrating circuit.
- the integrating circuit integrates the power supply voltage change signal. If the frequency of the operation clock in the voltage generator is increased, the cycle of the power supply voltage change signal is shortened, and it is likely to be insufficient time for the integration signal to reach the reference voltage in the comparison circuit. Therefore, instead of integrating the power supply voltage change signal within one cycle, the power supply voltage change signal for several cycles is integrated. If the period is m periods, the counter circuit counts the period m. When the count value starts from 0 and reaches (m ⁇ 1), it is reset at the next count-up and returns to 0. Since the power supply voltage change signal is integrated over a period of m cycles, the level of the integration signal is sufficiently accurate for comparison with the reference voltage.
- the power supply circuit for the memory system in this section is the configuration of ⁇ 65 >> referring to the integration circuit, the comparison circuit, and the status register described above, and the voltage state monitoring unit further includes the power supply voltage change signal from the voltage generation unit. Between the input unit and the input unit of the integration circuit, a counter circuit that counts the cycle of the power supply voltage change signal and is reset by counting up for a plurality of cycles is provided.
- the period during which the power supply voltage change signal is integrated in the integration circuit is extended to the count-up cycle of the counter circuit. Therefore, even when the voltage generator operates at a high frequency, the power supply state information (drive rate ) Can be captured with high accuracy.
- said phenomenon is equivalent to averaging the power supply state of a voltage generation part temporally. That is, the state transition is given a temporal hysteresis to suppress the system state from becoming unstable.
- Example 32 A specific example of the configuration of the above ⁇ 66 >> will be described below as Example 32.
- 61 is a block diagram showing a configuration of a power supply circuit for a memory system in Embodiment 32 of the present invention.
- a counter circuit 70 and an AND gate element 71 are added to the voltage state monitoring unit 60 in FIG. 59 in the case of the thirty-first embodiment. This configuration is for dealing with a case where the oscillation frequency of the oscillation circuit 54 is high.
- the counter circuit 70 has an input terminal connected to the output terminal of the comparison circuit 57 of the voltage generator 50, and an output terminal connected to the inverter 65. Further, the input terminal and the output terminal of the counter circuit 70 are connected to the input terminal of the AND gate element 71, and the output terminal of the AND gate element 71 is connected to the control terminal of the transfer gate 64.
- the counter circuit 70 is configured to start from 0 and count to a specified count value, and then reset to 0 after the next count-up. The prescribed count value can be changed by trimming. Other configurations are the same as those in the fourteenth embodiment shown in FIG.
- the present embodiment provided with the counter circuit 70 is suitable for a configuration (see FIGS. 75 and 76) in which the frequency of the oscillation circuit 54 is a high value as in the embodiments described later.
- a built-in capacitive element in which the boosting capacity of the boosting circuit 55 is provided in the power supply circuit 20 (power supply chip) is used.
- FIG. 62 is a timing chart showing the operation of the power supply circuit 20 of the embodiment 32 configured as described above. The operation will be described below according to this timing chart.
- the counter circuit 70 in the voltage state monitoring unit 60 counts the number of transitions of the power supply voltage change signal N10 from “L” level to “H” level.
- the count value signal N11 which is the output of the counter circuit 70, maintains the “H” level until it counts up, and when it counts up, the logic is inverted and reset to the “L” level.
- the count value signal N11 maintains the “H” level for a period of three cycles.
- the reset timing of the count value signal N11 is a timing at which the status register 69 captures the logic state of the power supply state information signal N16 from the comparison circuit 68.
- the AND gate element 71 takes a logical product of the power supply voltage change signal N10 and the count value signal N11, opens the transfer gate 64 as a result, and inputs the power supply voltage change signal N10 to the integrating circuit 67 as the integrated signal N14.
- the integration circuit 67 performs an integration operation during the “H” level period of the signal to be integrated N14, and accumulation for a total of three cycles is performed.
- the integration time has been extended to 3 cycles. From another viewpoint, this is equivalent to averaging for a period of three cycles.
- Averaging means equalization.
- the oscillation frequency of the oscillation circuit 54 is high, the power supply voltage change signal N10 frequently undergoes logic transition, and the integration operation tends to be disturbed. The effect of this is mitigated by averaging. That is, the state transition is given a temporal hysteresis to suppress the system state from becoming unstable.
- the degree of extension of the integration time can be adjusted by changing the setting of the count-up value in the counter circuit 70.
- the status register 69 updates the logic state of the power supply state information signal N16 from the comparison circuit 68 at the rising timing of the inverted signal N12 of the inverter 65.
- This timing is a timing at which the count value of the counter circuit 70 becomes “0h”. That is, every time the count value becomes “0h”, the power supply state (drive rate or margin) of the voltage generation unit 50 is updated in the status register 69. The period when the count value becomes “0h” can be adjusted as described above.
- the period during which the integration circuit 67 integrates the power supply voltage change signal N10 (integrated signal N14) is extended to the count-up cycle of the counter circuit 70.
- the drive rate of the voltage generator 50 can be captured with high accuracy.
- the feedback control based on the driving rate makes it easy to optimize the power consumption of the system.
- ⁇ 67 [Multi-bit output]
- the voltage state monitoring unit is configured as follows. That is, a comparison circuit and a status register are provided in a plurality of stages, and a power state notification signal is output in multiple bits. That is, as a comparison circuit for inputting an integration signal from the integration circuit, a plurality of stages of comparison circuits having different reference voltages are provided. In addition, a plurality of status registers corresponding to a plurality of comparison circuits are provided as status registers.
- the power supply state (driving rate or margin) of the voltage generation unit is output in multiple bits as a power supply state notification signal, and the power supply state of the voltage generation unit can be grasped step by step in detail. Is possible.
- the resolution of the power status notification signal is increased, and the power optimization of the system can be further improved.
- the voltage state monitoring unit includes a table conversion circuit for reducing the number of necessary bits on the output side of the plurality of stages of comparison circuits or on the output side of the plurality of stages of status registers.
- the integration result simply increases, and the bit cannot be inverted and decreased in the middle. By utilizing this fact, it is possible to reduce the number of bits per power supply state notification signal. This is realized by a table conversion circuit.
- the number of necessary bits is reduced by the table conversion circuit, and the bus and the terminal connecting the power supply circuit for the memory system and the flash memory controller are simplified.
- FIG. 63 is a block diagram showing the configuration of the power supply circuit for the memory system in the embodiment 33 of the present invention.
- a plurality of comparison circuits 68 on the output side of the integration circuit 67 are provided.
- a three-stage comparison circuit 68 is provided.
- the reference voltages in the plurality of stages of comparison circuits 68 are different from each other, and VREF_Duty2>VREF_Duty1> VREF_Duty0.
- the integration signal N15 output from the integration circuit 67 is wired so as to be input to a plurality of comparison circuits 68 in common. That is, the integral signal N15 is output with multiple bits.
- a plurality of stages of status registers 69 on the output side of the plurality of stages of comparison circuits 68 are also provided.
- a three-stage status register 69 is provided.
- Power supply state information signals N16, N17, and N18 output from the preceding comparison circuit 68 are connected to the data input terminals of the plurality of stages of status registers 69.
- the clock input terminals of the multi-stage status registers 69 are wired so that the inverted signal N12 from the inverter 65 is input in common.
- the data output terminals of the multi-stage status registers 69 are connected to the table conversion circuit 72, and the output terminals of the table conversion circuit 72 are connected to the power supply state notification terminal T2.
- the table conversion circuit 72 outputs a multi-bit power state notification signal Q2 to the flash memory controller 10.
- the level of the integration signal N15 is -Reference voltage VREF_Duty0 or less, ⁇ VREF_Duty0 to VREF_Duty1 or less, ⁇ VREF_Duty1 more than VREF_Duty2 or less, ⁇ VREF_Duty2 This is divided into four stages. That is, the driving rate of the voltage generator 50 is detected in detail in a plurality of stages.
- the power status information signals N16, N17, and N18 that are the outputs of the plurality of stages of comparison circuits 68 are either “0” or “1”, respectively.
- the combinations are [0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1 ], [1, 1, 0], [1, 1, 1]. Any one of these data arrays is set in a plurality of stages of status registers 69.
- the table conversion circuit 72 is provided on the output side of the plurality of stages of status registers 69. However, considering the function, the table conversion circuit 72 may be provided on the input side of the plurality of stages of status registers 69. .
- the drive rate of the voltage generator is described as 25% or less, 50% or less, 75% or less, or 100% or less, but it can be freely adjusted in advance to the drive rate required in the system by setting the reference voltages VREF_Duty0 to VREF_Duty2. It is possible to keep. Therefore, for example, it may be set as 50% or less, 60% or less, 80% or less, or 90% or less.
- the other configurations are the same as those in FIG. 61 in the case of the fifteenth embodiment, and thus description thereof is omitted.
- FIG. 64 is a timing chart showing the operation of the power supply circuit 20 of the embodiment 33 configured as described above.
- three reference voltages VREF_Duty2, VREF_Duty1, and VREF_Duty0 are set.
- Three power supply status information signals N16, N17, and N18 are acquired.
- the power state notification signal Q2 is 2-bit data.
- ⁇ 69 [State Transition Detection Unit]
- the power status of the power circuit for the memory system is confirmed regularly or irregularly by polling by the flash memory controller.
- a delay is generally generated from the timing when the power supply state is changed. The interrupt method shown here eliminates this delay.
- the voltage state monitoring unit includes a state transition detection unit that generates and outputs an interrupt signal when there is a change in the contents of the status register on the output side of the status register. It is configured.
- This section can be applied to a power supply circuit for a memory system with one aspect of the number of status registers, or applied to a power supply circuit for a memory system with two or more status registers. Is also possible.
- the state transition detection unit detects it and outputs an interrupt signal to the flash memory controller.
- the flash memory controller receives the interrupt process, it immediately accesses the status register and acquires the power state information at the timing of the power state transition.
- the system only needs to check the power state notification signal when the power state transition notification signal transitions, and the system configuration can be simplified.
- the flash memory controller does not need to constantly check the power state notification signal by polling, and can simplify the system configuration.
- Example 34 A specific example of the above-described configuration of ⁇ 69 >> will be described below as Example 34.
- FIG. 65 is a block diagram showing the configuration of the power supply circuit for the memory system in the embodiment 34 of the present invention.
- this embodiment further includes a state transition detection unit 73 that generates an interrupt signal and outputs it to the flash memory controller 10 side when the contents of the status register 69 change. It has been.
- the state transition detection unit 73 includes a plurality of stages of registers 74, a plurality of stages of exclusive OR gates 75, and an OR gate 76.
- the number of stages of the register 74 and the number of stages of the exclusive OR gate 75 are the same as the number of stages of the status register 69.
- the data input terminal of the register 74 is connected to the data output terminal of the status register 69, and the clock input terminal is connected to the output terminal of the counter circuit 70.
- the data output terminal of the register 74 and the data output terminal of the status register 69 are connected to the input terminal of the exclusive OR gate 75.
- the output terminal of the exclusive OR gate 75 is connected to the input terminal of the OR gate 76, and the output terminal of the OR gate 76 is connected to the power supply state transition notification terminal T4.
- the power state transition notification terminal T4 is connected to the flash memory controller 10.
- the state transition detection unit 73 detects the presence / absence of a state transition by performing a before / after comparison of data in the status register 69, and outputs it as a power state transition notification signal Q2 ′.
- Other configurations are the same as those in FIG. 63 in the case of the sixteenth embodiment, and thus description thereof is omitted.
- FIG. 66 is a timing chart showing the operation of the power supply circuit 20 of the embodiment 34 configured as described above.
- the second status register 69 will be described below.
- the reference voltage of the second-stage comparison circuit 68 is VREF_Duty1.
- the integration signal N15 exceeds the level of the reference voltage VREF_Duty1
- the power supply state information signal N17 becomes active, and the “H” level is set in the second stage status register 69 at the rising timing of the inverted signal N12 of the inverter 65.
- Signinfo [1] of the output of the status register 69 is switched from the “L” level to the “H” level.
- the power state transition notification signal Q2 ′ becomes active immediately at the falling timing of the count value signal N11.
- the activated power state transition notification signal Q2 ′ is reset at the next rising timing of the count value signal N11 and returned to the “L” level.
- the second status register 69 system is a description of the second status register 69 system, but the same applies to the first status register 69 system and the third status register 69 system. That is, when the integration signal N15 exceeds the reference voltage VREF_Duty0, the power state transition notification signal Q2 ′ becomes active immediately at the falling timing of the count value signal N11, and when the integration signal N15 exceeds the reference voltage VREF_Duty2, the count value signal N11 The power state transition notification signal Q2 'becomes active immediately at the falling timing.
- the power state transition notification signal (interrupt signal) Q2 ′ is set to “H” level to notify the system.
- ⁇ 70 [Overload detection unit]
- ⁇ 67 power supply circuit for the memory system referring to the multi-stage status register, a configuration having an overload detection function is conceivable.
- an overload detection unit for detecting an overload state in the voltage generation unit is added.
- the overload detection unit receives a power supply voltage change signal from the voltage generation unit, detects an overload state of the voltage generation unit based on the power supply voltage change signal, and outputs the overload detection signal to the flash memory controller. It is configured as follows. When the power supply state (driving rate) of the voltage generation unit is proceeding to overload, this is detected in advance and an attempt is made to take a countermeasure.
- Example 35 A specific example of the configuration of ⁇ 70 >> will be described below as Example 35.
- FIG. 67 is a block diagram showing the configuration of the power supply circuit for the memory system in Embodiment 35 of the present invention.
- an overload detector 77 is further provided on the output side of the integrating circuit 67 in the voltage state monitor 60.
- the overload detection unit 77 includes an overload detection comparison circuit 78 that compares the integration signal N15 output from the integration circuit 67 with a reference voltage VREF_Over, and an overload detection status register 79. .
- the output terminal of the comparator circuit 78 for detecting overload is connected to the data input terminal of the status register 79 for detecting overload, and the output terminal of the inverter 65 is connected to the clock input terminal of the status register 79 for detecting overload. ing.
- the data output terminal of the overload detection status register 79 is connected to the input terminal of the table conversion circuit 72.
- the output terminal of the comparison circuit 78 for detecting overload is connected to the reset terminal of the counter circuit 70.
- the level of the reference voltage VREF_Over in the comparison circuit 78 for detecting overload is set higher than the highest level VREF_Duty2 in FIG. 65 (see FIG. 68).
- a counter reset signal N19 output from the overload detection comparison circuit 78 and detected by overload is supplied to the counter circuit 70 to reset the counter circuit 70.
- the output of the status register 79 corresponding to the overload detection comparison circuit 78 is assigned as the most significant bit “Fh” of Signinfo [3: 0].
- FIG. 68 is a timing chart showing the operation of the power supply circuit 20.
- power supply voltage change signal N10 output from comparison circuit 57 of voltage generation unit 50 is always at "H" level.
- the count-up operation does not proceed and the same state is maintained.
- the power supply voltage change signal N10 is continuously integrated by the integration circuit 67.
- the integration signal N15 by the integration circuit 67 is compared with the reference voltage VREF_Over in the overload detection comparison circuit 78, and the counter reset signal N19 is switched from the “L” level to the “H” level.
- This “H” level counter reset signal N 19 resets the counter circuit 70.
- the output signals of the comparison circuit 68 of the plurality of stages and the comparison circuit 78 for overload detection are output to the status register 69.
- the status register 79 for detecting overload At that timing, the overload detection signal Q5 output from the overload detection status register 79 switches from the “L” level to the “H” level.
- the voltage state monitoring unit is configured as follows. In other words, after adding a setting register that holds the comparison value (power supply state comparison value) of the power supply state (drive rate) of the voltage generator that is set and input from the outside, the contents held in the multi-stage status register and the setting register.
- the configuration further includes a logic comparison circuit that compares the stored contents and activates the power state notification signal and outputs it to the flash memory controller when the former becomes equal to or greater than the latter.
- the voltage state monitoring unit as follows. That is, after adding a setting register that holds a comparison value (power supply state comparison value) of the power supply state (driving rate) of the voltage generation unit that is set and input from the outside, the conversion contents of the table conversion circuit and the setting register
- the configuration includes a logic comparison circuit that compares the stored contents and activates the power state notification signal and outputs it to the flash memory controller side when the former becomes equal to or greater than the latter.
- an arbitrary power state comparison value is set in the setting register by the user's operation.
- any one of a plurality of power supply state comparison value candidates is selected and set.
- Example 36 A specific example of the configuration of the above ⁇ 71 >> and ⁇ 72> will be described below as Example 36.
- FIG. 69 is a block diagram showing a configuration of a power supply circuit for a memory system in Embodiment 36 of the present invention.
- a rewritable setting register 80 and a logic comparison circuit 81 are further added to FIG. 63 in the case of the embodiment 33 of ⁇ 68 >>.
- the setting register 80 sets a power state comparison value (target drive rate) that the user desires regarding the power state of the voltage generator 50, and the user can arbitrarily change the contents.
- T5 is a drive state setting terminal for sending the target drive rate from the flash memory controller 10 to the setting register 80 in the form of a drive state setting signal Q6.
- the logic comparison circuit 81 compares the contents of the table conversion circuit 72 and the contents of the setting register 80, generates a power state notification signal Q2 when the former becomes equal to or greater than the latter, and externally supplies power from the power state notification terminal T2. It is configured to output to the flash memory controller 10.
- the drive rate of the voltage generator 50 set in the multi-stage status register 69 is converted into a data format in which the number of bits is reduced by the table conversion circuit 72.
- a power supply state comparison value (target drive rate) corresponding to the data format of the table conversion circuit 72 is set. Since other configurations are the same as those in FIG. 63, the same reference numerals are given to the same portions, and descriptions thereof are omitted.
- the logic comparison circuit 81 the logic value set in the status register 69 of a plurality of stages and bit-converted by the table conversion circuit 72 is compared with the power supply state comparison value set in the setting register 80. When the converted logic value is less than the power supply state comparison value, the logic comparison circuit 81 outputs the “L” level power supply state notification signal Q2. When the converted logic value is equal to or higher than the power supply state comparison value, the logic comparison circuit 81 outputs a power supply state notification signal Q2 of “H” level.
- the power supply state notification signal Q2 indicates whether or not the current driving rate of the voltage generator 50 is equal to or higher than the desired state of the system in binary (0/1). Notifies the flash memory controller 10 of the power supply state notification signal Q2 on which such information is superimposed. In this way, by setting the expected value of the system (power supply state comparison value), the drive rate of the voltage generator 50 can be confirmed in detail and with the power supply state notification signal Q2 of a few bits.
- FIG. 70 is a timing chart showing the operation of the power supply circuit 20. It is assumed that the driving state setting “2h” is set in the setting register 80 in advance. This set value corresponds to a driving rate of 75%.
- the integration signal N15 output from the integration circuit 67 rises in a smooth step shape over time.
- the power supply state information signal N18 is logically inverted and becomes “H” level.
- the power supply state information signals N16, N17, and N18 that are the outputs of the plurality of stages of comparison circuits 68 change from [0, 0, 0] to [0, 0, 1].
- the power supply state information signal N17 is logically inverted and becomes “H” level.
- the power supply state information signals N16, N17, and N18 change from [0, 0, 1] to [0, 1, 1].
- Signinfo [2: 0] of the output of the multi-stage status register 69 since it is not the reset timing by the count value signal N11, there is no change in Signinfo [2: 0] of the output of the multi-stage status register 69.
- the present embodiment it is possible to easily grasp the state of the voltage generation unit 50 with respect to the power supply state comparison value (expected value) of the system.
- the voltage generation unit 50 is notified as a binarized value as to whether or not it is in a desired operation state.
- the system can arbitrarily rewrite the setting register 80 to easily detect the state of the voltage generator 50, and the load of the power control signal Q1 or the voltage generator 50 can be optimized according to the detection result.
- this embodiment can be configured by combining the interrupt notification signal shown in FIG. 65 in the case of the embodiment 34 and the overload signal shown in FIG. 67 in the case of the embodiment 35. If the table conversion circuit 72 is omitted, the data format set in the setting register 80 is assumed to correspond to the data format of the multi-stage status register 69.
- ⁇ 73 [Overload detection unit]
- an overload detection unit for detecting an overload state in the voltage generation unit is added to the voltage state monitoring unit.
- the overload detection unit receives a power supply voltage change signal from the voltage generation unit, detects an overload state of the voltage generation unit based on the power supply voltage change signal, and outputs the overload detection signal to the flash memory controller. It is configured as follows. In this case, measures are taken when it is found that the power supply state (driving rate or margin) has progressed to the overload region.
- Example 37 A specific example of the configuration of ⁇ 73 >> will be described below as Example 37.
- FIG. 71 is a block diagram showing a configuration of a power supply circuit for a memory system in Example 37 of the present invention.
- the present embodiment is configured by combining an overload signal with the configuration of FIG. 69 in the case of the thirty-sixth embodiment.
- an overload detection unit 77 is provided on the output side of the integration circuit 67.
- the overload detection unit 77 includes a comparison circuit 78 for detecting overload that compares the integration signal N15 output from the integration circuit 67 with the reference voltage VREF_Over, and a status register 79.
- the output terminal of the comparison circuit 78 for detecting overload is connected to the data input terminal of the status register 79, and the output terminal of the inverter 65 is connected to the clock input terminal of the status register 79.
- the data output terminal of the status register 79 is connected to the input terminal of the table conversion circuit 72.
- the output terminal of the comparison circuit 78 for detecting overload is connected to the reset terminal of the counter circuit 70.
- the level of the reference voltage VREF_Over in the comparison circuit 78 for detecting overload is set higher than the highest level VREF_Duty2 in FIG.
- the counter reset signal N19 output from the overload detection comparison circuit 78 is supplied to the counter circuit 70 to reset the counter circuit 70.
- the output of the status register 79 corresponding to the overload detection comparison circuit 78 is assigned as the most significant bit of the power supply state notification signal Q2.
- FIG. 72 is a timing chart showing the operation of the power supply circuit 20.
- power supply voltage change signal N10 output from comparison circuit 57 of voltage generation unit 50 is always at "H" level.
- the count-up operation does not proceed and the same state is maintained.
- the power supply voltage change signal N10 is continuously integrated by the integration circuit 67.
- the integration signal N15 by the integration circuit 67 is compared with the reference voltage VREF_Over in the overload detection comparison circuit 78, and the counter reset signal N19 is switched from the “L” level to the “H” level.
- This “H” level counter reset signal N 19 resets the counter circuit 70.
- the output signals of the comparison circuit 68 of the plurality of stages and the comparison circuit 78 for overload detection are output to the status register 69 And the status register 79 for detecting overload.
- the status of the four status registers 69 and 79 is [1, 1, 1, 1], which is “Fh”. That is, the overload detection signal Q5 is output from the table conversion circuit 72 to the flash memory controller 10 from the terminal T6.
- the stability of the voltage generation unit 50 can be notified by notifying the system of the presence or absence of overload.
- ⁇ 74 [Power supply state (drive rate or margin) detection with multiple bits]
- the configuration in which the multi-bit signal is held in the status register as the power supply state information signal in the voltage state monitor unit of the power supply circuit for the memory system of ⁇ 62 >> described above is another configuration. That is, instead of using an integration circuit, a delay circuit, and a plurality of comparison circuits in the voltage state monitoring unit, a plurality of comparison circuits are used in the voltage generation unit. In this configuration, the integration circuit and the delay circuit are not necessary.
- a power supply voltage change signal that feedback-controls the oscillation frequency of the oscillation circuit is used as a signal transmitted from the voltage generation unit to the voltage state monitoring unit as a clue to know the power supply state of the voltage generation unit.
- the power supply voltage change signal may be a 1-bit signal, but may be a multi-bit signal.
- a configuration for generating a power supply voltage change signal of a multi-bit signal will be described.
- a plurality of comparison circuits are provided.
- the plurality of comparison circuits are commonly input with the output voltage of the voltage generation unit or a voltage obtained by detecting the output voltage.
- different reference voltages are applied to the plurality of comparison circuits.
- the outputs of the plurality of comparison circuits control the oscillation frequency of the oscillation circuit. Further, these outputs are sent as a power supply voltage change signal to the subsequent voltage state monitoring unit.
- the voltage state monitoring unit has a plurality of stages of status registers for holding changes in the power supply voltage change signal each time. Output terminals of the plurality of comparison circuits of the voltage generator are connected to input terminals of a plurality of stages of status registers, respectively.
- the power supply circuit for the memory system according to this section is configured in the above ⁇ 62 >>, and the voltage generation unit further includes a plurality of comparison circuits that generate a multi-bit signal as the power supply state notification signal, and the voltage state
- the monitor unit has a multi-stage status register that latches a power state notification signal of a multi-bit signal.
- the power state notification signal of a multi-bit signal for example, a multi-bit signal that sets the frequency of the oscillation circuit is used.
- the multi-bit signal has the same meaning as the power supply state of the voltage generator. Therefore, the power status notification signal of the multi-bit signal may be stored in the status register, read from the status register, and output to the outside of the power supply circuit via the voltage status monitor unit. As a result, by using an existing multi-bit signal, an integration circuit or the like is unnecessary, and the area and current consumption can be reduced.
- Example 38 A specific example of the configuration of ⁇ 74 >> will be described below as Example 38.
- FIG. 73 is a block diagram showing the configuration of the power supply circuit for the memory system in Embodiment 38 of the present invention.
- the voltage generation unit 50 includes an oscillation circuit 54, a plurality of booster circuits 55, a voltage detection unit 56, and a comparison circuit 57 having a plurality of differential amplifiers.
- the comparison circuit 57 has a plurality of stages, which is different from the embodiments described so far.
- the output terminal of the voltage detection unit 56 is connected to the inverting input terminal ( ⁇ ) of each of the plurality of comparison circuits 57, and the reference voltages VREF_Duty 2, VREF_Duty 1, VREF_Duty 0, VREF_Over are connected to the non-inverting input terminals (+) of each of the plurality of comparison circuits 57. Is applied.
- the order of the plurality of reference voltages is VREF_Duty2 ⁇ VREF_Duty1 ⁇ VREF_Duty0 ⁇ VREF_Over, which is opposite to the case of the twentieth embodiment as can be seen from comparison with FIG.
- the reverse relationship is to control the oscillation frequency of the oscillation circuit 54 as negative feedback control.
- a signal Fosc indicating the oscillation frequency in the oscillation circuit 54 is input to the counter circuit 70.
- the output terminal of the comparison circuit 57 is connected to the frequency control terminal of the oscillation circuit 54, and is further connected to the input terminal of the voltage state monitor unit 60.
- Output terminals of the plurality of comparison circuits 57 in the voltage generator 50 are connected to data input terminals of a plurality of stages of status registers 69 in the voltage state monitor 60.
- the integration circuit 67, the delay circuit 66, the transfer gate 64, and the AND gate element 71 in FIG. 71 are not used.
- Other configurations are the same as those in FIG. 71 in the case of the twentieth embodiment.
- the voltage state monitoring unit 60 captures a discrete value (corresponding to the driving rate of the voltage generation unit 50) that the voltage generation unit 50 has therein, and then converts it into the captured discrete value. Based on this, the driving rate of the voltage generator 50 is calculated, and the calculation result is output as the power supply state notification signal Q2.
- the discrete value corresponding to the frequency Fosc or the like is a discrete value corresponding to the drive rate of the voltage generation unit 50.
- Trm [2: 0] 7 to 0h
- Trm [2: 0] corresponds to a discrete value.
- FIG. 74 is a timing chart showing the operation of the power supply circuit 20.
- the output voltage in the voltage generation unit 50 decreases with respect to the time axis.
- the divided voltage Vr divided by the resistance also decreases.
- Trm_over + Trm [2: 0] is output as a comparison result in the plurality of comparison circuits 57.
- the voltage state monitor unit by supplying the voltage state monitor unit with a discrete value that can monotonously increase or monotonously decrease the current capability of the output voltage provided in the voltage generation unit 50, the voltage state monitor unit The circuit scale can be reduced.
- the power state notification signal Q2 by 1 bit or multiple bits, and output the power state transition notification signal Q2 'as an interrupt signal. Is also possible. If the oscillation frequency of the oscillation circuit 54 is low, the counter circuit 70 is not necessary.
- the voltage generator may be configured with a DC-DC converter circuit.
- the 39th embodiment in which the voltage generator is constituted by a DC-DC converter circuit will be described below.
- FIG. 75 is a block diagram showing the configuration of the voltage generator of the power supply circuit for the memory system in the embodiment 39 of the present invention.
- the voltage generator 50 is composed of a DC-DC converter.
- the switching element 92 is on / off controlled by a power supply voltage change signal N10 of a PWM (pulse width modulation) signal from the comparison circuit 57.
- a direct current from the DC power supply voltage VDD flows through the choke coil 91 and the switching element 92, and as a result, electric energy is stored in the choke coil 91.
- the switching element 92 When the switching element 92 is off, the electrical energy stored in the choke coil 91 is released at once, and the released electrical energy is charged to the smoothing capacitor 94 via the backflow prevention diode 93.
- a boosted power supply voltage is generated at the positive terminal of the smoothing capacitor 92.
- the generated power supply voltage is supplied to the flash memory 26 from the terminal T3.
- the backflow prevention diode 93 prevents backflow from the smoothing capacitor 94 when the switching element 92 is on.
- the power supply voltage is detected by the voltage detector 56 on the other hand, and the detected power supply voltage is compared with the reference voltage VREF_V in the comparison circuit 57.
- the output of the comparison circuit 57 has a PWM (pulse width modulation) waveform, is used for on / off control of the switching element 92, and is sent to the voltage state monitoring unit 60 at the next stage as a power supply voltage change signal N10.
- the voltage generation unit may be constituted by a multi-bit DC-DC converter circuit as shown in FIG.
- a plurality of comparison circuits 57 are provided. This can be applied to the configuration of FIG.
- the power generation unit may be configured as shown in FIG. That is, the switching element 96 is turned on / off by the output of the operational amplifier 95.
- the signal of the voltage detection unit 56 is applied to the input terminal of the operational amplifier 95, the output of the operational amplifier 95 is switched between “H” and “L”, and the voltage is boosted.
- the flash memory 26 has some information to be transmitted to the flash memory controller 10 when an inquiry is received from the flash memory controller 10.
- the information includes a power level, a voltage value, a pulse width, the number of fail bits, a processing time, a processing time, and the like.
- FIG. 78 is an explanatory diagram for storing power parameters in the flash memory 26.
- the problem in the current flash memory will be verified again.
- the power consumption of the storage system operation becomes a problem.
- the power consumption of the system increases the cost of the system power supply and heat dissipation. For these reasons, it is desirable to reduce current consumption during flash memory operation.
- a booster circuit that generates a high voltage of 20 V or more has low power efficiency, and consumes many times as much power as required to change the threshold value of a memory cell in program and erase operations.
- a booster circuit is provided for each flash memory chip. When the operation is executed, the power consumption becomes enormous, which hinders the power supply design in the system.
- the flash memory 26 includes a register 34 that indicates a power level consumed by the flash memory 26 in each operation mode (an operation mode indicating a program execution operation or a data erasing operation for the flash memory).
- the external power supply circuit (power supply circuit 20) of the flash memory 26 can be controlled in accordance with the power level indicated by the register 34, so that the flash memory 26 can be operated with low consumption. Therefore, applying this configuration to a system that uses a large number of flash memories, such as a storage system, is extremely useful in reducing the power consumption and improving the performance of the system.
- the flash memory controller 10 can adjust the operating power (current) load of the power supply circuit 20 at a desired timing based on the power level notified from the flash memory 26.
- the power transmission of the plurality of flash memories 26 can be managed with high accuracy (for example, current consumption can be tuned to low consumption).
- the power supply circuit 20 is not required to have an excessive power supply capability (corresponding to a high peak current, etc.), and is specified by a command when a power level is set at the time of or before inputting a read / rewrite command of the memory. It is possible to reserve in advance the power supply by the power supply circuit 20 that is necessary for the execution of the process.
- the flash memory 26 includes an internal controller 33, a command register 34, and a nonvolatile memory area 36, as shown in FIG.
- the command register 34 a command exchanged with the flash memory controller 10 is set.
- the command register 34 is provided with a plurality of fields including operation mode setting bits, power level setting bits, and other bits, and various commands are provided in these fields.
- the command set in the command register 34 has fields for setting the operation mode P1, the power level P2, and the like. As a result, it is possible to provide a field relating to the power level in commands (read, program, erase, etc.) that require power management.
- the flash memory controller 10 As a result, it is possible to clearly set the power load when these commands are issued, which makes it easier for the flash memory controller 10 to manage the power information. If a command for changing only the power level is provided as a command, the power level can be designated in advance by a command that requires power management. Therefore, it is not necessary to directly designate the power level, and the command input ( In the case of NAND flash, the reduction of the data transfer bandwidth at the IO terminal and its control signal is suppressed.
- the non-volatile memory area 36 (NV: Non-Volatile area) is a first and second storage unit, and the non-volatile memory area 36 includes power information such as current consumption for each power level (first Information) and execution time information (second information indicating the processing speed of the flash memory 26 at each power level) are stored. These first and second information reflect individual differences of the flash memory 26. By storing the first information, a simple command format (common standard regardless of product type) that does not accompany variations in operating power or operating speed (mainly due to product specifications and manufacturing process) in the flash memory 26. Can be handled. Furthermore, by storing the second information, it becomes possible to incorporate the processing speed information into the power management, which makes it possible to predict the operating power (current load) of the external power supply in time, and in the memory system Power management is more accurate and high quality.
- first Information current consumption for each power level
- second information indicating the processing speed of the flash memory 26 at each power level
- the operation modes include a read mode, a write mode, a write verify mode, an erase mode, an erase verify mode, and an operation stop mode.
- Each mode is associated with parameters such as power information such as current consumption and operation time (processing time) associated with each mode. These parameters and the like are output from a dedicated terminal of the flash memory 26 and transferred to the flash memory controller 10.
- the flash memory 26 is further provided with a control terminal for designating the power level in the operation stop mode (corresponding to the flash memory stop signal or the pause control input in FIGS. 83 and 86). To do). Then, the control terminal for designating the power level in the operation stop mode becomes a dedicated pin, and the flash memory 26 can be stopped at high speed according to the designated power level asynchronously with the command access. In this case, it goes without saying that the flash memory 26 can be restored at high speed. Furthermore, in the configuration in which the operation stop mode is set, the internal controller 33 allows access to the power register 1133 and the internal operation state register 1132 even in the flash memory 26 that is executing (pause) the operation stop mode.
- the control logic 1114, the internal controller 33, the command register 34, the status register 1122, the address register 1120, the input / output circuit 1112, The data register 1109 is operable.
- the internal controller 33 is a controller that controls the memory and exchanges various signals with the flash memory controller 10.
- the internal controller 33 is provided with an internal operation state register and a power register (register in the present invention).
- the internal operation state register is configured to store an operation state in an operation mode such as a write operation or a read operation related to a command from the flash memory controller 10, and the power register consumes the flash memory 26 in each operation mode.
- the power level to be stored is stored.
- the internal controller 33 transfers and stores various parameters read from the nonvolatile memory area 36 to the internal operation state register and the power level register.
- the internal operation state register stores the voltage level, the write count information, the pulse width, etc. in the current operation. Furthermore, the voltage level, the number of write times information, and the predicted value of the pulse width in the subsequent operation are also stored in the internal operation state register. The number of retries and the number of fail bits are also stored.
- the internal controller 33 controls the necessary voltage, current, etc. of the power supply circuit 20 by notifying the external flash memory controller 10 of the voltage level and application time information regarding the bias of the flash memory 26.
- the accompanying power information such as current consumption and operation time are read from the nonvolatile memory area 36 in the flash memory 26, stored in the internal operation state register, and transferred to the flash memory controller 10.
- the internal operation state register may be accessed from the IO terminal to extract the internal operation state and change information.
- the operation of the flash memory includes a mode operation distinguished by a user command and an operation unit called a micro sequence that constitutes these operations.
- Microsequences are defined hierarchically.
- the flash memory executes a series of processes in units of microsequences under the operation clock under the control of the internal controller 33 in executing processes such as a write / erase operation and a write or erase verify operation. It is broken down into microsequences of command input, internal power supply setup, program verify, program pulse application, erase verify, and erase pulse application.
- FIG. 79 shows an example in which the power control for the program operation is performed by inserting the micro sequence for changing the power mode into the program sequence.
- the power sequence update microsequence consists of program (write), before verify (between command input and program verify, and between program counter increment and program verify), before program pulse application (program for program counter reset and write operation) It is inserted in three places (during pulse application).
- Program verify consists of a setup PV (Program Verify) configured by changing the circuit configuration necessary for the program verify operation and internal potential preparation, and a microsequence below the actual program verify (Vt margin read). Is done.
- the program pulse application includes a setup PU (PUlse) configured by changing the circuit configuration necessary for the program pulse application operation, preparing an internal potential, and the like, and an actual pulse application microsequence.
- FIG. 79 Each step in FIG. 79 corresponds to a microsequence unit. The point of this section is to execute the power mode update in units of microsequences.
- FIG. 80 shows details of the power mode update sequence.
- the power level setting bit is read.
- the power parameter prepared in advance for each micro sequence for performing power control is set and changed corresponding to the changed power level setting bit.
- three power parameters are changed and adjusted: • control sequence clock change, • power supply capability change, and power supply setup time change. For example, consider a power reduction operation. When the clock frequency of the control sequence is lowered, the operation per unit time is reduced and the current consumption is reduced.
- the power supply is a booster circuit such as a charge pump
- the current drive capability is reduced by reducing the parallelism of the booster circuit and the booster clock frequency, and the power consumption is reduced. It is necessary to extend the charging time setup time of the internal power supply node due to a decrease in current driving capability. In general, when a circuit is operated with low power, the processing time is extended.
- the power parameter is not limited as long as the power can be changed.
- Examples of the power parameter include the number of simultaneous bits of the program, the number of simultaneous bits of reading, the parallelism of the program, and the parallelness of the reading bits.
- it is a control point to prepare a power parameter in advance for each micro sequence for performing power control corresponding to the power level setting bit.
- These power parameters can be set by the control logic circuit.
- the power parameters are stored in the nonvolatile memory area, complicated power control can be realized with a small circuit area.
- storing the power parameter in a volatile memory such as a RAM when the power is turned on can suppress a decrease in processing speed due to the insertion of the power mode update sequence.
- FIG. 81A to 81C an example in which the power level is set when the process specified by the command is executed will be described.
- the power level is handled in the form of the consumption current Ipp of Vpp.
- 81A to 81C are current consumption profiles schematically showing temporal changes in the current consumption Ipp when a program command is executed at a specific power level (in the erase command, the program pulse is the erase pulse, and the program verify is This is similar to erase verify).
- Cmd is a command input.
- SetUp is a power supply setup operation for setting the program mode. Pulse is application of a program pulse, VerifyRD is program verify, and RDSTBY is in a read standby state.
- a large power level value corresponds to the large current consumption side.
- a large power level value may correspond to the small current consumption side, or the current level value may simply be treated as an index indicating the current consumption range.
- a command with a smaller current consumption has a longer operation clock cycle in the memory and a longer command execution time, but the driving capability required for the power supply can be suppressed.
- FIG. 82A shows a current consumption profile when the state is changed from the high power consumption state prioritizing the processing speed to the low power consumption state prioritizing the power consumption.
- FIG. 82B is a current consumption profile when the state is changed from the low power consumption priority state to the power consumption priority state to the power consumption priority high power consumption state.
- FIGS. 82A to 82B all have the power level changed in units of microsequences.
- dynamic power saving control adapted to circuit characteristics and characteristic variations of the flash memory to be accessed is realized.
- the flash memory 26 includes a memory cell array 1102 for storing data.
- the memory cell array 1102 has nonvolatile memory cells arranged in an array and stores information by changing the threshold value of the memory cell.
- the threshold value of the memory cell can be set high by the program operation, and the threshold value of the memory cell can be set low by the erase operation. Access to the memory cell array 1102 is performed in page units in read and program operations, and access is performed in block units in erase operations.
- the page is designated by a specific word line selected by the row decoder 1104.
- memory cell storage data of the designated page is determined by the sense amplifier 1108 and transferred to the data register 1109.
- the data transferred to the data register 1109 is sequentially read from the start point specified by the column decoder 1106 to the input / output circuit 1112 and output to the IO terminal which is an input / output terminal.
- data input from the IO terminal is sequentially taken into the data register 1109 from the start point specified by the column decoder 1106 and then specified in the auto program mode. Is transferred to the page to be updated.
- an erasing voltage is applied to a block specified by a plurality of word lines selected by the row decoder 1104, whereby the memory cells in the block are set to an erasing state.
- the flash memory 26 includes a VCC voltage terminal such as 3 V supplied to a logic circuit, a sense amplifier 1108, and the like, and further, high voltage power supply terminals (VPP [1: VPP [1: VPP3: VPP1, VPP3, VPP3) that receive a voltage higher than VCC. 3]).
- VPP high voltage power supply terminals
- a program / erase voltage, a verify voltage, and a read voltage are input to the high voltage power supply terminals VPP1, VPP2, and VPP3.
- the circuit block in the flash memory 26 operates by the voltage applied to the high voltage power supply terminals VPP1, VPP2, and VPP3, or is generated by the voltage generation circuit 1130 based on the voltage applied to the high voltage power supply terminal terminals VPP1, VPP2, and VPP3. Operates according to the voltage generated.
- the internal operation state register 1132 is for holding an operation state in an operation mode such as a write operation or a read operation related to a command from the flash memory controller 10.
- the operation state here indicates a sequence execution state when the flash memory 1100 receives an auto program or auto block erase command and the controller 1116 executes a program or erase operation sequence.
- the internal operation state register 1132 includes an operation mode being executed, a voltage application repetition count (verification count) when executing an auto program or auto block erase sequence, an applied voltage value, an applied pulse width, an applied pulse interval, and an error during verify execution.
- the number of bits is set as information.
- the power register 1133 is composed of digital bits that specify a power level.
- the power level indicates the level of power consumed by the flash memory 26 in each operation mode.
- FIG. 84 illustrates the following power levels. That is, in FIG. 84, the max consumption current (0 mA, 30 mA, 60 mA, 120 mA) is further added to the setting bits (00, 01, 10, 11) associated with the power levels (0, 1, 2, 3). It is associated. More specifically, these correspond to each microsequence.
- the micro sequence being executed can also be set in the internal operation status register 1132.
- the internal operation state and power level values of the internal operation state register 1132 and the power register 1133) are changed.
- the generated internal operating state and power level can be notified to the outside.
- a storage system including the flash memory controller 10 and the power supply circuit (high voltage generation circuit) 20 it is possible to control the power supply circuit (high voltage generation circuit) according to the operation status inside the flash memory. Become.
- the voltage generation circuit necessary for the internal operation of the flash memory is operated (the power supply circuit unnecessary for the internal operation is not operated), thereby suppressing unnecessary current consumption and realizing a low-consumption operation of the system. be able to.
- the internal operation state register 1132 and the power register 1133 are provided with IO terminals, and commands and addresses are input to the flash memory 26 via the IO terminals, and data is input / output. May be. Then, the internal operating state (information register value) and power level can be output to the outside without increasing the number of terminals. In a storage system using a large number of flash memories, the flash memory controller and flash Low power consumption can be realized without increasing the wiring between the memories.
- the flash memory 26 is provided with a dedicated read terminal Info so that the contents of the internal operation status register 1132 and the power register 1133 can be freely read regardless of the use status of the IO terminal. Also good. Then, the internal operation state register 1132 and the power register 1133 can be read from the outside regardless of the internal operation of the memory, and the internal operation state (internal operation state register 1132 or The timing constraint for reading the value of the power register 1133 is relaxed. Therefore, an information register change notification signal CHI (corresponding to the power interrupt output in FIGS. 83 and 86) indicating that the contents of the internal operation status register 1132 and the power register 1133 have been changed is sent from the flash memory controller outside the flash memory. Not only when it changes, but also when the flash memory controller 10 needs it, the contents can be read and the standby state of the power supply circuit can be controlled, so that it is possible to operate with lower power consumption. It becomes.
- CHI information register change notification signal
- the timing constraint relating to the reading of the operation state (information register value) in the flash memory from the internal operation state register 1132 and the reading of the power level from the power register 1133 can be eliminated, and the control of the high voltage generation circuit is free.
- the degree can be increased.
- the flash memory controller 10 can control the voltage generation circuit in each operation mode according to the flash memory 26 to be used, and can realize a system with lower power consumption. Further, it is possible to improve the program characteristics by controlling the number of flash memories 26 that perform simultaneous programming according to the power consumption characteristics of the flash memory 26 to be used.
- the internal controller 33 refers to the power level indicated by the power register 1133. However, the internal controller 33 may grasp the power level with reference to a signal input to the flash memory 26 from the outside of the memory. Then, the power level can be changed asynchronously with the command access (for example, by specifying the level).
- the processing of the flash memory can be appropriately executed based on the power supply state information received from the power supply circuit by the flash memory controller. It is possible to avoid unstable operation and system down in the system, improve data reliability, and eliminate the need for excessive power supply capacity to ensure stable operation. Can be suppressed.
- Flash memory controllers manufactured using miniaturized semiconductor manufacturing process technology are mainly large-scale logic integrated circuits, and their operating voltage is low to ensure the reliability of the transistors that make up the logic circuits. For example, when the minimum pattern size in manufacturing is 45 nanometers, the operating voltage is set to 1.2V.
- the non-volatile memory is a component used in a wide range of systems, and its input / output signal amplitude uses a relatively high voltage such as 3V or 5V in order to take advantage of versatility.
- a circuit that generates 3V or 5V is used.
- the flash memory controller configures the input / output circuit using a relatively high VDD voltage such as 3V or 5V so that the amplitude of the signal input / output to / from the outside is 3V or 5V, and the logic circuit
- a relatively high VDD voltage such as 3V or 5V
- VDDI relatively low internal operating voltage
- a regulator type is generally used for ease of manufacture.
- the signal processing block that consumes a large amount of operating current by operating operates at a relatively low operating voltage such as 1.2 V, the entire flash memory controller consumes a large amount of power.
- FIG. 87 is a block diagram showing a configuration of the nonvolatile memory system 100 according to another embodiment of the present invention.
- the nonvolatile storage system (storage device) 100 includes a flash memory controller 10, a power supply circuit 20, and a memory block 25 including a plurality of flash memories 26, as in the first embodiment shown in FIG. 1.
- the memory block 25 includes a plurality of flash memories 26.
- the flash memory controller 10 includes an input / output circuit 12 that performs input / output from / to the outside using a signal with a VDD voltage amplitude, and a signal processing block circuit 11 that performs signal processing using the internal voltage VDDI.
- the power supply circuit 20 includes a boost voltage generation unit that generates VHH used in the flash memory 26 from an input VDD voltage, and a high voltage generation unit that generates VDDI used in a signal processing block in the flash memory controller 10. It has.
- the power supply circuit 20 is connected to the rush memory 32 via the power supply line 44 and is connected to the flash memory controller 10 via the power supply line 45 in order to supply VDDI power to the signal processing block 11.
- the step-down voltage generator provided in the power supply circuit 20 is optimal for step-down operation without being constrained to be mixed with a large-scale logic integrated circuit. It can be configured with a device. Therefore, a highly efficient step-down circuit can be realized.
- FIG. 88 is a block diagram showing a configuration of a voltage generation unit of a power supply circuit for a nonvolatile memory system in still another embodiment of the present invention.
- Voltage generation unit 50 includes boosted voltage generation unit 100 and step-down generation unit 102 having the same configuration as the voltage generation unit shown in FIG. Both the step-up voltage generator 100 and the step-down generator 102 are constituted by DC-DC converters.
- the switching element 106 is ON / OFF controlled based on a power supply voltage change signal N20 of a PWM (pulse width modulation) signal from the comparison circuit 114.
- a PWM (pulse width modulation) signal from the comparison circuit 114.
- the switching element 106 is in the ON state, the DC power supply voltage VDD is output to the output terminal VDDI.
- the power supply voltage VDD is canceled by the self-induction of the choke coil 104, and the stepped down voltage is output to VDDI.
- the switching element 106 is in an OFF state, the voltage VDDI is held by the reduction current between the capacitor 110 and the diode 108.
- the comparison circuit 114 compares the divided voltage 112 of the output voltage divided by the voltage dividing resistor with the reference voltage VREF_V, and outputs the comparison result as the power supply voltage change signal N20.
- the switching element 106 is ON / OFF controlled based on the comparison result (power supply voltage change signal N20) of the comparison circuit 114.
- the output voltage of VDDI is determined by the control in the feedback loop driven by the power supply voltage change signal N20. In the configuration of this embodiment in which VDDI is set in this way, the output voltage of VDDI is set stably.
- the present embodiment that converts the voltage using switching of the current flowing through the choke coil can reduce power loss, and can obtain higher power efficiency than a regulator that discharges the step-down voltage by Joule heat.
- the technology of the non-volatile storage system according to the present invention is a large-capacity and high-speed non-volatile storage system such as an SSD (solid state drive) used in an operating environment in which execution states of a plurality of flash memories change dynamically. It is useful for exhibiting a high power consumption reduction effect.
- SSD solid state drive
- the technology of the present invention is a non-volatile storage system using a plurality of flash memories such as SSDs (Solid State Drives) and the like, an operation type that changes at any time, a change in execution status of a process specified by a command, an internal state of a power circuit Regardless of changes in the memory, individual differences in the flash memory group, etc., real-time, dynamic and fine-tuned power supply control is realized by continuous feedback and feedforward control, resulting in problems such as overload In order to avoid unstable operation and system down, improve data reliability, and reduce unnecessary power consumption in the system (it is not necessary to have excessive power capacity to ensure stable operation) Useful as technology.
- SSDs Solid State Drives
- Flash memory controller Flash memory operation management table 14 Data control unit 16 Power supply control unit 20 Power supply circuit for memory system 24 Overload register 25 Memory block 26 Flash memory 27 Internal controller 40 Parameter setting unit 50 Voltage generation unit 51 Voltage generation unit for logic 52 Voltage generator for reading 53 Voltage generator for writing / erasing 54 Oscillation circuit 55 Booster circuit 56 Voltage detection unit 57 Comparison circuit 60 Voltage state monitoring unit 61 For logic Voltage state monitoring unit 62 Voltage state monitoring unit for reading 63 Voltage state monitoring unit for writing / erasing 66 Delay circuit 67 Integration circuit 68 Comparison circuit 69 Status register 70 Counter circuit 72 Table conversion circuit 73 State transition detection unit 77 Overload detection Unit 80 Setting register 81 Logic comparison circuit 100 Non-volatile storage system (storage device) T1 Write / erase power supply terminal T2 Read power supply terminal T3 Verify power supply terminal T4 Internal state notification signal output terminal T5 Flash memory internal operation control signal input terminal T6 Applied voltage notification signal output terminal T7 Verify frequency notification signal output terminal T
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Power Sources (AREA)
- Memory System (AREA)
Abstract
フラッシュメモリの集合からなるメモリブロックと、その外部のフラッシュメモリ電源回路と、フラッシュメモリコントローラとを備える。フラッシュメモリ電源回路は、フラッシュメモリにおける処理の実行に必要となる複数種類の電圧レベルの電源を生成して給電する複数種類の処理実行用電源回路を有する。フラッシュメモリコントローラは、フラッシュメモリと連絡し合ってその内部状態の変化を監視して、処理実行用電源回路とフラッシュメモリとを制御する。
Description
本発明は、不揮発性記憶デバイスとしてフラッシュメモリを複数用いるSSD(Solid State Drive)やSD(Secure Digital)メモリカードなどの不揮発性記憶システムにかかわり、詳しくは、複数のフラッシュメモリの処理の実行状態がダイナミックに変化する動作環境下において、消費電力削減をできるだけ有利に展開するための技術と、電源状態がダイナミックに変化するメモリシステム用の電源回路にオーバーロード等の不具合が発生してもシステムがダウンしないよう動作を安定化させ、高いデータ信頼性を確保するための技術に関する。
近年、高速でのデータ処理が可能なSDメモリカード、メモリスティックといった記憶デバイスが普及している。これらの不揮発性記憶デバイスは、不揮発性記憶素子として複数のフラッシュメモリを備え、パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話、デジタルカメラ、オーディオプレーヤ、カーナビゲーションなどのホストに利用されている。
また、フラッシュメモリの低価格化に伴い、パソコンやデータセンタの分野において、ハードディスクドライブの代替としてフラッシュメモリを多数使用したSSD(ソリッドステートドライブ)の普及も進んでいる。
SSDは、記憶媒体としてフラッシュメモリを用いるドライブ装置である。ハードディスクドライブ(HDD)と同じ接続インタフェース(ATAなど)を備え、ハードディスクの代替として利用される。フラッシュドライブ(flash drive)、フラッシュメモリドライブ(flash memory drive)ともいう。SSDは、物理稼動部分がないため、読み書き中の振動に強い。読み取り装置(ヘッド)をディスク上で移動させる時間(シークタイム)や、目的のデータがヘッド位置まで回転してくるまでの待ち時間(サーチタイム)がなく、読み書きが高速である。
フラッシュメモリを用いたストレージデバイスのシステムは、複数のフラッシュメモリと、それを制御するフラッシュメモリコントローラを備えている。フラッシュメモリコントローラは、複数のフラッシュメモリとコントロールバスおよびデータバスによって接続されている。フラッシュメモリコントローラは、ストレージデバイスのホストからの要求に応じて、各フラッシュメモリを適宜選択してデータの読み出し、書き込み、消去などを行う。
読み出し動作に必要な電源電圧は最大で5V、書き込み/消去動作に必要な電源電圧は最大で20V、ベリファイ動作に必要な電源電圧は最大で10Vである(一例)。このため、フラッシュメモリの電源回路には、複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの処理実行用電源回路が設けられる。処理実行用電源回路とは具体的には、読み出し用電源回路、書き込み/消去用電源回路、ベリファイ用電源回路である。各処理実行用電源回路には昇圧回路が含まれる。フラッシュメモリでの処理の実行は、メモリセルアレイのページ単位やブロック単位で行われる。このときのフローティングゲートへの電荷の注入・引き抜きでは、対象のすべてのセルにおいて一度の動作で処理完了することはまれである。書き込み、消去動作の都度、読み出して正しく書き込み、消去ができたかを確認するベリファイ動作が行われる。正しく書き込みや消去が完了するまで、電源電圧を調節しながらリトライする。フラッシュメモリ内部のコントローラは、上記一連の動作を制御する。
また、ホストおよびスレーブ機器で使用する記憶デバイスでは、処理速度の向上のため、同時に複数のフラッシュメモリにアクセスする必要がある。フラッシュメモリの微細化によるフラッシュ単体での動作電流の増加、並びにホストの高速化によるデバイス機器への速度向上に対する要望の高まりから、デバイス機器のピーク電流が増大する傾向にある。フラッシュメモリへの供給電源に対する必要な電流能力が著しく高くなり、平均的に必要な電流能力との乖離が大きくなっている。また能力を超えて電流を供給するオーバーロードが発生することによる、システムダウン、フラッシュメモリのデータ信頼性低下が課題となっている。
従来、フラッシュメモリの電源回路をフラッシュメモリの内部に装備しているストレージデバイスがある。それは、フラッシュメモリごと個別に必要な電圧を発生させる。フラッシュメモリコントローラとフラッシュメモリ内部の電源回路との制御関係はない。フラッシュメモリコントローラは、フラッシュメモリに対してデータの読み出し、書き込み、消去だけを制御する。ここでは、システム全体の消費電力をきめ細かく制御するというコンセプトがなく、消費電力の増大が問題となっている。処理実行用電源回路の起動時の昇圧で消費する電力の抑制が課題となる。
近年はSSDのように、多数のフラッシュメモリを使った大容量・高速な不揮発性記憶システムが増えてきている。特に高速化のためには複数のフラッシュメモリを同時にアクセスする必要があり、システム全体の消費電力の抑制が課題である。
従来、フラッシュメモリに対する電源回路をフラッシュメモリの外部におく提案がある(例えば特許文献1,2参照)。それは、フラッシュメモリのチップの面積を削減するものである。
フラッシュメモリ外部の電源回路から複数種類の電源を供給する提案もある(例えば特許文献3,4参照)。それは、複数のフラッシュメモリの電源と外部の電源回路とを電源バスで接続し、相互に電源を供給するものである。
近時、フラッシュメモリの微細化によるフラッシュ単体での動作電流の増加およびホストの高速化によるデバイス機器への速度向上に対する要望が高まっている。高速動作の不揮発性記憶システムでは、処理速度向上のため、同時に複数のフラッシュメモリにアクセスする。
しかし、メモリブロックにおけるフラッシュメモリの個数が多くなるほど、またフラッシュメモリ電源回路における処理実行用電源回路の種類数ないし個数が多くなるほど、消費電力が著しく増加してしまう。複雑化するほど制御がむずかしくなる。特に近時隆盛の大容量・高速動作のSSDの場合には、その傾向が強い。
また、近時の半導体技術の微細化に伴い、フラッシュメモリ単体の消費電流が大幅な増加傾向にある。さらに、近時のデータ処理の高速化のために同時にアクセス対象とするフラッシュメモリの個数が大幅な増加傾向にある。加えて、上記の要請に対応するために、メモリシステム用の電源回路としては非常に大きなパワー(給電能力)の電源回路を用いる傾向にある。特に、最近隆盛のSSDにはその傾向が強く、さまざまな対応が研究されている。
フラッシュメモリに安定動作を確保するためには、メモリシステム用の電源回路にあえて過剰な電源能力をもたせるといったような工夫をしなければならない。そうでないと、オーバーロード等の不具合に起因する不安定動作やシステムダウンなどを招き、データ信頼性が低下してしまう。
しかし、従来手法を踏襲していては対応にも自ずと一定の限界がある。メモリシステム用の電源回路にオーバーロード等の不具合が発生すると、動作の不安定、システムダウンによってデータに不測の消失が生じたり、データ化けを起こしたりする。
本発明は、このような事情に鑑みて創作したものであり、大容量化、高速化および大規模化に伴う複雑化に対しても、充分に高い消費電力削減効果が発揮される不揮発性記憶システムを提供すること、並びにメモリシステム用の電源回路として比較的パワーの小さいものを用い、同時的なアクセス対象のフラッシュメモリの数をなるべく多くしながら、オーバーロード等の不具合に起因する不安定動作やシステムダウンを回避し、比較的に少ない動作電流のもとでいかにして効率良くフラッシュメモリを制御するか、いわばギリギリの範囲でいかに効果的に制御するかを考察し、データ信頼性を高いものにすることを目的としている。
なお、以降の説明において、《》で括られて表示される番号は、出願時のクレーム番号に対応する番号であって、記述順に順次整列したものではない。
《1》本発明による不揮発性記憶システムは、複数のフラッシュメモリの集合からなるメモリブロックと、フラッシュメモリ電源回路と、フラッシュメモリコントローラとからなる。これら3つの構成要素は、物理的・空間的に互いに独立しており、相互の連絡は信号線やバスなどの配線系での接続形態となっている。つまり、端的には、フラッシュメモリコントローラとフラッシュメモリ電源回路はフラッシュメモリの外部にあり、フラッシュメモリ電源回路はフラッシュメモリコントローラの外部にある。ただし、外部にあることと2つまたは3つの構成要素が同一チップ上にあることとは矛盾しない。もちろん別チップでもよいが、同一チップでもよいということである。
フラッシュメモリ電源回路は、フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの処理実行用電源回路を有している。処理実行用電源回路は、複数のフラッシュメモリに共通に使用され得るものとなっている。同じ処理実行用電源回路の出力電源が複数のフラッシュメモリに同時供給されることがあり得る。単一のフラッシュメモリにのみ電源供給される状態もあり得る。異なる種類の処理実行用電源回路は同じフラッシュメモリには同時供給されることはない。
どの処理実行用電源回路をどのタイミングでどのフラッシュメモリに給電接続するかを制御するのがフラッシュメモリコントローラの役割である。
複数のフラッシュメモリのそれぞれは、時々刻々変化する内部状態をフラッシュメモリコントローラに通知する。フラッシュメモリコントローラは受け取った内部状態を保持して更新する。フラッシュメモリの内部状態の種類および数は任意である。様々な状態が想定される。
フラッシュメモリコントローラは、外部にあるホストなどからの動作指令に応じて、メモリブロックにアクセスし、フラッシュメモリの内部状態を参照する。フラッシュメモリコントローラは、取得したフラッシュメモリの内部状態に従って、フラッシュメモリ電源回路における複数の処理実行用電源回路のうち動作指令に応じた処理実行用電源回路を動作状態にするよう制御する。その制御はきめの細かいものとなっている。いわゆるフラッシュメモリに対するコマンド単位以下のものを原則とする。
動作状態にあるフラッシュメモリの数は、1つかも知れないし、2つかも知れないし、3つ以上かも知れない。状況に応じて時々刻々に変化する。本発明は、原則として、複数のフラッシュメモリが同時に動作状態にあり得ることを前提としている。
あるフラッシュメモリのある動作状態に必要な処理実行用電源回路を動作状態にし、並行して別のフラッシュメモリのある動作状態に必要な処理実行用電源回路を動作状態にすることもあり得る。この場合に、別のフラッシュメモリに対して同じ処理実行用電源回路を接続することもあり得るし、異なる処理実行用電源回路を接続することもあり得る。各フラッシュメモリの動作状態と電源出力状態とする処理実行用電源回路の種類の組み合わせも状況に応じて時々刻々に変化する。その変化の態様は複雑なものとなる。
各フラッシュメモリの動作状態と電源出力状態とする処理実行用電源回路の種類の組み合わせのパターンは、メモリブロックを構成するフラッシュメモリの数が多いほど、また処理実行用電源回路の種類数(フラッシュメモリの動作状態の種類数)が多いほど、複雑なものになる。
あるフラッシュメモリに対して新規にアクセスが生じた場合に、フラッシュメモリコントローラはフラッシュメモリ内部状態に従って、そのアクセス対象のフラッシュメモリの処理種類に対応する処理実行用電源回路が停止状態にあるのか、あるいは他のフラッシュメモリの動作のためにすでに動作状態となっているのかを判断する。停止状態のときは対応する処理実行用電源回路を起動する。既に動作状態にあるときは起動の必要はなく、スキップすればよい。起動する場合は、起動の動作が安定するまでに一定の時間がかかるが、スキップすればその時間が節約され、高速動作・電力消費削減に寄与することになる。
また、アクセス対象のフラッシュメモリでの動作が完了したときに、フラッシュメモリコントローラはフラッシュメモリ内部状態に従って、その処理種類と同じ種類の動作をしている他のフラッシュメモリがあるのかないのかを判断する。ないときは、該当の処理実行用電源回路を停止すればよい。あるときは、停止はせず、動作を継続すればよい。この動作継続は、別のフラッシュメモリに対して新規にアクセスが生じた場合の、前述のスキップ処理へとつながるものでもある。なお、ここで言う「別のフラッシュメモリ」とは、動作継続しているフラッシュメモリ以外のフラッシュメモリであって、直前に動作停止したフラッシュメモリをも含み得るものである。
処理実行用電源回路を起動しようとするときは、本来必要な電源電圧を与える前に動作を始めてしまって正しい書き込みや読み出し等ができなくなる不具合や起動時の電流突入を避けるために、あらかじめフラッシュメモリの動作を一時的に停止しておく。該当の処理実行用電源回路がすでに動作状態にあれば、続いてフラッシュメモリの動作を再開させるが、該当の処理実行用電源回路が停止状態にあれば、その処理実行用電源回路を起動し、昇圧して出力が安定化した後にフラッシュメモリの動作を再開させる。
同様に、処理実行用電源回路を停止しようとするときは、停止時の電流変動を避けるために、あらかじめフラッシュメモリの動作を一時的に停止しておく。該当の処理実行用電源回路が他のフラッシュメモリに使用されている状態にあれば、続いてフラッシュメモリの動作を再開させるが、該当の処理実行用電源回路が他のフラッシュメモリに使用されていない状態にあれば、その処理実行用電源回路を停止し、次いでフラッシュメモリの動作を再開させる。このような意味において、フラッシュメモリコントローラはリアルにダイナミックに、そしてきめ細かくフラッシュメモリおよびフラッシュメモリ電源回路を制御する。
以上を要するに、本発明の《1》の不揮発性記憶システムは、
複数のフラッシュメモリの集合からなるメモリブロックと、
前記メモリブロックの外部のフラッシュメモリ電源回路と、
前記フラッシュメモリ電源回路および前記複数のフラッシュメモリを制御するフラッシュメモリコントローラと、
を備え、
前記フラッシュメモリ電源回路は、前記フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの電源を生成して前記フラッシュメモリのそれぞれに給電可能に構成された複数種類の処理実行用電源回路を有し、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのそれぞれと連絡し合って前記各フラッシュメモリの内部状態の変化を監視し、監視しているフラッシュメモリ内部状態に従って前記フラッシュメモリ電源回路における前記処理実行用電源回路の動作および前記フラッシュメモリの処理を制御するものとして構成されている。
複数のフラッシュメモリの集合からなるメモリブロックと、
前記メモリブロックの外部のフラッシュメモリ電源回路と、
前記フラッシュメモリ電源回路および前記複数のフラッシュメモリを制御するフラッシュメモリコントローラと、
を備え、
前記フラッシュメモリ電源回路は、前記フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの電源を生成して前記フラッシュメモリのそれぞれに給電可能に構成された複数種類の処理実行用電源回路を有し、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのそれぞれと連絡し合って前記各フラッシュメモリの内部状態の変化を監視し、監視しているフラッシュメモリ内部状態に従って前記フラッシュメモリ電源回路における前記処理実行用電源回路の動作および前記フラッシュメモリの処理を制御するものとして構成されている。
本発明の上記の構成によれば、次のような作用がある。複数種類の処理実行用電源回路を有するフラッシュメモリ電源回路をフラッシュメモリ(メモリブロック)の外部に配し、複数種類の処理実行用電源回路を複数のフラッシュメモリに共用する形態を採っているので、回路面積(基板面積)の縮小化に有利に作用する。また、複数種類の処理実行用電源回路の複数のフラッシュメモリへの共用は、個別独立的な使用に比べて消費電力の削減に寄与する。複数のフラッシュメモリそれぞれに複数種類の処理実行用電源回路を個別に内蔵させる従来方式では、不使用状態にあるフラッシュメモリにも給電がなされ、無駄な電力消費となるが、本構成の共用方式ではそのような無駄が解消される。
併せて、各フラッシュメモリとフラッシュメモリコントローラとの間で連絡を取り合い、各フラッシュメモリの内部状態(スタンバイ状態・動作状態、処理種類(使用している処理用電源回路の種類)など、およびそれらの時間的変容)をフラッシュメモリコントローラに知らせ、フラッシュメモリコントローラは、動作指令を受けたときに監視下にあるフラッシュメモリ内部状態に従って該当のフラッシュメモリおよび処理実行用電源回路を制御する。これにより、フラッシュメモリの起動・停止の切り替わり、処理の実行種類の切り替わりなどに応じて処理実行用電源回路の起動・停止をきめ細かく制御して、無駄な電力消費を極力抑制することが可能となる。とりわけ、処理実行用電源回路の起動時における昇圧過程の回数を減らせるので、昇圧過程で発生する比較的大きな消費電力を大幅に削減することが可能となる。さらに、不使用状態のフラッシュメモリに対しては、他に動作状態のフラッシュメモリがなければ、処理実行用電源回路を停止するようにしているので、不使用状態のフラッシュメモリへの給電という無駄が解消される。
これにより、不揮発性記憶システムのリアルな動作状況の推移に応じたダイナミックな制御が可能となる。これには随時変化する書き込み、読み出しなどの処理の実行種類が関係し、フラッシュメモリ群での個体差も関係し、処理の実行の実行状況の変化も関係し、フラッシュメモリ電源回路の内部状態の変化も関係することから、リアルでダイナミックできめ細かい制御となる。このような制御形態は、従来技術には認められず、また期待もできないもので、本発明のポイントがここにあるといってよい。トータルとして、フラッシュメモリの内部状態の変化に応じたきめの細かい制御が実現し、消費電力を大幅に削減することが可能になる。
《50》本発明による不揮発性記憶システムは、その構成要素として、機能的に大きく分けて、不揮発性記憶デバイスとしてのフラッシュメモリを複数集めたメモリブロックと、その複数のフラッシュメモリの処理の実行を個別的に制御するためのフラッシュメモリコントローラと、複数のフラッシュメモリのそれぞれに動作用の電源を供給するための電源回路とを備えている。これら少なくとも3つの構成要素(メモリブロック、フラッシュメモリコントローラ、電源回路)を備えていることを前提的な要件とする。ここでは、発明対象の不揮発性記憶システム自体がメモリシステム用の電源回路を備えており、この点で、ホスト側の電源回路から給電を受ける仕様のシステムとは異なっている。また、メモリシステム用の電源回路はメモリブロックの外部に配されており、この点で、個々のフラッシュメモリの内部に電源回路を内蔵している仕様のシステムとも異なっている。
フラッシュメモリの動作としては、読み出し動作のほか書き込み動作、消去動作をもつ仕様があり、さらには書き込み動作に関連して書き込みベリファイ(照合)動作をもつ仕様、消去動作に関連して消去ベリファイ動作をもつ仕様などがある。本発明はその動作仕様を問うものではない。
メモリシステム用の電源回路の内部構成についても、フラッシュメモリの動作仕様に合わせた構成とされ、読み出し用電源回路のほか書き込み/消去用電源回路をもつ仕様があり、さらには書き込み/消去動作に関連して書き込み/消去のベリファイ用電源回路をもつ仕様などがある。本発明はその回路仕様を問うものではない。
上記のようにメモリシステム用の電源回路が複数のフラッシュメモリに共用され、フラッシュメモリコントローラが複数のフラッシュメモリを共通に制御する構成において、3つに分かれたフラッシュメモリコントローラとメモリシステム用の電源回路とフラッシュメモリ群との間で、どのような制御形態をとれば、メモリシステム用の電源回路の給電能力の規定の範囲内でアクセス対象のフラッシュメモリに処理を安定良く行わせることができるかを工夫しなければならない。
本発明の不揮発性記憶システムにおける電源回路は、その電源状態を検出し必要に応じて保持し、電源状態情報としてフラッシュメモリコントローラに通知する機能を有している。またフラッシュメモリコントローラは、メモリシステム用の電源回路から受け取った電源状態情報に基づいて、アクセス対象のフラッシュメモリがメモリシステム用の電源回路の給電能力の規定の範囲内で処理が適切に実行可能か否かを判断し、適切な処理が実行不可能と判断したときは使用電力が少なくなるようにアクセス対象のフラッシュメモリ群のうちの一部のフラッシュメモリの動作を制御する機能を有している。この制御機能の働きにより、時間経過に伴ってアクセス対象のフラッシュメモリはメモリシステム用の電源回路の給電能力の規定の範囲内で処理が適切に実行可能となるように推移する。
ここで、「使用電力が少なくなるようにアクセス対象のフラッシュメモリ群のうちの一部のフラッシュメモリの動作を制御する」というのは広い概念であり、制御対象のフラッシュメモリの処理の開始を一時停止(ポーズ)して延期することでもよいし、現に処理を実行しているアクセス対象のフラッシュメモリを通常モードより低電力のモードで動作させるようにモード変更(動作電流低減)することでもよい。いずれにしても、制御対象のフラッシュメモリによる使用電力が少なくなる。
また、メモリシステム用の電源回路からフラッシュメモリコントローラへの電源状態情報の通知の形態については、フラッシュメモリコントローラからのポーリング(定期的または不定期的な問い合わせに応じた通知)によるのでもよいし、メモリシステム用の電源回路の内部状態の遷移に起因する割り込み発生によるのでもよい。
要は、ホスト側から何らかの動作指令のコマンドを受け取ったフラッシュメモリコントローラは、メモリシステム用の電源回路から電源状態情報を受け取り、その受け取った電源状態情報に基づく判断でアクセス対象のフラッシュメモリがメモリシステム用の電源回路の給電能力の規定の範囲内で適切な処理が実行不可能とするときは、その規定の範囲内で処理が適切に実行可能となるようにアクセス対象の一部のフラッシュメモリを制御するものである。
以上を要するに、本発明の《50》の不揮発性記憶システムは、
フラッシュメモリを複数集めたメモリブロックと、
その複数のフラッシュメモリの処理の実行を制御するためのフラッシュメモリコントローラと、
前記複数のフラッシュメモリそれぞれに動作用の電源を供給するための電源回路と、
を備え、
前記電源回路は、その電源状態の情報を電源状態情報として前記フラッシュメモリコントローラに通知する機能を有するものとして構成され、
前記フラッシュメモリコントローラは、アクセス対象の前記フラッシュメモリが前記電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して前記給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御する機能を有するものとして構成されている。
フラッシュメモリを複数集めたメモリブロックと、
その複数のフラッシュメモリの処理の実行を制御するためのフラッシュメモリコントローラと、
前記複数のフラッシュメモリそれぞれに動作用の電源を供給するための電源回路と、
を備え、
前記電源回路は、その電源状態の情報を電源状態情報として前記フラッシュメモリコントローラに通知する機能を有するものとして構成され、
前記フラッシュメモリコントローラは、アクセス対象の前記フラッシュメモリが前記電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して前記給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御する機能を有するものとして構成されている。
本発明の上記《50》の特徴は、メモリシステム用の電源回路から受け取った電源状態情報に基づいてフラッシュメモリを制御し、メモリシステム用の電源回路の給電能力の規定の範囲内でフラッシュメモリの処理が適切に実行可能となるようにすることである。
ここで、フラッシュメモリを制御するタイミングについては、アクセス対象のフラッシュメモリに対するコマンド発行の直後でまだ処理が開始されていないタイミングでもよいし、あるいは処理が開始された実行中のタイミングでもよい。
また、給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御する制御の態様については、制御対象のフラッシュメモリの処理の実行を一時停止(ポーズ)するのでもよいし、あるいは実行中の制御対象のフラッシュメモリの動作モードを低電力モードに変更するのでもよい。
また、フラッシュメモリコントローラが電源回路から電源状態情報を受け取る態様については、フラッシュメモリコントローラからの電源回路に対するポーリングに基づくのでもよいし、あるいは電源回路内部での電源状態の遷移に伴う割り込みをもって電源状態情報に充ててもよい。
本発明の上記《50》の構成によれば、フラッシュメモリコントローラが電源回路から電源状態情報を受け取り、その受け取った電源状態情報に基づく判断で、電源回路の給電能力の規定の範囲内ではフラッシュメモリの処理を適切に実行させることが不可能と判明するときは、フラッシュメモリを制御して使用電力が減少し給電能力の規定の範囲内で処理が適切に実行可能となるようにするので、オーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することが可能となる。
アクセス対象のフラッシュメモリの必要使用電力を電源回路の現在供給電力と比較し、現在給電能力で賄えるか否かを判断し、賄えなければ賄えるように制御する。これは、不揮発性記憶システムのリアルな動作状況の推移に応じたダイナミックな制御となっている。つまり、随時変化する書き込み、読み出しなどの動作種類が関係し、フラッシュメモリ群での個体差も関係し、処理の実行状況の変化も関係し、電源回路の内部状態の変化も関係することから、リアルでダイナミックな制御となっている。このような制御形態は、従来技術には認められないもので、本発明のポイントがここにあるといってよい。
《62》次に、本発明による不揮発性記憶システム用の電源回路について説明する。この電源回路は、メモリブロックにおける複数のフラッシュメモリのそれぞれに動作用の電源を供給するもので、さらには、フラッシュメモリコントローラとの間で信号の授受を行って、電源回路の電源状態(駆動率または余裕度)をフラッシュメモリコントローラに知らせ、またフラッシュメモリコントローラからの指示によって電源回路の出力を制御するものとなっている。この電源回路の構成要素は、電圧発生部と電圧状態モニタ部とである。
前記の電圧発生部には、外部のフラッシュメモリコントローラから電源制御信号が入力され、その電源制御信号が示す情報(パラメータ)に応じてフラッシュメモリ動作用の電源電圧を生成出力する機能を有している。電圧発生部はさらに、生成した電源電圧の変化を示す電源電圧変化信号を生成し、電圧状態モニタ部に送出するように構成されている。
前記の電圧状態モニタ部は、電圧発生部からの電源電圧変化信号を受け取り、その電源電圧変化信号に基づいて電圧発生部の電源状態(駆動率または余裕度)を示す電源状態通知信号を生成し、フラッシュメモリコントローラへ出力するものとして構成されている。ここで、駆動率とは電圧発生部の動作頻度または動作能力に対する駆動状態を示すものであり、余裕度とは電圧発生部の停止頻度または動作能力に対する許容状態を示すものである。
前記の電圧発生部と電圧状態モニタ部とを有する電源回路は、機能ブロックとして、メモリブロックとは別個のものとして構成され、フラッシュメモリコントローラとは同一あるいは別個のものとして構成してもよい。別個のものとして構成する場合、電源回路は、外部とのつながりの端子として、外部のフラッシュメモリコントローラからの電源制御信号を入力する電源制御端子と、電圧発生部で生成した電源電圧を外部のメモリブロック(複数のフラッシュメモリ)へ出力するための電源出力端子と、電圧状態モニタ部からの電源状態通知信号を外部のフラッシュメモリコントローラに出力するための電源状態通知端子とを有している。
以上を要するに、本発明の《62》の不揮発性記憶システム用の電源回路は、
外部のフラッシュメモリコントローラから入力される電源制御信号が示す情報に応じて外部のフラッシュメモリの動作用の電源電圧を生成出力し、さらに生成した電源電圧の変化を示す電源電圧変化信号を生成する電圧発生部と、
前記電圧発生部から前記電源電圧変化信号を受け取り、受け取った電源電圧変化信号に基づいて前記電圧発生部の電源状態(駆動率または余裕度)を示す電源状態通知信号を生成し、生成した前記電源状態通知信号を前記フラッシュメモリコントローラに向けて出力する電圧状態モニタ部と、
を備えている。
外部のフラッシュメモリコントローラから入力される電源制御信号が示す情報に応じて外部のフラッシュメモリの動作用の電源電圧を生成出力し、さらに生成した電源電圧の変化を示す電源電圧変化信号を生成する電圧発生部と、
前記電圧発生部から前記電源電圧変化信号を受け取り、受け取った電源電圧変化信号に基づいて前記電圧発生部の電源状態(駆動率または余裕度)を示す電源状態通知信号を生成し、生成した前記電源状態通知信号を前記フラッシュメモリコントローラに向けて出力する電圧状態モニタ部と、
を備えている。
本発明による不揮発性記憶システム用の電源回路の上記構成による作用は次のとおりである。フラッシュメモリコントローラからの電源制御信号が示す情報(パラメータ)で駆動している電圧発生部の電源状態を電圧状態モニタ部で監視し、その監視結果を電圧発生部の電源状態(駆動率または余裕度)を示す電源状態通知信号としてフラッシュメモリコントローラへ出力する。これにより、フラッシュメモリコントローラは、電圧発生部の電源状態(駆動率または余裕度)を的確に把握し、さらに、電圧状態に応じて電源制御信号を更新して電圧発生部への指示を再設定することが可能となる。
電源回路は、その生成すべき電源電圧が外部のフラッシュメモリコントローラによって制御される。電源回路は、また自己の内部状態を常時的に監視し、監視結果を駆動率としてフラッシュメモリコントローラに返す。そのフラッシュメモリコントローラが駆動率または余裕度に基づいて電源回路を制御する。なお、ここでは電源状態通知信号が示す電源状態を駆動率として説明しているが、電圧発生部の停止割合あるいは限界能力に対する許容度でも駆動率と同様の作用を得ることができる。制御の経路が巡回的であり、絶えざるフィードバック制御、フィードフォワード制御となっている。よって、リアルでダイナミックなきめの細かい制御が実現化される。
以上の結果として、当該電源回路を使用する不揮発性記憶システムにおいては、あえて過剰な電源能力をもたせるといったようなことをしなくて済む。そのシステムにおいて、無駄な電力消費の抑制に貢献することになる。
本発明のフラッシュメモリは、
外部のフラッシュメモリコントローラによる制御で動作するフラッシュメモリであって、
当該フラッシュメモリの動作モードそれぞれで当該フラッシュメモリが消費する電力レベルを示すレジスタと、
前記レジスタが示す前記電力レベルを前記フラッシュメモリコントローラに告知する制御部と、
を備える。
外部のフラッシュメモリコントローラによる制御で動作するフラッシュメモリであって、
当該フラッシュメモリの動作モードそれぞれで当該フラッシュメモリが消費する電力レベルを示すレジスタと、
前記レジスタが示す前記電力レベルを前記フラッシュメモリコントローラに告知する制御部と、
を備える。
本発明によるフラッシュメモリの上記構成による作用は次のとおりである。外部電源の動作電力(電流)負荷を所望のタイミングで調整することができて、複数のメモリの送電力を管理する事が可能になる。消費電流を低消費にチューニングすることができる。また外部電源は過剰な電力供給能力(高いピーク電流等)が不要になる。さらには、電力レベルをメモリの読み出し書き換えのコマンド入力時あるいは前に設定すれば、コマンド実行の外部電源の供給電力を予約する事ができる。
本発明のフラッシュメモリでは、前記制御部は、前記電力レベルを示すフィールドを有するコマンドを前記フラッシュメモリコントローラとの間で授受するのが好ましい。そうすれば、電力管理の必要なコマンド(読み出し、プログラム、消去など)に電力フィールドを設ければ、コマンド発行時点で電力負荷が明らかになり電力情報の管理が(ホストシステムにとっては)容易となる。さらには、電力レベルのみを変更するコマンドを設けることも可能となり、そうすれば、電力管理の必要なコマンドで電力レベルを直接に指定する必要がなくなり、コマンド入力(NANDフラッシュの場合はIO)のデータ転送帯域幅に殆ど影響を与えない。
本発明のフラッシュメモリでは、前記動作モードは、動作停止モードを含むのが好ましい。そうすれば、停止レベルの導入により、最小の電力負荷が定義され、外部電源の動作電力(電流)負荷の調整範囲が大きくとれる。また、外部電源の供給が安定しない場合、メモリの動作を一時停止することができて、誤動作を防ぐことができる。
本発明のフラッシュメモリは、前記動作停止モードにおける電力レベルを指定するための制御端子をさらに有するのが好ましい。そうすれば、電力レベルを指定するための制御端子を専用ピンにすることで、コマンドアクセスと非同期に、かつ(例えばレベル指定により高速)に停止させることができる。もちろん、高速に復帰できることもできる。
本発明のフラッシュメモリでは、前記制御部は、前記動作停止モードでの当該フラッシュメモリの動作中でも前記レジスタへのアクセスを許容するのが好ましい。そうすれば、停止に停止解除後の電力レベル(レジスタにより設定する電力レベルのみならず停止解除後の任意のレジスタ状態)を設定することができて、停止中の時間を有効活用できて、設定の処理時間を短縮する事ができる。
本発明のフラッシュメモリでは、前記電力レベルそれぞれで当該フラッシュメモリが消費する動作電力値を示す第1の情報を保持する第1の記憶部をさらに備え、前記制御部は、前記電力レベルに対応する前記第1の情報を前記第1の記憶部から読み出して前記フラッシュメモリコントローラに供与するのが好ましい。そうすれば、メモリの動作電力の製品使用によるばらつき(製造プロセスによるばらつき等)を実電流値の伴わない単純なコマンドフォーマット(製品種類によらない共通規格)で扱うことが可能となる。
本発明のフラッシュメモリでは、前記電力レベルそれぞれにおける当該フラッシュメモリの処理速度を示す第2の情報を保持する第2の記憶部をさらに備え、前記制御部は、前記電力レベルに対応する前記第2の情報を前記第2の記憶部から読み出して前記フラッシュメモリコントローラに供与するのが好ましい。そうすれば、メモリの動作速度の製品使用によるばらつき(製造プロセスによるばらつき等)を実電流値の伴わない単純なコマンドフォーマット(製品種類によらない共通規格)で扱うことができる。処理速度の情報を電力管理に取り入れることにより、外部電源の動作電力(電流負荷)の予測が可能になりホストシステムの電力管理はより高品位なものとなる。
本発明のフラッシュメモリでは、前記制御部は、前記レジスタが示す前記電力レベルに換えて、外部から当該フラッシュメモリに入力される信号を参照して前記電力レベルを把握するのが好ましい。そうすれば、電力レベルを、コマンドアクセスと非同期に(例えば)レベル指定により変更させることが可能となる。
本発明のフラッシュメモリコントローラは、複数のフラッシュメモリの処理の実行をそれぞれ制御するフラッシュメモリコントローラであって、当該フラッシュメモリコントローラは、前記複数のフラッシュメモリにそれぞれ電源を供給する電源回路からの電源状態情報に基づいて、前記複数のフラッシュメモリのうちアクセス対象のフラッシュメモリを制御する。このような構成を備えた本発明のフラッシュメモリコントローラは、上述した本発明の不揮発性記憶システムに最適な構成であって、本発明の不揮発性記憶システムに準じた同様の効果が得られる。
本発明によれば、フラッシュメモリコントローラがフラッシュメモリ内部状態、すなわち不揮発性記憶システムの動作状況の推移に応じてダイナミックにフラッシュメモリおよび処理実行用電源回路を制御するので、きめの細かい制御が実現し、消費電力削減に寄与することができる。これにより、大容量化、高速化および大規模化に伴う複雑化に対して、充分に高い消費電力削減効果を発揮することができる。
本発明の技術を用いれば、メモリブロックにおけるフラッシュメモリの個数が多くなるほど、またフラッシュメモリ電源回路における処理実行用電源回路の種類数ないし個数が多くなるほど、その消費電力削減効果はより良く発揮されるようになる。特に、大容量・高速動作のSSD(ソリッドステートドライブ)に適用した場合には、その消費電力削減効果は大きい。
また、不揮発性記憶システムについての本発明によれば、フラッシュメモリコントローラはメモリシステム用の電源回路からの電源状態情報に基づいて給電能力の規定の範囲内で動作可能となるようフラッシュメモリを制御するもので、随時変化する動作種類、フラッシュメモリ群での個体差、処理の実行状況の変化、電源回路内部状態の変化に対してダイナミックに制御を行うので、オーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することができる。
また、メモリシステム用の電源回路についての本発明によれば、内部状態を常時的に監視し、監視結果をフラッシュメモリコントローラに返し、フラッシュメモリコントローラによって電源電圧が制御されるといった巡回的で絶えざるフィードバック・フィードフォワード制御を行うので、リアルでダイナミックなきめの細かい電源制御を実現することができる。
また、フラッシュメモリについての本発明によれば、複数のメモリの送電力を精度高く管理する事が可能になる。
以上の結果として、安定動作を確保するためにあえて過剰な電源能力をもたせるといったようなことをしなくて済み、システムにおいて無駄な電力消費を抑制することができる。
上記した《1》の構成の本発明の不揮発性記憶システムは、次のような実施の形態においてさらに有利に展開することが可能である。
《2》上記《1》の構成において、前記フラッシュメモリコントローラに、フラッシュメモリ内部状態管理部をもたせる。各フラッシュメモリは、それぞれの内部状態情報を生成し保持している。フラッシュメモリ内部状態管理部は、フラッシュメモリコントローラが各フラッシュメモリとの連絡で取得した各フラッシュメモリの内部状態情報を取り込んで記録しておく。その記録は状況の推移に応じて更新される。
複数のフラッシュメモリのそれぞれは、その動作状態の変化に応じて内部状態をフラッシュメモリコントローラに出力し、フラッシュメモリコントローラは受け取った内部状態をフラッシュメモリ内部状態管理部に更新的に登録する。
フラッシュメモリコントローラは、外部にあるホストなどからの動作指令に応じて、メモリブロックにアクセスし、フラッシュメモリ内部状態管理部を参照して、複数のフラッシュメモリのうち該当するフラッシュメモリについての内部状態情報を取得する。フラッシュメモリコントローラは、取得したフラッシュメモリ内部状態に従って、フラッシュメモリ電源回路における複数の処理実行用電源回路のうち動作指令に応じた処理実行用電源回路を動作状態にするよう制御する。
《3》上記《2》の構成において、前記フラッシュメモリの内部状態情報としては、スタンバイ状態か動作状態かの識別情報や処理の実行種類の情報を含むものとする。スタンバイ状態とは、該当のフラッシュメモリが処理の実行を実行していない停止(休止)状態にあることをいう。動作状態とは、読み出し動作、書き込み動作、消去動作、書き込みベリファイ動作、消去ベリファイ動作などなんらかの処理の実行を行っている状態をいう。処理の実行種類は、読み出し、書き込み、消去、書き込みベリファイ、消去ベリファイなどである。実行処理の種類に応じて駆動させるべき各種処理実行用電源回路の種類も変わる。また、他のフラッシュメモリがすでに動作状態にあるときと動作状態にないときとで、フラッシュメモリコントローラによるフラッシュメモリ、フラッシュメモリ電源回路に対して制御の態様が変化する。これらの情報をフラッシュメモリの内部情報としてフラッシュメモリコントローラが恒常的に管理し、その情報に基づいてフラッシュメモリ、フラッシュメモリ電源回路を制御することにより、きめの細かい制御を実現することが可能となる。ひいては、消費電力削減を効果的なものにする。
《4》上記《3》の構成の1態様として、前記処理種類の情報は、読み出し動作、書き込み/消去動作の各情報とする。この場合に、各フラッシュメモリは、その処理の種類として読み出し動作、書き込み/消去動作を行うように構成されているとする。またフラッシュメモリ電源回路は、その処理実行用電源回路として読み出し用電源回路、書き込み/消去用電源回路を有しているものとする。
《5》上記《3》の構成の別の1態様として、前記処理種類の情報は、読み出し動作、書き込み/消去動作、書き込み/消去ベリファイ動作の各情報とする。この場合に、各フラッシュメモリは、その処理種類として読み出し動作、書き込み/消去動作、書き込み/消去ベリファイ動作を行うように構成されているとする。またフラッシュメモリ電源回路は、その処理実行用電源回路として読み出し用電源回路、書き込み/消去用電源回路、ベリファイ用電源回路を有しているものとする。
上記した《1》~《5》の構成の本発明の不揮発性記憶システムは、次のような実施の形態においてさらに有利に展開することが可能である。
《6》前記フラッシュメモリ内部状態については、これをフラッシュメモリ割り込み通知信号によるものとすることが可能である。そのフラッシュメモリ割り込み通知信号は、フラッシュメモリの内部の動作状態が変化するときに生成され、フラッシュメモリコントローラに通知されるものである。
例えば、フラッシュメモリの内部状態がスタンバイ状態、読み出し動作状態、書き込み/消去動作状態、書き込み/消去ベリファイ動作状態のいずれか1つであり、それが他の状態に変化したときに、フラッシュメモリはその変化を示す割り込み通知信号を生成し、バスライン等を介してフラッシュメモリコントローラに伝える。内部状態の変化の態様は様々である。
読み出し動作と書き込み/消去動作を有するフラッシュメモリの場合は、
・スタンバイ状態→読み出し動作状態
・スタンバイ状態→書き込み動作状態
・スタンバイ状態→消去動作状態
・読み出し動作状態→スタンバイ状態
・書き込み動作状態→スタンバイ状態
・消去動作状態→スタンバイ状態
などの内部状態の変化がある。
・スタンバイ状態→読み出し動作状態
・スタンバイ状態→書き込み動作状態
・スタンバイ状態→消去動作状態
・読み出し動作状態→スタンバイ状態
・書き込み動作状態→スタンバイ状態
・消去動作状態→スタンバイ状態
などの内部状態の変化がある。
さらに、ベリファイ動作を有するフラッシュメモリの場合は、上記の変化に加えて、
・書き込み動作状態→書き込みベリファイ状態
・消去動作状態→消去ベリファイ状態
の変化がある。
・書き込み動作状態→書き込みベリファイ状態
・消去動作状態→消去ベリファイ状態
の変化がある。
フラッシュメモリ割り込み通知信号によってフラッシュメモリ内部状態を生成することは、処理実行用電源回路の制御において、フラッシュメモリの内部状態のきめの細かい変化に応じた微調整的制御を実現することとなり、消費電力の削減効果をさらに有効なものとすることが可能になる。
《7》上記《2》ではフラッシュメモリ内部状態管理部について言及したが、本項は、このフラッシュメモリ内部状態管理部で更新的に記録される各フラッシュメモリの内部状態情報を利用する。本項は、上記の《2》~《6》に適用可能である。
フラッシュメモリコントローラは、外部のホストから動作指令を受けた場合に、次の一連の動作を実行するように構成されているものとする。
[1]動作指令における指令対象に該当する指令対象フラッシュメモリの動作を一時的に停止させる。これは、指令対象フラッシュメモリを動作状態にしたまま動作指令における指令対象に該当する指令対象処理実行用電源回路を起動するとなると、本来必要な電源電圧を与える前に動作を始めてしまって正しい書き込みや読み出し等ができなくなる不具合や起動時の電流突入が発生することになるが、これを避けるためである。
[2]次いで、フラッシュメモリ内部状態管理部におけるフラッシュメモリ内部状態をチェックし、前記動作指令における指令対象に該当する指令対象処理実行用電源回路の状況を判断する。
[3-1]上記の[2]の判断が、指令対象処理実行用電源回路が停止状態にあることを示すときは、指令対象処理実行用電源回路を起動する。この起動に際しては、上記[1]であらかじめ指令対象フラッシュメモリの動作を停止させてあるので、指令対象フラッシュメモリに突入電流が流入する心配はない。
[4]次いで、その給電状態が安定するのを待ち、[5]へ進む。
[3-2]一方、上記の[2]の判断で、指令対象処理実行用電源回路が他のフラッシュメモリの動作のためにすでに動作状態にあるときは、[3-1]の起動と[4]をスキップし、[5]へ進む。
[5]次いで、指令対象フラッシュメモリの動作を再開するとともに、フラッシュメモリ内部状態管理部において指令対象フラッシュメモリの内部状態を更新する。
指令対象処理実行用電源回路が停止状態にあるときに限り、指令対象処理実行用電源回路を起動する。既に動作状態にあるときは起動の必要はなく、スキップし、再起動の過程を省略することになる。起動する場合は、起動の動作が安定するまでに一定の時間がかかるが、スキップすればその時間が節約され、高速動作(電力消費削減)に寄与することになる。
《8》本項も、フラッシュメモリ内部状態管理部で更新的に記録される各フラッシュメモリの内部状態情報を利用する。本項は、上記《7》の構成に適用可能である。本項では、フラッシュメモリコントローラは、指令対象フラッシュメモリから動作完了の連絡を受け取った場合に、次の一連の動作を実行するように構成されているものとする。
[1]動作を完了した指令対象フラッシュメモリの動作を一時的に停止させる。これは、動作を完了した指令対象フラッシュメモリを動作状態にしたままで給電中の指令対象処理実行用電源回路を停止すると、停止時の電流変動による悪影響が発生することになるが、これを避けるためである。
[2]次いで、フラッシュメモリ内部状態管理部におけるフラッシュメモリ内部状態をチェックし、動作を完了した指令対象フラッシュメモリに給電している給電中の指令対象処理実行用電源回路の使用状況を判断する。
[3-1]上記の[2]の判断が、給電中の指令対象処理実行用電源回路が、他のフラッシュメモリによって非使用状態にあることを示す場合は、給電中の指令対象処理実行用電源回路を停止し、[4]へ進む。この停止に際しては、上記[1]であらかじめ動作を完了した指令対象フラッシュメモリの動作を停止させてあるので、このフラッシュメモリに停止時の電流変動による悪影響が発生する心配はない。
[3-2]一方、上記の[2]の判断が、給電中の指令対象処理実行用電源回路が、他のフラッシュメモリによって使用状態にあることを示す場合は、[3-1]の停止をスキップし、[4]へ進む。
[4]その後に動作を完了した指令対象フラッシュメモリの動作を再開するとともに、フラッシュメモリ内部状態管理部においてフラッシュメモリ内部状態を更新する。
給電中の指令対象処理実行用電源回路が他のフラッシュメモリに使用されていないときに限り、給電中の指令対象処理実行用電源回路を停止する。他のフラッシュメモリに使用されているときは停止の必要はなくスキップし、停止の過程を省略することになる。停止の場合も、停止による影響がなくなるまでに一定の時間がかかるが、スキップすればその時間が節約され、高速動作(電力消費削減)に寄与することになる。
《9》本項は、処理の種類としてベリファイ動作を含む場合である。前記フラッシュメモリコントローラは、書き込み/消去動作に引き続くベリファイ動作状態に移行した場合に、フラッシュメモリ内部状態管理部におけるフラッシュメモリ内部状態に従って指令対象処理実行用電源回路の使用状況を判断する。指令対象処理実行用電源回路が停止状態にあるときは指令対象処理実行用電源回路を起動し、その給電状態が安定した後に指令対象フラッシュメモリの動作を再開するとともに、フラッシュメモリ内部状態管理部においてフラッシュメモリ内部状態を更新する。一方、指令対象処理実行用電源回路がすでに動作状態にあるときは起動スキップして指令対象フラッシュメモリの動作を再開するとともに、フラッシュメモリ内部状態を更新する。
《10》本項は、上記の《9》に関連するものである。前記フラッシュメモリコントローラは、ベリファイ中のフラッシュメモリから動作完了の連絡を受け取ると、ベリファイ動作完了フラッシュメモリの動作を一時的に停止させる。フラッシュメモリ内部状態管理部におけるフラッシュメモリ内部状態に従って、ベリファイ動作完了フラッシュメモリに給電しているベリファイ給電中処理実行用電源回路の使用状況を判断し、ベリファイ給電中処理実行用電源回路が他のフラッシュメモリによって非使用状態にあるときは、ベリファイ給電中処理実行用電源回路を停止する。一方、ベリファイ給電中処理実行用電源回路が他のフラッシュメモリによって使用状態にあるときは停止をスキップする。
上記の《1》~《10》の構成の具体例を実施例1として以下に説明する。
<実施例1>
図1は本発明の実施例1の不揮発性記憶システムの構成を示すブロック図である。本実施例の不揮発性記憶システムは、複数のフラッシュメモリ2012の集合としてのメモリブロック2010と、フラッシュメモリ電源回路2020と、フラッシュメモリコントローラ2030を有して構成されている。なお、フラッシュメモリ電源回路2020とフラッシュメモリコントローラ2030は、それぞれ別の半導体装置でもよいし、同じチップ上に集積された半導体装置でもかまわない。
図1は本発明の実施例1の不揮発性記憶システムの構成を示すブロック図である。本実施例の不揮発性記憶システムは、複数のフラッシュメモリ2012の集合としてのメモリブロック2010と、フラッシュメモリ電源回路2020と、フラッシュメモリコントローラ2030を有して構成されている。なお、フラッシュメモリ電源回路2020とフラッシュメモリコントローラ2030は、それぞれ別の半導体装置でもよいし、同じチップ上に集積された半導体装置でもかまわない。
フラッシュメモリコントローラ2030は、フラッシュメモリ2012に対してアドレス/コントロールバス2041とデータバス2042とで接続されている。また、フラッシュメモリコントローラ2030は、フラッシュメモリ電源回路2020に対してコントロールバス2043を介して接続されている。また、フラッシュメモリ電源回路2020は、フラッシュメモリ2012のそれぞれに対して電源線2044を介して接続されている。
フラッシュメモリ2012は、従来のフラッシュメモリが内蔵していた書き込み/消去用、読み出し用、ベリファイ用の各電源回路は内蔵せず、新たに書き込み/消去用電源端子T1と読み出し用電源端子T2とベリファイ用電源端子T3を備えていて、フラッシュメモリ2012(メモリブロック2010)の外部に置かれたフラッシュメモリ電源回路2020よりそれぞれの電圧電源が供給されるようになっている。
なお、ベリファイ用電源端子T3は書き込み/消去用電源端子T1と共有してもよい。この場合、ベリファイ用電圧(例えば10V)は、フラッシュメモリ2012の内部で書き込み/消去用電圧(例えば20V)から降圧して生成するものとする。また、読み出し用電源端子T2とベリファイ用電源端子T3を書き込み/消去用電源端子T1と共用し、読み出し用電圧およびベリファイ用電圧はフラッシュメモリ内部で書き込み/消去用電圧から降圧して生成する構成でもよい。電源端子をまとめた場合は、構成が単純になる。例えば読み出しのフラッシュメモリと書き込みのフラッシュメモリが同時に存在する場合、読み出しのフラッシュメモリに対しても、より高い書き込み電圧を与えることになる。そのため、きめ細かい電力制御の結果の省電力の効果は小さくなる。
フラッシュメモリ2012は、その内部コントローラ(図示せず)が実行している動作状態を示すインフォメーションレジスタ(IR)2014を備えており、さらにこの動作状態の情報を外部に通知するためのフラッシュメモリ内部状態通知信号A3を出力する端子T4を備えている。フラッシュメモリ内部状態通知信号A3はフラッシュメモリコントローラ2030に出力される。
フラッシュメモリ内部状態通知信号A3の形態については、次のA~Eがある。
A)通知の方式は、フラッシュメモリ2012からの割り込み通知であってもよいし、フラッシュメモリコントローラ2030からのポーリング(定期的または不定期的な問い合わせに応じた通知)でもよい。
B)割り込み通知では、フラッシュメモリ2012の内部の動作状態が変化した際に割り込みを発生して、フラッシュメモリコントローラ2030に対して動作状態に変化があったことを通知する。
C)ポーリングでは、フラッシュメモリコントローラ2030がフラッシュメモリ内部状態通知信号A3を所定の間隔でモニタし、その状態が変化したかどうかをチェックする。
D)データの出力方法は、パラレルでもシリアルでもよい。内部状態を表すデータは複数ビットの情報をもったデータであり、パラレル出力ではビット分の本数をもつバス形態である。シリアル出力では、シリアルデータを送るデータ線1本または転送用クロックを合わせた2本の信号である。
E)データの出力自体は、フラッシュメモリ2012のデータバス2042を使ってもよい。
フラッシュメモリ内部状態通知信号A3は状態変化のみを通知することだけを担い、状態を示すデータ自体は、フラッシュメモリ2012が従来からもつアドレス/コントロールバス2041を使って、フラッシュメモリコントローラ2030から内部状態を読み出すコマンド等を発行して読み出す。
実施例1では、そのフラッシュメモリ内部状態通知信号A3を、内部状態が変化したことを割り込みによって通知する信号(フラッシュメモリ割り込み通知信号A31)とする。フラッシュメモリ2012の内部状態の読み出しには、フラッシュメモリコントローラ2030が内部状態読み出しコマンドを発行し、フラッシュメモリ2012のデータバス2042からインフォメーションレジスタ2014を読み出す例で説明する。
実施例1の変形に相当する図2の不揮発性記憶システムでは、フラッシュメモリ2012は、内部コントローラ(図示せず)の動作を一時停止・再開するフラッシュメモリ内部動作制御信号A4を入力する端子T5を備えており、フラッシュメモリコントローラ2030と接続されて、フラッシュメモリコントローラ2030がフラッシュメモリ2012の内部コントローラの動作を直接制御できるようになっている。
フラッシュメモリ内部動作制御信号A4の使用法については、主に次の2通りが挙げられる。
[1]フラッシュメモリ2012はフラッシュメモリ内部状態通知信号A3(割り込み通知信号)を出力し、それを受けたフラッシュメモリコントローラ2030がフラッシュメモリ内部動作制御信号A4によって内部のコントローラの動作を一時停止させ、所望の操作後に再開させる。
[2]フラッシュメモリ2012は、フラッシュメモリ内部状態通知信号A3(割り込み通知信号)を出力すると同時に内部のコントローラを一時停止し、フラッシュメモリ内部動作制御信号A4による動作再開を待つ。
[1]フラッシュメモリ2012はフラッシュメモリ内部状態通知信号A3(割り込み通知信号)を出力し、それを受けたフラッシュメモリコントローラ2030がフラッシュメモリ内部動作制御信号A4によって内部のコントローラの動作を一時停止させ、所望の操作後に再開させる。
[2]フラッシュメモリ2012は、フラッシュメモリ内部状態通知信号A3(割り込み通知信号)を出力すると同時に内部のコントローラを一時停止し、フラッシュメモリ内部動作制御信号A4による動作再開を待つ。
本実施例のフラッシュメモリ内部動作制御信号A4においては、[1]を例に説明する。フラッシュメモリコントローラ2030は、各フラッシュメモリ2012に対してアドレス/コントロールバス2041を介して書き込み、消去、読み出し等のコマンドとそのアドレス情報を出力し、データバス2042を介してデータの書き込み、読み出し、消去を実行する。
またフラッシュメモリコントローラ2030は、フラッシュメモリ2012から出力されるフラッシュメモリ内部状態通知信号A3を受け取る。本実施例のフラッシュメモリ内部状態通知信号A3は、フラッシュメモリ2012の内部状態が変化したことを示す割り込み通知信号で、この信号の割り込みを受けることで、フラッシュメモリコントローラ2030は、どのフラッシュメモリ2012の内部状態が変化したのかを知ることができる。
またフラッシュメモリコントローラ2030は、接続されているそれぞれのフラッシュメモリ2012の内部状態を管理するフラッシュメモリ内部状態管理テーブル2032を備えている。フラッシュメモリ内部状態管理テーブル2032は、現在の各フラッシュメモリ2012の内部状態を保持している。フラッシュメモリ内部状態管理テーブル2032の具体的な内部状態とそのときの電源状態を図3A、図3Bに示す。またフラッシュメモリコントローラ2030は、フラッシュメモリ2012の内部コントローラの動作を一時停止・再開するフラッシュメモリ内部動作制御信号A4をフラッシュメモリ2012に出力する。
またフラッシュメモリコントローラ2030は、フラッシュメモリ電源回路2020へコントロールバス2043を介してフラッシュメモリ電源制御信号A1を出力する。
フラッシュメモリ電源制御信号A1は、フラッシュメモリ電源回路2020に搭載されている各電源回路2021,2022,2023の動作を個別に制御するための信号で、各電源回路の動作・停止、発生電圧、給電能力を制御することができる。フラッシュメモリコントローラ2030は、フラッシュメモリ電源制御信号A1によってフラッシュメモリ電源回路2020に搭載されている各電源回路2021,2022,2023を所望の電圧、給電能力で動作させる。各電源回路2021,2022,2023が起動して供給準備が完了した際、フラッシュメモリ電源回路2020から各電源回路2021,2022,2023の電源準備完了信号A2が出力され、それをコントロールバス2043を介してフラッシュメモリコントローラ2030が受け取る。
フラッシュメモリ電源回路2020は、システム全体に供給される単一電源VCCから、フラッシュメモリ2012の書き込み/消去用電圧、読み出し用電圧およびベリファイ用電圧を発生させるための昇圧回路、および給電能力を変更可能な出力回路からなる書き込み/消去用電源回路2021、読み出し用電源回路2022およびベリファイ用電源回路2023を備えている。各電源回路2021,2022,2023が供給する電圧電源は、電源ラインを通じて複数のフラッシュメモリ2012の各電源端子T1,T2,T3に接続されている。
またフラッシュメモリ電源回路2020は、フラッシュメモリコントローラ2030からのフラッシュメモリ電源制御信号A1によって、書き込み/消去用電源回路2021、読み出し用電源回路2022およびベリファイ用電源回路2023の動作・停止、各電源の昇圧回路の発生電圧、各電源の出力回路の給電能力の切り替えを行う。
昇圧回路の発生電圧の制御については、例えばある一定の電圧範囲内で複数段階の電圧を設定できるような昇圧回路を用いて、与えられた複数ビットの設定電圧情報からそれに対応する電圧を発生させる方法がある。
出力回路の給電能力の切り替えについては、例えばあらかじめ出力回路の最終段のトランジスタの大きさを複数用意しておき、与えられた複数ビットの設定電力情報からそれに対応する最終段のトランジスタを選択する方法がある。
またフラッシュメモリ電源回路2020は、フラッシュメモリコントローラ2030からのフラッシュメモリ電源制御信号A1によって各電源回路2021,2022,2023を制御し、それらの準備が完了した際にフラッシュメモリコントローラ2030に対して電源準備完了信号A2を出力する。
なお、フラッシュメモリ2012がベリファイ用電源端子T3と書き込み/消去用電源端子T1を共有する構成の場合は、ベリファイ用電源回路2023を備えなくてもよい。また、フラッシュメモリ2012が読み出し用電源端子T2およびベリファイ用電源端子T3と書き込み/消去用電源端子を共有する構成の場合は、読み出し用電源回路2022およびベリファイ用電源回路2023を備えていなくてもよい。
<読み出し用電源シーケンス>
システムに電源が投入された直後は、システム全体に供給される単一電源VCCは、フラッシュメモリコントローラ2030とフラッシュメモリ電源回路2020とフラッシュメモリ2012のVCC電源端子に供給される。フラッシュメモリ2012のVCC電源端子は、主にフラッシュメモリ2012のIO(入出力端子)とロジック回路(図示せず)に電力を供給しており、フラッシュメモリコントローラ2030からのコマンドを受けることができる状態にある。またフラッシュメモリ電源回路2020においては、搭載する各電源回路2021,2022,2023は停止しており、フラッシュメモリ2012の書き込み/消去用電源端子T1と読み出し用電源端子T2とベリファイ用電源端子T3には電力が供給されていない。
システムに電源が投入された直後は、システム全体に供給される単一電源VCCは、フラッシュメモリコントローラ2030とフラッシュメモリ電源回路2020とフラッシュメモリ2012のVCC電源端子に供給される。フラッシュメモリ2012のVCC電源端子は、主にフラッシュメモリ2012のIO(入出力端子)とロジック回路(図示せず)に電力を供給しており、フラッシュメモリコントローラ2030からのコマンドを受けることができる状態にある。またフラッシュメモリ電源回路2020においては、搭載する各電源回路2021,2022,2023は停止しており、フラッシュメモリ2012の書き込み/消去用電源端子T1と読み出し用電源端子T2とベリファイ用電源端子T3には電力が供給されていない。
図4のフローチャートに従って読み出し用電源シーケンスの動作を説明する。
ステップS1において、外部のホストからの指示により、フラッシュメモリコントローラ2030はフラッシュメモリ2012に対してアクセスを開始する。フラッシュメモリコントローラ2030から発行されたコマンドが読み出し系のコマンドであった場合、フラッシュメモリ2012は読み出しのアドレスをラッチした後、該当するメモリセルアレイに対するデータ読み出し動作に入り、フラッシュメモリコントローラ2030に対してデータの読み出し動作に入ったことを通知するためフラッシュメモリ割り込み通知信号A31を出力する。
次いでステップS2において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012からフラッシュメモリ割り込み通知信号A31を受け取ると、フラッシュメモリ内部動作制御信号A4によってフラッシュメモリ2012を一時停止させる。
次いでステップS2、S3において、フラッシュメモリ内部状態管理テーブル2032を参照して、その情報からフラッシュメモリ電源回路2020の読み出し用電源回路2022が停止しているか、あるいはすでに動作しているかを確認する。
読み出し用電源回路2022が停止している場合は、ステップS4に進んで、フラッシュメモリコントローラ2030は、フラッシュメモリ電源制御信号A1によって、フラッシュメモリ電源回路2020に搭載されている読み出し用電源回路2022を起動させる。フラッシュメモリ電源回路2020は読み出し用電源回路2022を起動し、ステップS5において、電源供給の準備が完了するまで待機する。
やがて電源電圧の昇圧が完了し供給準備が整ったら、ステップS6において、フラッシュメモリ電源回路2020はフラッシュメモリコントローラ2030に対して読み出し用電源回路2022の電源準備完了信号A2を出力する。
次いでステップS7において、フラッシュメモリコントローラ2030は、読み出し用の電源準備完了信号A2を受け、フラッシュメモリ内部動作制御信号A4によりフラッシュメモリ2012の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル2032の現在アクセスしているフラッシュメモリ2012の状態を「スタンバイ」から「読み出し」へ更新する。
一方、ステップS3の判断で読み出し用電源回路2022がすでに動作している場合、ステップS7に進み、フラッシュメモリコントローラ2030は、直ちにフラッシュメモリ内部動作制御信号A4によりフラッシュメモリ2012の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル2032の現在アクセスしているフラッシュメモリ2012の状態を「スタンバイ」から「読み出し」へ更新する。
フラッシュメモリ2012はすでに読み出し用電源が供給された状態になっているため、フラッシュメモリ内部動作制御信号A4を受けた後、ステップS8において、メモリセルアレイに対するデータ読み出し動作が実行される。
フラッシュメモリ2012は、メモリセルアレイに対するデータ読み出し動作が終了すると、ステップS9において、フラッシュメモリコントローラ2030に対してデータ読み出し動作が終了したことを通知するためフラッシュメモリ割り込み通知信号A31を出力する。
フラッシュメモリコントローラ2030は、フラッシュメモリ2012からフラッシュメモリ割り込み通知信号A31を受け取ると、ステップS10において、フラッシュメモリ内部動作制御信号A4によってフラッシュメモリ2012を一時停止させ、フラッシュメモリ内部状態管理テーブル2032を参照して、ステップS11において、その情報から他に読み出し動作中のフラッシュメモリ2012がないかどうか確認する。
他に読み出し動作中のフラッシュメモリ2012がなく、読み出し用電源回路2022を停止できると判断した場合、ステップS12に進んで、フラッシュメモリコントローラ2030は、フラッシュメモリ電源制御信号A1によって、フラッシュメモリ電源回路2020に搭載される読み出し用電源回路2022を停止させる。
次いでステップS13において、フラッシュメモリコントローラ2030は、フラッシュメモリ内部動作制御信号A4によりフラッシュメモリ2012の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル2032における、現在アクセスしているフラッシュメモリ2012の状態を「読み出し」から「スタンバイ」へ更新する。
一方、ステップS11の判断で他に読み出し動作中のフラッシュメモリ2012があって読み出し用電源回路2022を停止できない場合は、ステップS12をスキップしてステップS13に進み、フラッシュメモリコントローラ2030は直ちにフラッシュメモリ内部動作制御信号A4によりフラッシュメモリ2012の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル2032の現在アクセスしているフラッシュメモリ2012の状態を「読み出し」から「スタンバイ」へ更新する。
<書き込み/消去用電源シーケンス>
図5のフローチャートに従って書き込み/消去用電源シーケンスの動作を説明する。ステップS21において、フラッシュメモリコントローラ2030から発行されたコマンドが書き込み/消去系のコマンドであった場合、フラッシュメモリ2012は書き込み/消去アドレスおよび書き込みデータをラッチした後、該当するメモリセルアレイに対するデータ書き込みあるいは消去動作に入り、フラッシュメモリコントローラ2030に対してデータの書き込みあるいは消去動作に入ったことを通知するためフラッシュメモリ割り込み通知信号A31を出力する。
図5のフローチャートに従って書き込み/消去用電源シーケンスの動作を説明する。ステップS21において、フラッシュメモリコントローラ2030から発行されたコマンドが書き込み/消去系のコマンドであった場合、フラッシュメモリ2012は書き込み/消去アドレスおよび書き込みデータをラッチした後、該当するメモリセルアレイに対するデータ書き込みあるいは消去動作に入り、フラッシュメモリコントローラ2030に対してデータの書き込みあるいは消去動作に入ったことを通知するためフラッシュメモリ割り込み通知信号A31を出力する。
次いでステップS22において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012からフラッシュメモリ割り込み通知信号A31を受け取ると、フラッシュメモリ内部動作制御信号A4によってフラッシュメモリ2012を一時停止させ、フラッシュメモリ内部状態管理テーブル2032を参照して、ステップS23において、その情報からフラッシュメモリ電源回路2020の書き込み/消去用電源回路2021が停止しているかすでに動作しているかを確認する。
書き込み/消去用電源回路2021が停止している場合、ステップS24に進んで、フラッシュメモリコントローラ2030は、フラッシュメモリ電源制御信号A1によって、フラッシュメモリ電源回路2020に搭載される書き込み/消去用電源回路2021を起動させる。フラッシュメモリ電源回路2020は書き込み/消去用電源回路2021を起動し、電源供給の準備が完了するまで待機する。
ステップS25において、電源電圧の昇圧が完了し供給準備が整ったことを確認したら、ステップS26に進んで、フラッシュメモリ電源回路2020はフラッシュメモリコントローラ2030に対して書き込み/消去用電源回路2021の電源準備完了信号A2を出力する。
次いでステップS27において、フラッシュメモリコントローラ2030は、書き込み/消去用の電源準備完了信号A2を受け、フラッシュメモリ内部動作制御信号A4によりフラッシュメモリ2012の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル2032の現在アクセスしているフラッシュメモリ2012の状態を「スタンバイ」から「書き込み」または「消去」へ更新する。
ステップS23の判断で書き込み/消去用電源回路2021がすでに動作している場合、ステップS27にスキップし、フラッシュメモリコントローラ2030は、直ちにフラッシュメモリ内部動作制御信号A4によりフラッシュメモリ2012の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル2032の現在アクセスしているフラッシュメモリ2012の状態を「スタンバイ」から「書き込み」または「消去」へ更新する。
フラッシュメモリ2012はすでに書き込み/消去用電源回路2021が供給された状態になっているため、フラッシュメモリ内部動作制御信号A4を受けた後、ステップS28において、メモリセルアレイに対するデータ書き込み/消去動作が実行される。
フラッシュメモリ2012は、メモリセルアレイに対するデータ書き込み/消去動作が終了すると、ステップS29において、フラッシュメモリコントローラ2030に対してデータ書き込み/消去動作が終了したことを通知するためフラッシュメモリ割り込み通知信号A31を出力する。
次いでステップS30において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012からフラッシュメモリ割り込み通知信号A31を受け取ると、フラッシュメモリ内部動作制御信号A4によってフラッシュメモリ2012を一時停止させ、フラッシュメモリコントローラ2030はフラッシュメモリ内部状態管理テーブル2032を参照して、ステップS31において、その情報から他に書き込み/消去動作中のフラッシュメモリ2012がないかどうか確認する。
他に書き込み/消去動作中のフラッシュメモリ2012がなく、書き込み/消去用電源回路2021を停止できると判断した場合、ステップS32に進んで、フラッシュメモリコントローラ2030は、フラッシュメモリ電源制御信号A1によって、フラッシュメモリ電源回路2020に搭載される書き込み/消去用電源回路2021を停止させ、次いでステップS33において、ベリファイ用電源シーケンスに移行する。
ステップS31の判断で他に書き込み/消去動作中のフラッシュメモリ2012があって書き込み/消去用電源回路2021を停止できない場合は、ステップS32をスキップし、ステップS33で直ちにベリファイ用電源シーケンスに移行する。
ベリファイ用電源シーケンス終了後、ステップS34において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012の内部状態読み出しコマンドを発行して、割り込み(ベリファイ終了時)のあったフラッシュメモリ2012の内部状態を確認する。ステップS35の判断において内部状態が書き込み/消去であれば、ステップS22に戻り、再度書き込み/消去用電源シーケンスを実行する。
ステップS35の判断において内部状態がスタンバイであれば、ステップS36に進んで、フラッシュメモリコントローラ2030は、フラッシュメモリ内部動作制御信号A4によりフラッシュメモリ2012の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル2032の現在アクセスしているフラッシュメモリ2012の状態を「書き込みベリファイ」または「消去ベリファイ」から「スタンバイ」へ更新する。
<ベリファイ用電源シーケンス>
図6のフローチャートに従ってベリファイ用電源シーケンスの動作を説明する。図6は図5のステップS33からの続きである。ステップS41において、書き込み/消去動作終了後、フラッシュメモリコントローラ2030はフラッシュメモリ内部状態管理テーブル2032を参照して、ステップS42において、その情報からフラッシュメモリ電源回路2020のベリファイ用電源回路2023が停止しているかすでに動作しているかを確認する。
図6のフローチャートに従ってベリファイ用電源シーケンスの動作を説明する。図6は図5のステップS33からの続きである。ステップS41において、書き込み/消去動作終了後、フラッシュメモリコントローラ2030はフラッシュメモリ内部状態管理テーブル2032を参照して、ステップS42において、その情報からフラッシュメモリ電源回路2020のベリファイ用電源回路2023が停止しているかすでに動作しているかを確認する。
ステップS42の判断でベリファイ用電源回路2023が停止している場合、ステップS43に進んで、フラッシュメモリコントローラ2030は、フラッシュメモリ電源制御信号A1によって、フラッシュメモリ電源回路2020に搭載されるベリファイ用電源回路2023を起動させる。フラッシュメモリ電源回路2020はベリファイ用電源回路2023を起動し、ステップS44において、電源供給の準備が完了するまで待機する。
やがて電源電圧の昇圧が完了し供給準備が整ったら、ステップS45において、フラッシュメモリ電源回路2020はフラッシュメモリコントローラ2030にベリファイ用電源回路2023の電源準備完了信号A2を出力する。
次いでステップS46において、フラッシュメモリコントローラ2030は、ベリファイ用の電源準備完了信号A2を受け、フラッシュメモリ内部動作制御信号A4によりフラッシュメモリ2012の内部動作を再開させ、また同時にフラッシュメモリ内部状態管理テーブル2032の現在アクセスしているフラッシュメモリ2012の状態を「書き込み」または「消去」から「書き込みベリファイ」または「消去ベリファイ」へ更新する。
ここでは、ステップS42の判断においてフラッシュメモリ2012はすでにベリファイ用電源回路2023が供給された状態になっているため、直ちにステップS46でフラッシュメモリ内部動作制御信号A4を受けた後、ステップS47において、メモリセルアレイに対するデータ書き込み/消去ベリファイ動作が実行される。
フラッシュメモリ2012は、メモリセルアレイに対するデータ書き込み/消去ベリファイ動作が終了すると、ステップS48において、フラッシュメモリコントローラ2030に対してデータ書き込み/消去ベリファイ動作が終了したことを通知するためフラッシュメモリ割り込み通知信号A31を出力する。
次いでステップS49において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012からフラッシュメモリ割り込み通知信号A31を受け取ると、フラッシュメモリ内部動作制御信号A4によってフラッシュメモリ2012を一時停止させ、フラッシュメモリコントローラ2030はフラッシュメモリ内部状態管理テーブル2032を参照して、ステップS50において、その情報から他に書き込み/消去ベリファイ中のフラッシュメモリ2012がないかどうか確認する。
他に書き込み/消去ベリファイ動作中のフラッシュメモリ2012がなく、ベリファイ用電源回路2023を停止できると判断した場合、ステップS51において、フラッシュメモリコントローラ2030は、フラッシュメモリ電源制御信号A1によって、フラッシュメモリ電源回路2020に搭載されるベリファイ用電源回路2023を停止させ、ステップS52でベリファイ用電源シーケンスを終了して、図5の書き込み/消去用電源シーケンスのステップS34に戻る。
ステップS50の判断で他に書き込み/消去ベリファイ動作中のフラッシュメモリ2012があってベリファイ用電源回路2023を停止できない場合は、ステップS51をスキップし、ステップS52で直ちにベリファイ用電源シーケンスを終了して、図5の書き込み/消去用電源シーケンスのステップS34に戻る。
本実施例によれば、フラッシュメモリ内部状態通知信号A3によってフラッシュメモリ2012の内部の動作をフラッシュメモリコントローラ2030が把握でき、内部の動作に従って外部電源の動作を制御することができるので、フラッシュメモリ2012が必要とする電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
《11》[印加電圧通知(電源制御)]
本項は、上記の《1》~《10》に関連するものである。本項のフラッシュメモリコントローラは、次のような機能を有する印加電圧制御回路を備えている。その印加電圧制御回路は、フラッシュメモリ内部状態として、各フラッシュメモリに固有の、複数種類の処理実行用電源回路についての印加電圧情報を各フラッシュメモリからの通知により取得する。そして、取得した印加電圧情報に従って該当の処理実行用電源回路の動作を制御する。
本項は、上記の《1》~《10》に関連するものである。本項のフラッシュメモリコントローラは、次のような機能を有する印加電圧制御回路を備えている。その印加電圧制御回路は、フラッシュメモリ内部状態として、各フラッシュメモリに固有の、複数種類の処理実行用電源回路についての印加電圧情報を各フラッシュメモリからの通知により取得する。そして、取得した印加電圧情報に従って該当の処理実行用電源回路の動作を制御する。
複数のフラッシュメモリの相互間には製造公差等に起因する個体差がある。個々のフラッシュメモリは、その複数種類の処理実行用電源回路のそれぞれにつき固有の印加電圧があり、各フラッシュメモリはその印加電圧情報を保有しているものとする。フラッシュメモリコントローラは、該当のフラッシュメモリへのアクセス時にそのフラッシュメモリから印加電圧情報を読み出して取得する。その印加電圧情報は該当の処理種類の処理実行用電源回路についてのものであり、また該当のフラッシュメモリに固有のものである。印加電圧制御回路は、取得した印加電圧情報に従って該当の処理実行用電源回路を制御するので、個体差のために必要とする最適な印加電圧が標準より低いフラッシュメモリに対しては、それに相応しい印加電圧となるように該当の処理実行用電源回路を制御し、また、個体差のために必要とする最適な印加電圧が標準より高いフラッシュメモリに対しては、それに相応しい印加電圧となるように該当の処理実行用電源回路を制御する。
最適な印加電圧に個体差を伴う複数のフラッシュメモリに対して、同じ処理実行用電源回路を共用する形態であるにもかかわらず、個々のフラッシュメモリの特性に応じたきめの細かい電圧制御を行うので、消費電力の削減を一層シビアに向上させることが可能になる。
《12》本項は、上記の《11》に関連する。
本項での印加電圧制御回路は、同一の前記処理実行用電源回路の印加電圧情報を、複数の前記フラッシュメモリから取得したときは、それら印加電圧情報が示す複数の印加電圧のうちで最も高い印加電圧となるように、前記同一の処理実行用電源回路の動作を制御するように構成されている。
フラッシュメモリ電源回路における複数種類の処理実行用電源回路のそれぞれは、メモリブロックにおける複数のフラッシュメモリに共用される。さらに、各処理実行用電源回路は、処理種類が同じであれば同時に2以上のフラッシュメモリに給電を行うことがある。そして、あるフラッシュメモリの最適な印加電圧と別のフラッシュメモリに最適な印加電圧とが相違することがある。
このような場合に、共用の処理実行用電源回路に対していずれのレベルの印加電圧を供給すべきかが問題となる。本項は、2以上のフラッシュメモリから送られてくる印加電圧情報が示す複数の印加電圧のうち最も高い印加電圧を採用する。こうすることで、同時動作の複数のフラッシュメモリへの供給電圧がいずれも不足するということがなくなる。これは、印加電圧が不足することに起因する動作不良に比べて、印加電圧を高めとするときの影響の方がよりましであるという考え方に立脚している。これを別の角度から見ると、各処理実行用電源回路は、給電対象のフラッシュメモリが複数でなく単一の場合には、そのフラッシュメモリに最適な印加電圧を採用するもので、それは処理実行用電源回路が採り得る複数レベルの印加電圧のうち、該当のフラッシュメモリに最も相応しいもので、過剰に高い印加電圧ではないということになる。このような制御方式も、消費電力の削減を一層シビアに向上させる上で有効に作用する。
上記の《11》,《12》の構成の具体例を実施例2として以下に説明する。
<実施例2>
図7は本発明の実施例2の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態(処処理種類)に加えて、さらに読み出し用電源電圧、書き込み/消去用電源電圧、ベリファイ用電源電圧の印加電圧情報を含む。これらの情報は、そのフラッシュメモリ2012が動作するために必要な各電源電圧を示している。個々のフラッシュメモリ2012ごとに最適な電源電圧情報がある。複数のフラッシュメモリの相互間には製造公差等に起因する個体差がある。
図7は本発明の実施例2の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態(処処理種類)に加えて、さらに読み出し用電源電圧、書き込み/消去用電源電圧、ベリファイ用電源電圧の印加電圧情報を含む。これらの情報は、そのフラッシュメモリ2012が動作するために必要な各電源電圧を示している。個々のフラッシュメモリ2012ごとに最適な電源電圧情報がある。複数のフラッシュメモリの相互間には製造公差等に起因する個体差がある。
印加電圧情報を通知する手段として印加電圧通知信号A32があり、これは直接フラッシュメモリコントローラ2030に接続されていてもよい。T6はフラッシュメモリ2012における印加電圧通知信号A32の出力端子である。
本実施例のフラッシュメモリコントローラ2030は、さらに印加電圧制御回路2034を備えている。印加電圧制御回路2034は、フラッシュメモリ2012の印加電圧情報と現在の印加電圧とを比較し、どちらか高い方の値をフラッシュメモリ電源回路2020の各電源回路2021,2022,2023の印加電圧とする。
図8のフローチャートに従って印加電圧制御シーケンスの動作を説明する。ステップS61~S63は、実施例1の場合の図5のステップS21~S23に相当する。書き込みシーケンスにおいて、書き込み/消去用電源回路2021が停止している場合、ステップS64において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012の内部状態読み出しコマンドを発行して、割り込み(ベリファイ終了時)のあったフラッシュメモリ2012の書き込み電源の印加電圧情報をフラッシュメモリ2012のインフォメーションレジスタ2014から読み出し、印加電圧制御回路2034に渡す。
次いでステップS65において、印加電圧制御回路2034は、その印加電圧情報に従って書き込み/消去用電源回路2021を起動する。ステップS70~S73は、実施例1の場合の図5のステップS25~S28に相当する。ステップS63の判断で書き込み/消去用電源回路2021が動作している場合、ステップS66において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012の内部状態読み出しコマンドを発行して、割り込み(ベリファイ終了時)のあったフラッシュメモリ2012の書き込み電源の印加電圧情報をフラッシュメモリ2012のインフォメーションレジスタ2014から読み出し、印加電圧制御回路2034に渡す。
次いでステップS67において、印加電圧制御回路2034は、読み出した印加電圧情報と現在の書き込み/消去用電源回路2021の電圧とを比較する。次いでステップS68の判断で、読み出した印加電圧情報の方が高い場合、ステップS69において、その印加電圧情報に従って書き込み/消去用電源回路2021の電源電圧を変更し、次いでステップS70に進む。
ステップS68で印加電圧制御回路2034は読み出した印加電圧情報と現在の書き込み/消去用電源回路2021の電圧とを比較し、読み出した印加電圧情報の方が低い場合、現在の書き込み/消去用電源回路2021の電源電圧を維持し、ステップS72に進む。
本実施例によれば、必要とする電源電圧が異なる複数のフラッシュメモリ2012を同時に動作させる場合に、それぞれのフラッシュメモリ2012の電源電圧をフラッシュメモリコントローラ2030が把握でき、外部電源の電圧を制御することができるので、余分な昇圧を行うことなく電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
《13》[印加電圧通知(メモリ選択)]
本項は、上記の《11》に関連する。前記したフラッシュメモリコントローラは、さらに、複数のフラッシュメモリから受け取った印加電圧情報を記憶しておくための印加電圧情報記憶部を有している。さらに、フラッシュメモリコントローラは、印加電圧情報記憶部に記憶されている印加電圧情報を参照して、選択対象のフラッシュメモリを決定するように構成されている。
本項は、上記の《11》に関連する。前記したフラッシュメモリコントローラは、さらに、複数のフラッシュメモリから受け取った印加電圧情報を記憶しておくための印加電圧情報記憶部を有している。さらに、フラッシュメモリコントローラは、印加電圧情報記憶部に記憶されている印加電圧情報を参照して、選択対象のフラッシュメモリを決定するように構成されている。
印加電圧情報記憶部は、すべてのフラッシュメモリについての印加電圧情報を保持しておくことが可能である。すなわち、現在アクセス対象のフラッシュメモリについてだけでなく、他のフラッシュメモリについても、また現在スタンバイ状態にあるフラッシュメモリの過去(直前)の印加電圧情報も保持しておくことが可能である。これらの印加電圧情報は、複数種類の処理実行用電源回路のそれぞれについての印加電圧情報を含むことが可能である。
フラッシュメモリコントローラにホストなどからの動作指令があったときに、複数のフラッシュメモリのうちどのフラッシュメモリをアクセス対象に選択するかが問題となる。このアクセス対象のフラッシュメモリの選択において、印加電圧情報記憶部におけるすべてのフラッシュメモリのすべての処理種類の処理実行用電源回路にかかわる印加電圧情報を参照して、1つのアクセス対象のフラッシュメモリを決定することにすれば、消費電力の削減を図る上で大いに寄与することが可能になる。
《14》本項は、上記の《13》に関連する。
前記したフラッシュメモリコントローラは、複数のフラッシュメモリのうち空き状態にあってアクセス対象候補のフラッシュメモリが複数ある場合に、印加電圧情報記憶部に記憶されている印加電圧情報を参照して、選択対象のフラッシュメモリとして印加電圧が最も低いフラッシュメモリに決定するように構成されている。
空き状態にある複数のアクセス対象候補のフラッシュメモリの中から印加電圧が最も低いフラッシュメモリを選択対象のフラッシュメモリに決定すれば、同じ処理種類の処理を実行するのに、より少ない電力で実行することが可能になる。このように複数の印加電圧を相互比較できるのも、印加電圧情報記憶部にすべてのフラッシュメモリから受け取ったすべての処理種類の処理実行用電源回路の印加電圧情報を記憶しておくことができるからである。印加電圧が最も低いフラッシュメモリを採用するので、消費電力削減の一層シビアな向上が可能となる。
上記の《13》,《14》の構成の具体例を実施例3として以下に説明する。
<実施例3>
図9は本発明の実施例3の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリコントローラ2030のフラッシュメモリ内部状態管理テーブル2032に、フラッシュメモリ2012ごとの印加電圧情報を記憶する印加電圧情報記憶部2033をさらに備える。印加電圧情報の収集は、システム起動時にすべてのフラッシュメモリ2012に対して内部状態読み出しコマンドを発行して、フラッシュメモリ内部状態管理テーブル2032に登録してもよいし、一度アクセスしたフラッシュメモリ2012の印加電圧情報を、その都度フラッシュメモリ内部状態管理テーブル2032の印加電圧情報記憶部2033に記憶してもよい。
図9は本発明の実施例3の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリコントローラ2030のフラッシュメモリ内部状態管理テーブル2032に、フラッシュメモリ2012ごとの印加電圧情報を記憶する印加電圧情報記憶部2033をさらに備える。印加電圧情報の収集は、システム起動時にすべてのフラッシュメモリ2012に対して内部状態読み出しコマンドを発行して、フラッシュメモリ内部状態管理テーブル2032に登録してもよいし、一度アクセスしたフラッシュメモリ2012の印加電圧情報を、その都度フラッシュメモリ内部状態管理テーブル2032の印加電圧情報記憶部2033に記憶してもよい。
本実施例では、システム起動時に一度に印加電圧情報を読み出す場合の例で説明する。図10のフローチャートに従ってフラッシュメモリ選択の動作を説明する。
ステップS81において、不揮発性記憶システムの電源が入ってフラッシュメモリコントローラ2030が起動する。次いでステップS82において、フラッシュメモリコントローラ2030は、接続されているすべてあるいは一部のフラッシュメモリ2012に対して内部状態読み出しコマンドを発行して、フラッシュメモリ2012のインフォメーションレジスタ2014から印加電圧情報を読み出す。
次いでステップS83において、読み出された印加電圧情報は、フラッシュメモリ内部状態管理テーブル2032の印加電圧情報記憶部2033に記憶される。
次いでステップS84でホストから書き込み要求があった場合、ステップS85において、フラッシュメモリコントローラ2030は、データ書き込みが可能な空き領域をもつフラッシュメモリ2012を選択することになる。
選択対象のフラッシュメモリ2012が複数ある場合、ステップS86のように、フラッシュメモリコントローラ2030は、それらのフラッシュメモリ2012の印加電圧情報記憶部2033を参照して、フラッシュメモリ2012の印加電圧情報を読み出す。
次いでステップS87において、フラッシュメモリコントローラ2030はそれらの印加電圧情報を比較し、選択対象のフラッシュメモリ2012の中で最も印加電圧が低いフラッシュメモリ2012を選択する。
次いでステップS88において、フラッシュメモリコントローラ2030は選択したフラッシュメモリ2012に処理の実行の命令を発行する。
本実施例によれば、フラッシュメモリ2012が求める印加電圧情報をあらかじめ印加電圧情報記憶部2033に記憶しておき、記憶した複数のフラッシュメモリ2012の印加電圧情報の比較を通じて印加電圧の低いフラッシュメモリ2012を優先的に選択するので、フラッシュメモリ電源回路2020の昇圧動作を抑え、システム全体の電力消費を下げることができる。
《15》[印加電圧通知(複数メモリ選択)]本項は、上記の《14》に関連する。
複数のフラッシュメモリに対して同時並行的にアクセスすることになる場合を想定する。複数のフラッシュメモリは、同じ処理実行用電源回路から給電されるものとする。このような場合に、前記フラッシュメモリコントローラは、印加電圧情報記憶部に記憶されている印加電圧情報を参照して、選択対象のフラッシュメモリとして互いに印加電圧の差がより少ないフラッシュメモリどうしを優先して決定するように構成されている。
理解を容易にするため、一例を挙げて説明する。いま、2つのフラッシュメモリに対して同時にアクセスしようとするときに、アクセス対象候補のフラッシュメモリが3つあるとする。第1のフラッシュメモリと第2のフラッシュメモリの印加電圧の差がΔE12、第2のフラッシュメモリと第3のフラッシュメモリの印加電圧の差がΔE23、第3のフラッシュメモリと第1のフラッシュメモリの印加電圧の差がΔE31とする。この3つの印加電圧の差ΔE12,ΔE23,ΔE31のうち、ΔE12が最も小さいときは第1のフラッシュメモリと第2のフラッシュメモリとの組み合わせで決定し、ΔE23が最も小さいときは第2のフラッシュメモリと第3のフラッシュメモリとの組み合わせで決定し、ΔE31が最も小さいときは第3のフラッシュメモリと第1のフラッシュメモリとの組み合わせで決定する。
印加電圧の差が少ないフラッシュメモリどうしを優先的に組み合わせて選択することで、余分な昇圧を極力避けたかたちで制御し、電源を効率良く供給して、システム全体の電力消費を下げることが可能となる。
上記の《15》の構成の具体例を実施例4として以下に説明する。
<実施例4>
図11は本発明の実施例4の不揮発性記憶システムのフラッシュメモリ選択(複数選択)のシーケンスを示すフローチャートである。ステップS91~S96およびステップS98は、図10におけるステップS81~S86およびステップS88と同じである。ステップS97だけが相違している。
図11は本発明の実施例4の不揮発性記憶システムのフラッシュメモリ選択(複数選択)のシーケンスを示すフローチャートである。ステップS91~S96およびステップS98は、図10におけるステップS81~S86およびステップS88と同じである。ステップS97だけが相違している。
実施例3と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ2030が空き領域をもつフラッシュメモリ2012を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ2012に対して並行的に書き込みや消去を実行しなければならない場合、実施例3と同様にフラッシュメモリコントローラ2030は、選択対象のフラッシュメモリ2012の印加電圧情報記憶部2033を参照してフラッシュメモリ2012の印加電圧情報を読み出す。
ステップS97において、フラッシュメモリコントローラ2030は印加電圧情報を比較し、選択対象のフラッシュメモリ2012の中で印加電圧の差が少ないフラッシュメモリ2012どうしを優先的に組み合わせて選択する。
本実施例によれば、あらかじめフラッシュメモリ2012への印加電圧情報を記憶しておき、印加電圧の差が少ないフラッシュメモリ2012どうしを優先的に組み合わせて選択することで、余分な昇圧を極力避けたかたちで制御でき、電源を効率良く供給して、システム全体の電力消費を下げることができる。
《16》[印加電圧通知]*[ベリファイ回数通知(電源制御)]
本項は、上記の《11》のフラッシュメモリコントローラに印加電圧制御回路を備えた不揮発性記憶システムに関連する。
本項は、上記の《11》のフラッシュメモリコントローラに印加電圧制御回路を備えた不揮発性記憶システムに関連する。
前記印加電圧制御回路は、フラッシュメモリ内部状態として各フラッシュメモリでのベリファイ回数情報を各フラッシュメモリからの通知により取得し、取得したベリファイ回数情報を加味して該当の処理実行用電源回路の動作を制御するように構成されている。ここでのベリファイ回数情報にかかわるベリファイは、書き込みベリファイと消去ベリファイの少なくともいずれか一方を含むものとする。ベリファイ回数情報は、フラッシュメモリ内部で書き込み/消去動作が完全に完了するまでに繰り返された書き込み/消去の回数を示すものである。
ベリファイ回数が多いほど、そのフラッシュメモリには書き込み/消去が行いにくい劣化したまたは特性の良くないセルがより多く含まれている。このような劣化セル・不良特性セルを含むフラッシュメモリについては、その書き込み/消去に際して印加電圧を基準値よりもレベルアップすれば書き込み/消去の成功率が高くなる。そこで、ベリファイ回数情報を加味して印加電圧を調整する等してベリファイ回数を減らす。これにより、結果的に電源供給している時間を短縮し、消費電力削減の一層シビアな向上が可能となる。
《17》本項は、上記の《16》に関連する。
フラッシュメモリコントローラにおける印加電圧制御回路は、取得した印加電圧情報に従って該当の処理実行用電源回路の動作を制御するに際して、取得した印加電圧を基準電圧として、[基準電圧]と[取得したベリファイ回数]と[あらかじめ設定した補正電圧]の演算で得られる補正された印加電圧で該当の処理実行用電源回路を制御するように構成されている。
これによれば、ベリファイ回数の多さに応じて印加電圧の調整増加分を増やす等により、書き込み/消去の成功率も高いものとなる。その結果として、消費電力削減の一層シビアな向上が可能となる。
なお、好ましい演算式の代表例に、[基準電圧]+[取得したベリファイ回数]×[あらかじめ設定した補正電圧]の演算がある。これは一例であって、広義にはベリファイ回数の関数で表すことのできる電圧発生方法となる。
上記の《16》,《17》の構成の具体例を実施例5として以下に説明する。
<実施例5>
図12は本発明の実施例5の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態と、読み出し用電源電圧、書き込み/消去用電源電圧、ベリファイ用電源電圧の印加電圧情報に加えて、さらにベリファイ回数情報を含んでいる。ベリファイ回数情報は、そのフラッシュメモリ2012が書き込み/消去動作をした際に正しく書き込み/消去できたかを確認するための読み出し動作が行われた回数を示している。ベリファイ回数情報は、書き込みベリファイ情報であれば書き込み単位毎、消去ベリファイ情報であれば消去単位ごとに情報をもち、フラッシュメモリ2012側で前回書き込み/消去が実施された際に記録として残している。ベリファイ回数情報はインフォメーションレジスタ2014ではなく、フラッシュメモリ2012の冗長領域などに書き込まれていてもよい。
図12は本発明の実施例5の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態と、読み出し用電源電圧、書き込み/消去用電源電圧、ベリファイ用電源電圧の印加電圧情報に加えて、さらにベリファイ回数情報を含んでいる。ベリファイ回数情報は、そのフラッシュメモリ2012が書き込み/消去動作をした際に正しく書き込み/消去できたかを確認するための読み出し動作が行われた回数を示している。ベリファイ回数情報は、書き込みベリファイ情報であれば書き込み単位毎、消去ベリファイ情報であれば消去単位ごとに情報をもち、フラッシュメモリ2012側で前回書き込み/消去が実施された際に記録として残している。ベリファイ回数情報はインフォメーションレジスタ2014ではなく、フラッシュメモリ2012の冗長領域などに書き込まれていてもよい。
ベリファイ回数情報を通知する手段としては、ベリファイ回数通知信号A33として直接フラッシュメモリコントローラ2030と接続されていてもよい。T7はフラッシュメモリ2012におけるベリファイ回数通知信号A33の出力端子である。
図13のフローチャートに従って印加電圧制御シーケンスの動作を説明する。ステップS101~S103は、実施例2の場合の図8のステップS61~S63に相当する。ステップS109,S111,S112,S113,S114は、それぞれ図8のステップS68,S70,S71,S72,S73に相当する。
ステップS103の判断で書き込み/消去用電源回路2021が停止している場合、ステップS104において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012の内部状態読み出しコマンドを発行して、割り込みのあったフラッシュメモリ2012の書き込み電源の印加電圧情報と、書き込み単位でのベリファイ回数情報を読み出す。
次いでステップS105において、印加電圧制御回路2034はその印加電圧情報を基準電圧として、発生電圧としては、[基準電圧]+[ベリファイ回数]×[補正電圧]を設定して、書き込み/消去用電源回路2021を起動する。ここで補正電圧はあらかじめフラッシュメモリコントローラ2030側で設定した固定値である。
なお、補正電圧については、あらかじめ仕様で決めている値をフラッシュメモリコントローラ2030がもっていてもよいし、フラッシュメモリ2012側がそのようなデータをもっていて、システム起動時にフラッシュメモリコントローラ2030側から読み出して使用するものでもよい。本例の発生電圧の計算方法は一例であって、広義にはベリファイ回数の関数で表すことのできる電圧発生方法となる。
書き込みシーケンスにおいて書き込み/消去用電源回路2021が動作している場合、ステップS106において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012の内部状態読み出しコマンドを発行して、割り込みのあったフラッシュメモリ2012の書き込み電源の印加電圧情報と、書き込み単位でのベリファイ回数情報を読み出す。
次いでステップS107において、印加電圧制御回路2034は、印加電圧情報を基準電圧として、発生電圧としては、[基準電圧]+[ベリファイ回数]×[補正電圧]を設定する。
次いでステップS108において、その設定電圧と現在の書き込み/消去用電源回路2021の電圧とを比較し、ステップS109で設定電圧の方が高い場合、ステップS110において、その設定電圧に従って書き込み/消去用電源回路2021の電源電圧を変更する。
一方、印加電圧制御回路2034は、設定電圧と現在の書き込み/消去用電源回路2021の電圧とを比較し、設定電圧の方が低い場合、ステップS113において、現在の書き込み/消去用電源回路2021の電源電圧を維持する。
本実施例によれば、ベリファイ回数が多いほど書き込み/消去しにくい劣化または特性の良くないセルが含まれており、あらかじめそのようなセルへの書き込み/消去に対して、書き込み/消去用電圧を[ベリファイ回数]×[補正電圧]分高く設定することで書き込みやすくし、ベリファイ回数を減らすことで、結果的に電源供給している時間を短縮することができるため、システム全体の電力消費を下げることができる。
《18》[印加電圧通知]*[ベリファイ回数通知]*[パルス幅/間隔通知(メモリ選択)]
上記の《16》の構成において、前記フラッシュメモリコントローラは、さらに、印加時間情報を記憶しておく印加時間情報記憶部を備えている。印加時間情報は、次のようにして求められる。複数のフラッシュメモリからベリファイ回数情報を受け取るとともに、書き込み/消去動作の電圧印加のパルス幅およびパルス間隔の情報を受け取る。そして、ベリファイ回数情報と電圧印加のパルス幅およびパルス間隔の情報との演算に基づいて印加時間情報を得る。この印加時間情報を印加時間情報記憶部に記憶させておく。フラッシュメモリコントローラは、印加時間情報記憶部に記憶されている印加時間情報を参照して選択対象のフラッシュメモリを決定する。
上記の《16》の構成において、前記フラッシュメモリコントローラは、さらに、印加時間情報を記憶しておく印加時間情報記憶部を備えている。印加時間情報は、次のようにして求められる。複数のフラッシュメモリからベリファイ回数情報を受け取るとともに、書き込み/消去動作の電圧印加のパルス幅およびパルス間隔の情報を受け取る。そして、ベリファイ回数情報と電圧印加のパルス幅およびパルス間隔の情報との演算に基づいて印加時間情報を得る。この印加時間情報を印加時間情報記憶部に記憶させておく。フラッシュメモリコントローラは、印加時間情報記憶部に記憶されている印加時間情報を参照して選択対象のフラッシュメモリを決定する。
この構成によれば、電圧印加のパルス幅およびパルス間隔の情報はフラッシュメモリ側で管理され、ベリファイ回数情報とともにフラッシュメモリコントローラ側に送られる。フラッシュメモリコントローラでは、受け取った電圧印加のパルス幅およびパルス間隔とベリファイ回数とから印加時間を算出する。書き込み/消去動作の電圧印加のパルス幅およびパルス間隔は、ベリファイ動作を含めて書き込み/消去動作の1サイクルに相当する。この1サイクルとベリファイ回数とから、実際に書き込み/消去動作に要した実質の印加時間が得られる。得られた印加時間情報はベリファイ回数・パルス幅・間隔とともに印加時間情報記憶部に記憶される。印加時間情報記憶部は、すべてのフラッシュメモリについてのこれらの情報を保持しておくことが可能である。
フラッシュメモリコントローラにホストなどからの動作指令があったときに、複数のフラッシュメモリのうちどのフラッシュメモリをアクセス対象に選択するかが問題となる。このアクセス対象のフラッシュメモリの選択において、印加時間情報記憶部におけるすべてのフラッシュメモリの印加時間情報を参照して、1つのアクセス対象のフラッシュメモリを決定することにすれば、消費電力の削減を図る上で大いに寄与することが可能になる。
《19》上記の《18》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリのうち空き状態にあってアクセス対象候補のフラッシュメモリが複数ある場合には、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して、印加時間が最も短いフラッシュメモリを選択するように構成されている。
空き状態にある複数のアクセス対象候補のフラッシュメモリの中から印加時間が最も短いフラッシュメモリを選択対象のフラッシュメモリに決定すれば、同じ処理種類の処理を実行するのに、より少ない電力で実行することが可能になる。このように複数の印加時間を相互比較できるのも、印加時間情報記憶部にすべてのフラッシュメモリの印加時間情報を記憶しておくことができるからである。印加時間が最も短いフラッシュメモリを採用し、処理実行用電源回路の動作時間を極力抑えるので、消費電力削減の一層シビアな向上が可能となる。
上記の《18》,《19》の構成の具体例を実施例6として以下に説明する。
<実施例6>
図14は本発明の実施例6の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態と、読み出し用電源電圧、書き込み/消去用電源電圧、ベリファイ用電源電圧の印加電圧情報、ベリファイ回数情報に加えて、さらにパルス幅/間隔情報を含む。パルス幅情報とは、書き込みまたは消去を実行する際に、実際に書き込み用電源が印加されている区間の長さの情報であり、パルス間隔情報とは、次の書き込みが実行されるまでの間隔、すなわち書き込みベリファイまたは消去ベリファイ区間の長さの情報である。
図14は本発明の実施例6の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態と、読み出し用電源電圧、書き込み/消去用電源電圧、ベリファイ用電源電圧の印加電圧情報、ベリファイ回数情報に加えて、さらにパルス幅/間隔情報を含む。パルス幅情報とは、書き込みまたは消去を実行する際に、実際に書き込み用電源が印加されている区間の長さの情報であり、パルス間隔情報とは、次の書き込みが実行されるまでの間隔、すなわち書き込みベリファイまたは消去ベリファイ区間の長さの情報である。
パルス幅/間隔情報を通知する手段であるパルス幅/パルス間隔通知信号A34は、直接フラッシュメモリコントローラ2030に接続されていてもよい。T8はフラッシュメモリ2012におけるパルス幅/間隔通知信号の出力端子である。フラッシュメモリコントローラ2030のフラッシュメモリ内部状態管理テーブル2032は、フラッシュメモリ2012ごとのベリファイ回数情報とパルス幅/間隔情報とを記憶する印加時間情報記憶部2035をさらに備える。印加時間は、[パルス幅+パルス間隔]×[ベリファイ回数]で算出される。印加時間情報は、書き込み情報であれば書き込み単位毎、消去情報であれば消去単位ごとに情報をもち、フラッシュメモリ2012側で前回書き込み/消去が実施された際に記録として残している。
印加時間情報の収集は、システム起動時にフラッシュメモリ2012に対して内部状態読み出しコマンドを発行して、フラッシュメモリ内部状態管理テーブル2032に登録してもよいし、一度アクセスしたフラッシュメモリ2012の印加時間情報を、その都度フラッシュメモリ内部状態管理テーブル2032に記憶してもよい。
実施例6ではシステム起動時に一度に印加時間情報を読み出す場合の例で説明する。図15のフローチャートに従ってフラッシュメモリ選択の動作を説明する。ステップS121でフラッシュ不揮発性記憶システムの電源が入ってフラッシュメモリコントローラ2030が起動すると、ステップS122において、フラッシュメモリコントローラ2030は接続されているすべてあるいは一部のフラッシュメモリ2012に対して内部状態読み出しコマンドを発行して、フラッシュメモリ2012のインフォメーションレジスタ2014から印加電圧情報とベリファイ回数情報とパルス幅/間隔情報を読み出す。
次いでステップS123において、読み出された情報は、フラッシュメモリ内部状態管理テーブル2032の印加電圧情報記憶部2033および印加時間情報記憶部2035に記憶される。次にステップS124でホストから書き込み要求があった場合、ステップS125において、フラッシュメモリコントローラ2030はデータ書き込みが可能な空き領域をもつフラッシュメモリ2012を選択することになる。
選択対象のフラッシュメモリ2012が複数ある場合、ステップS126のように、フラッシュメモリコントローラ2030は、それらのフラッシュメモリ2012の印加電圧情報記憶部2033と印加時間情報記憶部2035とを参照して、フラッシュメモリ2012の印加電圧情報と印加時間情報を読み出す。
次いでステップS127において、フラッシュメモリコントローラ2030はそれらの印加時間情報を比較し、選択対象のフラッシュメモリ2012の中で印加時間が最も短いフラッシュメモリ2012を選択する。次いでステップS128において、印加電圧情報に従ってフラッシュメモリ電源回路2020を制御する。
本実施例によれば、あらかじめベリファイ回数とパルス幅/間隔を読み出して印加時間情報を記憶しておき、印加時間の短いフラッシュメモリ2012を優先的に選択し、フラッシュメモリ電源回路2020の動作時間を抑えることで、システム全体の電力消費を下げることができる。
《20》[印加電圧通知]*[ベリファイ回数通知]*[パルス幅/間隔通知(複数メモリ選択)]
上記《19》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスすることになる場合には、印加時間情報記憶部に記憶されている印加時間情報を参照して、同一の処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに印加時間の差がより少ないフラッシュメモリどうしを優先して選択するように構成されている。
上記《19》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスすることになる場合には、印加時間情報記憶部に記憶されている印加時間情報を参照して、同一の処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに印加時間の差がより少ないフラッシュメモリどうしを優先して選択するように構成されている。
理解を容易にするため、一例を挙げて説明する。いま、2つのフラッシュメモリに対して同時にアクセスしようとするときに、アクセス対象候補のフラッシュメモリが3つあるとする。第1のフラッシュメモリと第2のフラッシュメモリの印加時間の差がΔT12、第2のフラッシュメモリと第3のフラッシュメモリの印加時間の差がΔT23、第3のフラッシュメモリと第1のフラッシュメモリの印加時間の差がΔT31とする。この3つの印加時間の差ΔT12,ΔT23,ΔT31のうち、ΔT12が最も小さいときは第1のフラッシュメモリと第2のフラッシュメモリとの組み合わせを選択し、ΔT23が最も小さいときは第2のフラッシュメモリと第3のフラッシュメモリとの組み合わせを選択し、ΔT31が最も小さいときは第3のフラッシュメモリと第1のフラッシュメモリとの組み合わせを選択する。
印加時間の差が少ないフラッシュメモリどうしを優先的に組み合わせて選択することで、余分な印加時間を費やすことなく、電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
上記の《20》の構成の具体例を実施例7として以下に説明する。
<実施例7>
図16は本発明の実施例7の不揮発性記憶システムのフラッシュメモリ選択(複数選択)のシーケンスを示すフローチャートである。ステップS131~S136およびS138は、図15におけるステップS121~S126およびS128と同じである。ステップS136だけが相違している。
図16は本発明の実施例7の不揮発性記憶システムのフラッシュメモリ選択(複数選択)のシーケンスを示すフローチャートである。ステップS131~S136およびS138は、図15におけるステップS121~S126およびS128と同じである。ステップS136だけが相違している。
実施例6と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ2030が空き領域をもつフラッシュメモリ2012を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ2012に対して並行的に書き込みや消去を実行しなければならない場合、実施例6と同様に、フラッシュメモリコントローラ2030は、選択対象のフラッシュメモリ2012の印加電圧情報記憶部2033と印加時間情報記憶部2035を参照してフラッシュメモリ2012の印加電圧情報と印加時間情報を読み出す。
ステップS137において、フラッシュメモリコントローラ2030は印加時間情報を比較し、選択対象のフラッシュメモリ2012の中で印加時間の差が少ないフラッシュメモリ2012どうしを優先的に組み合わせて選択する。
本実施例によれば、あらかじめフラッシュメモリ2012への印加時間情報を記憶しておき、印加時間の差が少ないフラッシュメモリ2012どうしを優先的に組み合わせて選択することで、余分な電圧印加時間を費やすことなく電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
《21》[印加電圧通知]*[ベリファイ回数通知]*[パルス幅/間隔通知(パルス重なり回避)]
上記の《18》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスすることになる場合には、印加時間情報記憶部に記憶されている印加時間情報を参照して、複数のフラッシュメモリの動作実行において互いにタイミングが重ならない状態で制御するように構成されている。
上記の《18》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスすることになる場合には、印加時間情報記憶部に記憶されている印加時間情報を参照して、複数のフラッシュメモリの動作実行において互いにタイミングが重ならない状態で制御するように構成されている。
フラッシュメモリコントローラが複数のフラッシュメモリに同時並行状態でアクセスする場合に、互いにタイミングが重ならない状態で複数のフラッシュメモリを制御する。これによれば、フラッシュメモリの消費電力ピークが過剰に高くなることを抑えることが可能で、その効率良い給電により、システム全体の電力消費を下げることが可能となる。
上記の《21》の構成の具体例を実施例8として以下に説明する。
<実施例8>
図17は本発明の実施例8の不揮発性記憶システムの機能説明図(書き込み/消去電圧特性図)である。実施例6と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ2030が空き領域をもつフラッシュメモリ2012を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ2012に対して並行的に書き込みや消去を実行しなければならない場合、実施例6と同様に、フラッシュメモリコントローラ2030は、選択対象のフラッシュメモリ2012の印加電圧情報記憶部2033と印加時間情報記憶部2035を参照してフラッシュメモリ2012の印加電圧情報と印加時間情報を読み出す。
図17は本発明の実施例8の不揮発性記憶システムの機能説明図(書き込み/消去電圧特性図)である。実施例6と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ2030が空き領域をもつフラッシュメモリ2012を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ2012に対して並行的に書き込みや消去を実行しなければならない場合、実施例6と同様に、フラッシュメモリコントローラ2030は、選択対象のフラッシュメモリ2012の印加電圧情報記憶部2033と印加時間情報記憶部2035を参照してフラッシュメモリ2012の印加電圧情報と印加時間情報を読み出す。
フラッシュメモリコントローラ2030は、印加時間情報のパルス幅、パルス間隔、ベリファイ回数を比較する。ここで、図17のように、選択したフラッシュメモリ2012の互いのパルス幅がパルス間隔より狭くなるようにして、ベリファイ回数繰り返す間にパルスが重ならない組み合わせの複数のフラッシュメモリ2012を選択し、書き込み/消去および書き込み/消去ベリファイ動作を互いにずらして実行させる。
本実施例によれば、複数のフラッシュメモリ2012を動作させる場合に、それぞれの書き込み/消去パルスを重ねないように制御することで、フラッシュメモリ2012の消費電力ピークを抑えて電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
《22》[負荷電力通知(電源制御)]
上記の《1》の構成において、互いに異なる電圧レベルの複数種類の処理実行用電源回路のそれぞれは、出力電力量が可変制御可能に構成されているものとする。前記複数のフラッシュメモリのそれぞれは、各フラッシュメモリに固有の複数種類の処理実行用電源回路が必要とする電力量である負荷電力情報をフラッシュメモリコントローラに通知するように構成されている。さらに、フラッシュメモリコントローラは、新たな構成要素として供給電力制御回路を有している。この供給電力制御回路は、受け取った負荷電力情報に基づいて該当の処理実行用電源回路における出力電力量を制御する。
上記の《1》の構成において、互いに異なる電圧レベルの複数種類の処理実行用電源回路のそれぞれは、出力電力量が可変制御可能に構成されているものとする。前記複数のフラッシュメモリのそれぞれは、各フラッシュメモリに固有の複数種類の処理実行用電源回路が必要とする電力量である負荷電力情報をフラッシュメモリコントローラに通知するように構成されている。さらに、フラッシュメモリコントローラは、新たな構成要素として供給電力制御回路を有している。この供給電力制御回路は、受け取った負荷電力情報に基づいて該当の処理実行用電源回路における出力電力量を制御する。
負荷電力情報に関係する処理実行用電源回路については、読み出し用電源回路と、書き込み/消去用電源回路と、ベリファイ用電源回路とのうちのいずれでもよいし、これらのうちから任意の2つ以上を選択して組み合わせたものでもよい。
供給電力制御回路は、通知された負荷電力に従って該当の処理実行用電源回路の出力電力量を制御する。これにより、該当のフラッシュメモリには、そのフラッシュメモリが要求した最適な電力量の電源が正しく供給されることになる。その結果として、消費電力削減の一層シビアな向上が可能となる。
《23》上記《22》の構成において、前記供給電力制御回路は、複数の前記フラッシュメモリから同一の処理実行用電源回路の負荷電力情報を取得したときには、取得した負荷電力情報が示す複数の負荷電力の総和以上の電力が前記同一の処理実行用電源回路に供給されるよう前記同一の処理実行用電源回路の動作を制御するように構成されている。
複数のフラッシュメモリを同時並行状態で動作させるに当たり、その同時並行動作を賄うに足りる電力が、複数のフラッシュメモリを駆動する同一の処理実行用電源回路に供給されることになる。これは結果として、消費電力削減に寄与することになる。
上記の《22》,《23》の構成の具体例を実施例9として以下に説明する。
<実施例9>
図18は本発明の実施例9の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態に加えて、さらに読み出し用電源電圧、書き込み/消去用電源電圧、ベリファイ用電源電圧の負荷電力情報を含む。これらの情報は、そのフラッシュメモリ2012が動作するのに必要な電力量を示している。個々のフラッシュメモリ2012ごとに最適な電源電圧情報がある。複数のフラッシュメモリの相互間には製造公差等に起因する個体差がある。
図18は本発明の実施例9の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態に加えて、さらに読み出し用電源電圧、書き込み/消去用電源電圧、ベリファイ用電源電圧の負荷電力情報を含む。これらの情報は、そのフラッシュメモリ2012が動作するのに必要な電力量を示している。個々のフラッシュメモリ2012ごとに最適な電源電圧情報がある。複数のフラッシュメモリの相互間には製造公差等に起因する個体差がある。
負荷電力情報を通知する手段として負荷電力通知信号A35があり、これは直接フラッシュメモリコントローラ2030と接続されていてもよい。T9はフラッシュメモリ2012における負荷電力通知信号A35の出力端子である。
フラッシュメモリコントローラ2030は、さらに供給電力制御回路2036を備えている。供給電力制御回路2036は、フラッシュメモリ2012の負荷電力情報と現在の供給電力とを比較し、供給電力が負荷電力を上回るように、フラッシュメモリ電源回路2020の各電源回路2021,2022,2023の供給電力を制御する。
図19は本発明の実施例9の不揮発性記憶システムの負荷電力制御シーケンスを示すフローチャートである。ステップS141~S143は、実施例5の場合の図13のステップS101~S103に相当する。ステップS150~S153は、図13のステップS111~S114に相当する。
ステップS143の判断で書き込み/消去用電源回路2021が停止している場合、ステップS144において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012の内部状態読み出しコマンドを発行して、割り込み(ベリファイ終了時)のあったフラッシュメモリ2012の書き込み電源の負荷電力情報を読み出す。
次いでステップS145において、供給電力制御回路2036はその負荷電力情報よりも供給電力を大きく設定して、書き込み/消去用電源回路2021を起動する。
一方、ステップS143の判断で書き込み/消去用電源回路2021が動作している場合、ステップS146において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012の内部状態読み出しコマンドを発行して、割り込み(ベリファイ終了時)のあったフラッシュメモリ2012の書き込み電源の負荷電力情報を読み出す。
次いでステップS147において、供給電力制御回路2036は、読み出した負荷電力情報と現在の負荷電力情報とを合計し、現在の書き込み/消去用電源回路2021の供給電力とを比較する。
次いでステップS148の判断で、負荷電力情報の合計の方が大きい場合、ステップS149において、その負荷電力情報よりも供給電力を大きくするように書き込み/消去用電源回路2021の供給電力を変更する。
一方、供給電力制御回路2036は、読み出した負荷電力情報と現在の負荷電力情報とを合計し、現在の書き込み/消去用電源回路2021の供給電力とを比較し、負荷電力情報の合計の方が小さい場合、ステップS152において、現在の書き込み/消去用電源回路2021の供給電力を維持する。
本実施例によれば、フラッシュメモリ2012が消費する負荷電力情報を通知することで、必要な電力だけを外部電源から供給することができるので、電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
《24》[負荷電力通知(メモリ選択)]
上記の《22》の構成において、前記フラッシュメモリコントローラは、さらに、複数のフラッシュメモリから受け取った負荷電力情報を記憶しておくための負荷電力情報記憶部を有している。フラッシュメモリコントローラは、負荷電力情報記憶部に記憶されている負荷電力情報を参照して選択対象のフラッシュメモリを決定する。
上記の《22》の構成において、前記フラッシュメモリコントローラは、さらに、複数のフラッシュメモリから受け取った負荷電力情報を記憶しておくための負荷電力情報記憶部を有している。フラッシュメモリコントローラは、負荷電力情報記憶部に記憶されている負荷電力情報を参照して選択対象のフラッシュメモリを決定する。
負荷電力情報はフラッシュメモリ側で管理され、フラッシュメモリコントローラ側に送られる。フラッシュメモリコントローラでは、受け取った負荷電力情報は負荷電力情報記憶部に記憶される。負荷電力情報記憶部は、すべてのフラッシュメモリについての負荷電力情報を保持しておくことが可能である。
フラッシュメモリコントローラにホストなどからの動作指令があったときに、複数のフラッシュメモリのうちどのフラッシュメモリをアクセス対象に選択するかが問題となる。このアクセス対象のフラッシュメモリの選択において、負荷電力情報記憶部におけるすべてのフラッシュメモリの負荷電力情報を参照して、1つのアクセス対象のフラッシュメモリを決定することにすれば、消費電力の削減を図る上で大いに寄与することが可能になる。
《25》上記の《24》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリのうち空き状態にあってアクセス対象候補のフラッシュメモリが複数ある場合には、負荷電力情報記憶部に記憶されている負荷電力情報を参照して、選択対象のフラッシュメモリとして負荷電力が最も低いフラッシュメモリに決定するように構成されている。
空き状態にある複数のアクセス対象候補のフラッシュメモリの中から負荷電力が最も低いフラッシュメモリを選択対象のフラッシュメモリに決定すれば、同じ種類の処理を実行するのに、より少ない電力で実行することが可能になる。このように複数の負荷電力を相互比較できるのも、負荷電力情報記憶部にすべてのフラッシュメモリの負荷電力情報を記憶しておくことができるからである。負荷電力が最も低いフラッシュメモリを採用するので、消費電力削減の一層シビアな向上が可能となる。
上記の《24》,《25》の構成の具体例を実施例10として以下に説明する。
<実施例10>
図20は本発明の実施例10の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリコントローラ2030のフラッシュメモリ内部状態管理テーブル2032に、フラッシュメモリ2012ごとの負荷電力情報を記憶する負荷電力情報記憶部2037をさらに備える。負荷電力情報の収集は、システム起動時にすべてのフラッシュメモリ2012に対して内部状態読み出しコマンドを発行して、負荷電力情報記憶部2037に登録してもよいし、一度アクセスしたフラッシュメモリ2012の負荷電力情報を、その都度負荷電力情報記憶部2037に記憶してもよい。ここでは、システム起動時に一度に負荷電力情報を読み出す場合の例で説明する。
図20は本発明の実施例10の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリコントローラ2030のフラッシュメモリ内部状態管理テーブル2032に、フラッシュメモリ2012ごとの負荷電力情報を記憶する負荷電力情報記憶部2037をさらに備える。負荷電力情報の収集は、システム起動時にすべてのフラッシュメモリ2012に対して内部状態読み出しコマンドを発行して、負荷電力情報記憶部2037に登録してもよいし、一度アクセスしたフラッシュメモリ2012の負荷電力情報を、その都度負荷電力情報記憶部2037に記憶してもよい。ここでは、システム起動時に一度に負荷電力情報を読み出す場合の例で説明する。
図21のフローチャートに従ってフラッシュメモリ選択の動作を説明する。ステップS161において、不揮発性記憶システムの電源が入ってフラッシュメモリコントローラ2030が起動する。次いでステップS162において、フラッシュメモリコントローラ2030は接続されているすべてあるいは一部のフラッシュメモリ2012に対して内部状態読み出しコマンドを発行して、フラッシュメモリ2012のインフォメーションレジスタ2014から負荷電力情報を読み出す。
次いでステップS163において、読み出された負荷電力情報は、フラッシュメモリ内部状態管理テーブル2032の負荷電力情報記憶部2037に記憶される。次いでステップS164でホストから書き込み要求/消去があった場合、ステップS165において、フラッシュメモリコントローラ2030は、データ書き込みが可能な空き領域をもつフラッシュメモリ2012を選択することになる。
選択対象のフラッシュメモリ2012が複数ある場合、ステップS166のように、フラッシュメモリコントローラ2030は、それらのフラッシュメモリ2012の負荷電力情報記憶部2037を参照して、フラッシュメモリ2012の負荷電力情報を読み出す。次いでステップS167において、フラッシュメモリコントローラ2030はそれらの負荷電力情報を比較し、選択対象のフラッシュメモリ2012の中で最も負荷電力が小さいフラッシュメモリ2012を選択する。次いでステップS168において、フラッシュメモリコントローラ2030は選択したフラッシュメモリ2012に処理の実行の命令を発行する。
本実施例によれば、フラッシュメモリ2012の負荷電力情報をあらかじめ負荷電力情報記憶部2037に記憶しておき、負荷電力の小さいフラッシュメモリ2012を優先的に選択するので、フラッシュメモリ電源回路の電力供給を抑え、システム全体の電力消費を下げることができる。
《26》[負荷電力通知(複数メモリ選択)]
上記の《25》の構成において、フラッシュメモリコントローラは、複数のフラッシュメモリに対して同時並行状態でアクセスすることになる場合には、負荷電力情報記憶部2037に記憶されている負荷電力情報を参照して、同一の前記処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに負荷電力の和がより少ないフラッシュメモリどうしを優先して選択するように構成されている。
上記の《25》の構成において、フラッシュメモリコントローラは、複数のフラッシュメモリに対して同時並行状態でアクセスすることになる場合には、負荷電力情報記憶部2037に記憶されている負荷電力情報を参照して、同一の前記処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに負荷電力の和がより少ないフラッシュメモリどうしを優先して選択するように構成されている。
理解を容易にするため、一例を挙げて説明する。いま、2つのフラッシュメモリに対して同時にアクセスしようとするときに、アクセス対象候補のフラッシュメモリが3つあるとする。第1のフラッシュメモリと第2のフラッシュメモリの負荷電力の和がP12、第2のフラッシュメモリと第3のフラッシュメモリの負荷電力の和がP23、第3のフラッシュメモリと第1のフラッシュメモリの負荷電力の和がP31とする。この3つの負荷電力の和P12,P23,P31のうち、P12が最も小さいときは第1のフラッシュメモリと第2のフラッシュメモリとの組み合わせを選択し、P23が最も小さいときは第2のフラッシュメモリと第3のフラッシュメモリとの組み合わせを選択し、P31が最も小さいときは第3のフラッシュメモリと第1のフラッシュメモリとの組み合わせを選択する。
負荷電力の和が少ないフラッシュメモリどうしを優先的に組み合わせて選択することで、余分な負荷電力を費やすことなく電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
上記の《26》の構成の具体例を実施例11として以下に説明する。
<実施例11>
図22は本発明の実施例11の不揮発性記憶システムの動作を示すフローチャートである。ステップS171~S176およびS178は、図21におけるステップS161~S166およびS168と同じである。ステップS176だけが相違している。
図22は本発明の実施例11の不揮発性記憶システムの動作を示すフローチャートである。ステップS171~S176およびS178は、図21におけるステップS161~S166およびS168と同じである。ステップS176だけが相違している。
実施例10と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ2030が空き領域をもつフラッシュメモリ2012を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ2012に対して並行的に書き込みや消去を実行しなければならない場合、実施例10と同様に、フラッシュメモリコントローラ2030は、選択対象のフラッシュメモリ2012の負荷電力情報記憶部2037を参照してフラッシュメモリ2012の負荷電力情報を読み出す。
ステップS177において、フラッシュメモリコントローラ2030は負荷電力情報を比較し、選択対象のフラッシュメモリ2012の中で負荷電力の合計が最も小さいフラッシュメモリ2012どうしを優先的に組み合わせて選択する。
本実施例によれば、あらかじめフラッシュメモリ2012への負荷電力情報を記憶しておき、負荷電力の合計が少ないフラッシュメモリ2012どうしを優先的に組み合わせて選択することで、電源を効率良く供給することができ、システム全体の電力消費を下げることができる。
《27》[負荷電力通知(タイミングずらし)]
上記の《25》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスし、かつ複数の前記フラッシュメモリでの負荷電力の総和が処理実行用電源回路の給電能力を超える場合は、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、複数の前記フラッシュメモリの動作実行において互いにタイミングが重ならない状態で制御するように構成されている。
上記の《25》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリに同時並行状態でアクセスし、かつ複数の前記フラッシュメモリでの負荷電力の総和が処理実行用電源回路の給電能力を超える場合は、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、複数の前記フラッシュメモリの動作実行において互いにタイミングが重ならない状態で制御するように構成されている。
フラッシュメモリコントローラが複数のフラッシュメモリに同時並行的にアクセスする状態において、複数のフラッシュメモリでの負荷電力の総和が処理実行用電源回路の給電能力を超える場合には、互いにタイミングが重ならない状態で複数のフラッシュメモリを制御する。これによれば、フラッシュメモリの消費電力ピークが過剰に高くなることを抑えることが可能で、その効率良い給電により、システム全体の電力消費を下げることができる。
上記の《27》の構成の具体例を実施例12として以下に説明する。
<実施例12>
図23は本発明の実施例12の不揮発性記憶システムの動作を示すフローチャートである。ステップS181~S186は、図22におけるステップS171~S176と同じである。ステップS187~S189が相違している。
図23は本発明の実施例12の不揮発性記憶システムの動作を示すフローチャートである。ステップS181~S186は、図22におけるステップS171~S176と同じである。ステップS187~S189が相違している。
実施例10と同様の構成で、ホストからの書き込み要求によってフラッシュメモリコントローラ2030が空き領域をもつフラッシュメモリ2012を選択することを前提とする。速度要求などでシステム構成上、複数のフラッシュメモリ2012に同時並行状態で書き込みや消去を実行しなければならない場合、フラッシュメモリコントローラ2030は、選択対象のフラッシュメモリ2012の負荷電力情報記憶部2037を参照してフラッシュメモリ2012の負荷電力情報を読み出す。
ステップS187において、フラッシュメモリコントローラ2030は負荷電力情報を比較する。すなわち、選択対象のフラッシュメモリ2012の負荷電力の合計が書き込み/消去用電源回路2021の最大供給電力を超えてしまう場合、ステップS188において、選択した複数のフラッシュメモリ2012の動作が重ならないように、順番に書き込み/消去を実行させる。また選択対象のフラッシュメモリ2012の負荷電力の合計が書き込み/消去用電源回路2021の最大供給電力を超えない場合、ステップS189において、選択した複数のフラッシュメモリ2012を同時に書き込み/消去する。
本実施例によれば、あらかじめフラッシュメモリ2012からの負荷電力情報を記憶しておき、負荷電力が供給電力を超える場合、フラッシュメモリ2012を順番に動作させることで、システム全体の電力消費を下げることができる。
《28》[不良ビット数通知]
上記の《1》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリからベリファイ時の不良ビット数情報を受け取り、受け取った不良ビット数情報に従ってフラッシュメモリの処理の実行を制御するように構成されている。
上記の《1》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリからベリファイ時の不良ビット数情報を受け取り、受け取った不良ビット数情報に従ってフラッシュメモリの処理の実行を制御するように構成されている。
《29》上記の《28》の構成において、前記フラッシュメモリコントローラは、通知された不良ビット数が規定値以下になった場合に、直ちにフラッシュメモリの動作を停止させるように構成されている。
一般的に不揮発性記憶システムは読み出しデータに対するエラー訂正機能をもっている。フラッシュメモリコントローラがその機能を果たすことが多い。したがって、書き込み時のエラーについては、必ずしもこれを常に完全にゼロとなるまで対応する必要はない。そこで、不良が発生し、ベリファイによって不良が矯正され、不良ビット数が減少して規定値以下になったときは、それ以上のベリファイ動作を処理しても、別の手立てで対応することができる。この考え方に基づいたもので、通知された不良ビット数が規定値以下になった場合に、直ちにフラッシュメモリの動作を停止させる。結果として、不必要な再書き込みの回数が低減し、消費電力削減の一層シビアな向上が可能となる。
上記の《28》,《29》の構成の具体例を実施例13として以下に説明する。
<実施例13>
図24は本発明の実施例13の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態に加えて、不良ビット数情報を含む。不良ビット数情報とは、書き込みベリファイまたは消去ベリファイ時に正しく書き込みまたは消去できなかったビット数を示している。不良ビット情報を通知する手段としては、不良ビット数通知信号A36として直接フラッシュメモリコントローラ2030と接続されていてもよい。T10はフラッシュメモリ2012における不良ビット数通知信号A36の出力端子である。
図24は本発明の実施例13の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ2012のインフォメーションレジスタ2014が示す情報は、フラッシュメモリ2012の内部コントローラ(図示せず)が実行している動作状態に加えて、不良ビット数情報を含む。不良ビット数情報とは、書き込みベリファイまたは消去ベリファイ時に正しく書き込みまたは消去できなかったビット数を示している。不良ビット情報を通知する手段としては、不良ビット数通知信号A36として直接フラッシュメモリコントローラ2030と接続されていてもよい。T10はフラッシュメモリ2012における不良ビット数通知信号A36の出力端子である。
図25は本発明の実施例13の不揮発性記憶システムの動作を示すフローチャートである。ステップS191の書き込み/消去用電源回路2021のシーケンスにおいて、ベリファイ用電源シーケンスが終了し、次いでステップS192において、フラッシュメモリコントローラ2030が内部状態読み出しコマンドを発行して、割り込みのあったフラッシュメモリ2012の内部状態を確認する際、ステップS193で不良ビット数情報を参照する。
不良ビット数がある規定数Nより多ければ、ステップS197を経て、ステップS198の通常の書き込み/消去用電源シーケンスを継続する。もし不良ビット数がある規定数N以下であれば、ステップS194において、フラッシュメモリコントローラ2030はフラッシュメモリ2012の内部動作を再開させると同時に、リセットコマンドを発行し、フラッシュメモリ2012の内部動作を強制的にスタンバイ状態に移行させる。
フラッシュメモリ2012はスタンバイ状態になると、ステップS195において、フラッシュメモリ割り込み通知信号A31をフラッシュメモリコントローラ2030へ出力する。
次いでステップS196において、フラッシュメモリコントローラ2030は、フラッシュメモリ2012からフラッシュメモリ割り込み通知信号A31を受けて、フラッシュメモリ内部状態管理テーブル2032の現在アクセスしているフラッシュメモリ2012の状態を「書き込みベリファイ」または「消去ベリファイ」から「スタンバイ」へ更新する。
不良ビット数の規定数Nの意味するところは、フラッシュメモリコントローラ2030側では読み出し時にエラー訂正機能をもっており、読み出し時のエラーを考慮した上で書き込み時のエラーがある程度許容できる範囲内であれば、書き込みを完了しても、読み出し時のエラーを回避できると判断できるため、不必要な再書き込みの回数を削減できる。
不良ビット数の規定数Nは、あらかじめフラッシュメモリコントローラ2030のプログラムなどで定義したものを使用してもよいし、フラッシュメモリ2012ごとの冗長領域などに規定しておき、それをフラッシュメモリコントローラ2030側から都度読み出して使用してもよい。
本実施例によれば、フラッシュメモリ2012の書き込み/消去ベリファイ時の不良ビット数をコントローラ側に通知することで、不必要な再書き込み/消去の回数を減らすことができるため、システム全体の電力消費を下げることができる。
《30》[複数の電源ブロック]
上記の《1》~《29》の構成において、前記フラッシュメモリ電源回路は、これを複数のグループに分割してもよい。この場合に、複数のフラッシュメモリも複数のグループに分割しておく。分割数はフラッシュメモリ電源回路とフラッシュメモリとで同じとする。第i番目のグループのフラッシュメモリ群は第i番目のグループのフラッシュメモリ電源回路に関連付ける。すなわち、各グループのフラッシュメモリは、互いに独立して各グループ単位のフラッシュメモリ電源回路に関連付けられている。フラッシュメモリの規模が一定以上に大きくなるときに、本項の技術は有用となる。
上記の《1》~《29》の構成において、前記フラッシュメモリ電源回路は、これを複数のグループに分割してもよい。この場合に、複数のフラッシュメモリも複数のグループに分割しておく。分割数はフラッシュメモリ電源回路とフラッシュメモリとで同じとする。第i番目のグループのフラッシュメモリ群は第i番目のグループのフラッシュメモリ電源回路に関連付ける。すなわち、各グループのフラッシュメモリは、互いに独立して各グループ単位のフラッシュメモリ電源回路に関連付けられている。フラッシュメモリの規模が一定以上に大きくなるときに、本項の技術は有用となる。
《31》上記の《30》の構成において、前記フラッシュメモリコントローラは、複数のフラッシュメモリにアクセスする場合に、同じ電源を共有するグループのフラッシュメモリを優先して選択するように構成されている。
同じ電源グループのフラッシュメモリを優先的に選択することで、使用していない電源グループのフラッシュメモリ電源回路を停止することができるため、システム全体の電力消費を下げることができる。
上記の《30》,《31》の構成の具体例を実施例14として以下に説明する。
<実施例14>
図26は本発明の実施例14の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ電源回路2020を複数備え、フラッシュメモリ2012は複数のフラッシュメモリ電源回路2020ごとにグループ分けされた電源グループに接続されている。
図26は本発明の実施例14の不揮発性記憶システムの構成を示すブロック図である。フラッシュメモリ電源回路2020を複数備え、フラッシュメモリ2012は複数のフラッシュメモリ電源回路2020ごとにグループ分けされた電源グループに接続されている。
実施例1と同様にフラッシュメモリコントローラ2030は、フラッシュメモリ2012からのフラッシュメモリ内部状態通知信号A3によって複数のフラッシュメモリ電源回路2020を制御する。またフラッシュメモリコントローラ2030は、システム構成としてどのフラッシュメモリ2012がどの電源グループに属しているかは知っていることとする。
フラッシュメモリコントローラ2030が書き込み/消去を行う場合で、すでに他のフラッシュメモリ2012が動作中である場合、フラッシュメモリコントローラ2030はすでに動作しているフラッシュメモリ2012が属している電源グループの中から優先的に次に書き込み/消去対象となるフラッシュメモリ2012を選択する。
またはフラッシュメモリコントローラ2030が書き込み/消去を行う場合で、速度要求などから複数のフラッシュメモリ2012に同時に書き込み/消去を行わなければならない場合、同じ電源グループの中の複数のフラッシュメモリ2012を選択する。
本実施例によれば、複数のフラッシュメモリ電源回路2020によって電源グループを形成し、同じ電源グループのフラッシュメモリ2012を優先的に選択することで、使用していない電源グループのフラッシュメモリ電源回路2020を停止することができるため、システム全体の電力消費を下げることができる。
<実施例15>
フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいは、ストレージシステム動作の消費電力が課題となる。特に、プログラム性能を向上させるために、複数のフラッシュメモリチップに対して、同時にプログラム動作を実行させる場合に、その消費電流により、システムの電源や、放熱に対するコストが増大することになる。このため、フラッシュメモリ動作時の消費電流の削減が望まれる。
フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいは、ストレージシステム動作の消費電力が課題となる。特に、プログラム性能を向上させるために、複数のフラッシュメモリチップに対して、同時にプログラム動作を実行させる場合に、その消費電流により、システムの電源や、放熱に対するコストが増大することになる。このため、フラッシュメモリ動作時の消費電流の削減が望まれる。
例えば、20V以上の高電圧を発生する昇圧回路は、電力効率が悪く、プログラム動作および消去動作において、メモリセルのしきい値を変更するのに要する電力の何倍もの電力を消費することになり、フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいは、昇圧回路をフラッシュメモリチップ毎に備えているため、複数チップに対して同時にプログラム動作および消去動を実行する時は、消費電力が膨大となり、システムにおける電源設計に支障をきたすことになる。
このため、高電圧を発生する電源回路をフラッシュメモリチップの外部に設けることが、前述の先行例に開示されているが、フラッシュメモリに対するプログラムや消去動作は、コマンド入力により実行され、動作が完了したことを示す信号や、ステータスレジスタにより外部に通知するのみであった。したがって、プログラムや消去動作においては、動作開始から完了までの間、電源回路は常時最大電圧となる20Vを発生する必要があった。
これに対して、本実施例の不揮発性半導体記憶装置は、動作実行コマンドを受けて、内部のコントローラの動作シーケンスに応じて、外部電源回路の動作を制御することができるので、低消費動作が可能となり、ストレージシステムなど、不揮発性半導体記憶装置を多数用いるシステムに適用すると、システムの低消費電力化および、性能向上に極めて有用である。
本実施例は、図27に示すように、本発明の不揮発性半導体記憶装置の第1の構成例を示す。データを記憶するためのメモリセルアレイ1102は、メモリセルがアレイ状に配置されており、メモリセルのしきい値を変化させることにより情報を記憶している。プログラム動作によりメモリセルのしきい値を高く設定し、消去動作によりメモリセルのしきい値を低く設定することができる。メモリセルアレイ1102に対する読み出しおよび、プログラム動作においてはページ単位で、消去動作においてはブロック単位でアクセスがおこなわれる。
ページは、ローデコーダ1104により選択される特定ワード線により指定され、読み出し動作においては、指定されるページのメモリセル記憶データが、センスアンプ1108により判定され、データレジスタ1109へ転送され、データレジスタ1109に転送されたデータは、カラムデコーダ1106により指定されるスタートポイントから順次入出力回路1112へと読み出され、入出力端子IOへ出力される。
データ書き込みにおいては、シリアルデータ入力モードを用いて、入出力端子IOから入力されるデータを、カラムデコーダ1106により指定されるスタートポイントから順次データレジスタ1109へ取込み、オートプログラムモードにおいて、指定されるページに転送される。
メモリセルアレイ1102に対する消去動作は、ローデコーダ1104により選択される複数のワード線により指定されるブロックに対して消去電圧が与えられ、ブロック内のメモリセルが消去状態に設定される。
プログラム、消去などのフラッシュメモリ1100に対する動作は、IO端子より入力される動作コマンドにより設定される。動作コマンドの一覧は図32に示す。フラッシュメモリ1100は、論理回路やセンスアンプ1108などに供給される3VなどのVCC電圧端子に加え、VCCよりも高い電圧を受け取るVPP1、VPP2、VPP3の高電圧電源端子を有している。このVPP1、VPP2、VPP3電源端子は、例えばプログラム/消去用電圧、ベリファイ用電圧、読み出し用電圧を受け取る。
フラッシュメモリ1100内部の回路ブロックは、VPP1、VPP2、VPP3高電圧電源端子に与えられる電圧を用いるか、VPP1、VPP2、VPP3高電圧電源端端子に与えられる電圧を受け、電圧発生回路1130により生成される電圧を用いて動作する。
インフォメーションレジスタ1132は、フラッシュメモリ1100がオートプログラムや、オートブロック消去のコマンドを受けて、コントローラ1116がプログラムや消去動作のシーケンスを実行するに際して、そのシーケンス実行状況を保持するためのものである。
インフォメーションレジスタ1132へは、例えば図28に示すように、実行中の動作モード、オートプログラムまたはオートブロック消去シーケンス実行時の電圧印加繰り返し回数(ベリファイ回数)、印加電圧値、印加パルス幅、印加パルス間隔、ベリファイ実行時のエラービット数等を情報としてセットする。
この構成により、動作実行コマンドを受けて、内部のコントローラにより動作シーケンスを実行するフラッシュメモリにおいて、コントローラが生成する、内部の動作状態(インフォメーションレジスタの値)を外部へ知らせることが可能となるので、フラッシュメモリコントローラおよび、高電圧発生回路を備えたストレージシステムにおいて、フラッシュメモリ内部の動作状況に応じて、高電圧発生回路を制御することができ、フラッシュメモリ内部の動作に必要となる電圧発生回路のみを動作させ、内部動作に不要な電源回路を動作させることなく、不要な電流消費を抑制することができるので、システムの低消費動作化を実現することができる。また、フラッシュメモリ外部での高電圧発生回路に対して、フラッシュメモリの動作モードに応じた電圧発生制御が可能となり、ストレージシステムの低消費電力化が可能となる。
図29にオートプログラム実行時のシーケンス例を示している。オートプログラムコマンドを受けて、オートプログラムシーケンスが開始されると(1302)、プログラムのための動作としては、まずプログラムベリファイを実行する(1314)が、プログラムベリファイの実行をおこなうまでに、必要な設定をおこなう。
まず、ステップ(1304)において、インフォメーションレジスタ1132に対して必要な情報をセットすると同時に、インフォメーションレジスタ1132の内容が変更されたことを外部へ示すために、インフォメーションレジスタ変更通知信号CHIを”H”に設定する。その後、フラッシュメモリが動作を実行中であることを示すレディー/ビジー信号RY/BY信号を”L”に設定する(1306)と同時に、ステータスレジスタ1122の内容を動作実行中であることを示す値にセットする(1308)。
図30にプログラムシーケンスにおけるインフォメーションレジスタ1132へセットされる内容を示している。プログラムシーケンスステップ(1304)においては、実行予定の動作がプログラムベリファイであり、繰り返し回数が0回目、ワード線への印加電圧が6V、であることを示す値がセットされている。
ストレージシステムにおけるフラッシュメモリ1100を制御するフラッシュメモリコントローラ(図27には図示せず)は、フラッシュメモリ1100が備えるインフォメーションレジスタ1132の内容が変更されたことを示すインフォメーションレジスタ変更通知信号CHIの変化を受けて、インフォメーションレジスタ1132の内容を読み出し、プログラムベリファイ動作に必要となる電圧を設定するよう制御する。
これにより、フラッシュメモリ外部のフラッシュメモリコントローラに対して、内部の動作状態(インフォメーションレジスタの値)を読み出すべきタイミングを知らせることができ、フラッシュメモリコントローラに対するインターラプト信号として用いることができるので、フラッシュメモリコントローラの制御が容易となる。
プログラムベリファイ実行に必要となる電圧が発生され、高電圧電源端子VPP2へ与えられると、フラッシュメモリコントローラから、フラッシュメモリ内部動作制御信号A4として、電圧が設定されたことを示す信号SETが”H”に設定される。この時、他の高電圧電源端子VPP1およびVPP3へ与えられ電源電圧は、フラッシュメモリ1100内部で用いられることはないので、高電圧である必要はなく、例えばVCCと同電位で良い。このため、フラッシュメモリ1100外部でVPP1およびVPP3へ与えるための高電圧発生回路を動作させる必要はない。これにより、フラッシュメモリにおける動作シーケンスに応じたフラッシュメモリ外部での高電圧発生制御が可能となり、ストレージシステムにおいて、さらなる低消費電力化が可能となる。
プログラムシーケンスステップ(1310)において、SET端子へ入力される信号が”H”に設定されることを確認している。”H”に設定されていなければ、ウェイト(1312)を介するループを回っており、SET信号が”H”に設定された時点で、プログラムベリファイ(1314)を実行し、その後のステップ(1316)において、インフォメーションレジスタ変更通知信号CHIを”L”に設定する。これにより、フラッシュメモリに内蔵するコントローラによる動作シーケンス制御のタイミングを判断することができるので、その制御が容易となる。
ステップ(1318)では、プログラムベリファイにおいて、しきい値が目標に到達していないメモリセルのエラービット数を確認し、エラービット数がゼロであるか否かによってプログラムベリファイがパスしたかどうかを判定する。エラービットが存在し、プログラムベリファイがフェイルした場合には、プログラム動作をおこなうために、ステップ(1320)でインフォメーションレジスタ1132に対して、実行予定の動作がプログラムであり、繰り返し回数が1回目、ワード線への印加電圧が10V、パルス幅が20us、パルス間隔が40us、以前のプログラムベリファイでのエラービット数が8192ビットであることを示す値をセットすると同時に、インフォメーションレジスタ変更通知信号CHIを”H”に設定する。
インフォメーションレジスタ変更通知信号CHIの変化を受けて、フラッシュメモリコントローラは、インフォメーションレジスタ1132の内容を読み出し、プログラム動作に必要となる電圧を設定するよう制御する。プログラム動作に必要となる電圧が発生され、高電圧電源端子VPP1へ与えられると、フラッシュメモリコントローラから、フラッシュメモリ内部動作制御信号A4として、電圧が設定されたことを示す信号SETが”H”に設定される。この時、他の高電圧電源端子VPP2およびVPP3へ与えられ電源電圧は、フラッシュメモリ1100内部で用いられることはないので、高電圧である必要はなく、例えばVCCと同電位で良い。このため、フラッシュメモリ100外部でVPP2およびVPP3へ与えるための高電圧発生回路を動作させる必要はない。
プログラムシーケンスステップ(1322、1324)において、SET端子へ入力される信号が”H”に設定されることを確認し、”H”に設定された後にプログラム動作(1326)を実行した後に、ステップ(1328)において、インフォメーションレジスタ変更通知信号CHIを”L”に設定する。
プログラム動作(1326)実行後には、プログラムベリファイを実行する必要があり、このため、ステップ(1330)において、インフォメーションレジスタ1132に対して、図30(1330-1)に示すように、実行予定の動作がプログラムベリファイであり、繰り返し回数が1回目、ワード線への印加電圧が6V、であることを示す値をセットすると同時に、インフォメーションレジスタ変更通知信号CHIを”H”に設定する。
フラッシュメモリコントローラが、インフォメーションレジスタ1132の内容が変更されたことを示すインフォメーションレジスタ変更通知信号CHIの変化を受けて、インフォメーションレジスタ1132の内容を読み出し、プログラムベリファイ動作に必要となる電圧を設定するよう制御し、高電圧電源端子VPP2へ与える電圧を発生する回路のみを動作させる。
以降、ステップ(1310)において、プログラムベリファイ実行に必要となる電圧が設定され、電圧が設定されたことを示す信号SETが”H”に設定されることを確認して、プログラムベリファイ(1314)を実行し、ステップ(1318)におけるプログラムベリファイ結果の確認において、ベリファイがパスするまで、ステップ(1310)~(1330)を繰り返す。
図30に示すインフォメーションレジスタの内容(1320-1)~(1330-26)は、ベリファイがパスするまで、プログラムとプログラムベリファイの繰り返し回数が26回であったことを示している。これにより、フラッシュメモリにおける動作シーケンスでの使用電圧に応じたフラッシュメモリ外部での高電圧発生制御が可能となり、ストレージシステムにおいて、さらなる低消費電力化が可能となる。
ステップ(1318)におけるプログラムベリファイ結果の確認において、ベリファイエラービットがゼロとなり、ベリファイがパスすると、ステップ(1332)において、インフォメーションレジスタ1132に対して、図29(1332)に示すように、次の動作が読み出しスタンバイであることを示す値をセットすると同時に、インフォメーションレジスタ1132の内容が変更されたことを示すために、インフォメーションレジスタ変更通知信号CHIを”H”に設定する。その後、ステータスレジスタ1122の内容を動作が完了し、コマンドを受け付ける状態であることを示す値にセットし(1334)、同様に、フラッシュメモリがコマンドを受け付ける状態であることを示すレディー/ビジー信号RY/BY信号を”H”に設定する(1336)。
次に、ステップ(1338)において、インフォメーションレジスタ変更通知信号CHIを”L”に設定して、オートプログラム動作を完了する(1340)。インフォメーションレジスタ1132内容として、ベリファイエラービット数を含んでいるのは、フラッシュメモリコントローラが、プログラムベリファイがフェイルであっても、ベリファイエラービット数が特定ビット数値以下となった時点で、オートプログラムの終了を判断することを可能とするためである。
これにより、フラッシュメモリにおける動作シーケンスでの動作状態に応じたフラッシュメモリ外部での高電圧発生制御が可能となり、ストレージシステムにおいて、さらなる低消費電力化が可能となる。
図29に示したシーケンスを実行するための、コントローラ1116の具体回路構成例を図31に示している。コマンドインターフェイス1502は、コマンドレジスタ1118からのコマンド信号と、コントロールロジック1114からの制御信号を受け取り、各ブロックの動作モードを制御する。マイクロコントローラ1504は、コマンドインターフェイス1502からの信号を受けて、動作モードに応じて、RAM1512に書き込まれている動作命令を実行し、周辺回路インターフェイス1506を介して、メモリ内部の各ブロックを制御する内部制御信号、電圧印加制御信号などを出力する。
図29に示す動作シーケンスを実行するための命令はすべてRAM1512に記憶されており、マイクロコントローラ1504は、このような動作モードに応じて内部ブロックの制御信号を出力すると同時に、動作シーケンスでのインフォメーションレジスタ設定ステップで、図30に示すような情報をインフォメーションレジスタ1132にセットするとともにインフォメーションレジスタ1132のセット内容が変更になったことを外部へ知らせる信号CHIを出力する。また、外部のフラッシュメモリコントローラから与えられるSET信号をマイクロコントローラ1504の制御信号として与えており、図29に示す動作シーケンスにおける、ステップ実行制御に用いている。
図31における1508はクロック発生回路であり、マイクロコントローラ1504を動作させるためのクロック信号を発生するとともに、このクロック信号を用いてタイマ1510はコントローラ1116の動作に必要なタイミング信号を発生する。
このように、高電圧発生回路をメモリ外部に備え、動作実行コマンドを受けて、内部のコントローラにより動作シーケンスを実行するフラッシュメモリを用いるシステムにおいて、コントローラが生成する、内部の動作状態(インフォメーションレジスタの値)を出力する端子を備え、外部に出力する構成とすることにより、フラッシュメモリコントローラが、内部の動作に必要となる電圧発生回路のみを動作させ、フラッシュメモリへ与えることにより、必要な動作を実現できるので、内部動作に不要な電源回路を動作させることなく、不要な電流消費を抑制することができるので、システムの低消費動作にきわめて有用である。
本実施例においては、高電圧電源端子を、プログラム/消去用電圧、ベリファイ用電圧、読み出し用電圧を受け取るVPP1、VPP2およびVPP3の3種類としているが、プログラム/消去用電圧とベリファイ用電圧を同一の電源端子とし、2種類の高電圧電源端子とすることも可能であるが、外部電源の制御が複雑となるとともに、低消費電力化の効果が削減される。これにより、フラッシュメモリの動作に必要となる高電圧をフラッシュメモリ外部で発生する構成が可能となり、フラッシュメモリを多数用いるストレージシステムにおいて、低消費電力化の制御が容易となる。
また、フラッシュメモリでのプログラムや消去動作時に、内部回路で必要となる他の電圧種をも外部での発生とし、高電圧電源端子数を増やすことも可能であるが、この場合、きめ細かな電源回路の制御により、より低消費電力化が可能である半面、フラッシュメモリの端子数が増加することとなる。これにより、フラッシュメモリ外部で複数種類の高電圧発生回路から高電圧を供給する構成を可能とし、フラッシュメモリの動作状態に応じて、複数の高電圧発生回路の動作を細かく制御することができるので、より低消費電力化が可能となる。
図27に示す本実施例のフラッシュメモリブロック構成例においては、インフォメーションレジスタの内容を、フラッシュメモリ1100に対する、コマンドやアドレスの入力およびデータ入出をおこなうIO端子を用いて読み出す構成としている。これにより、端子数を増加することなしに、内部の動作状態(インフォメーションレジスタの値)を外部へ出力することができ、多数のフラッシュメモリを用いるストレージシステムにおいて、フラッシュメモリコントローラとフラッシュメモリ間の配線を増やすことなしに、低消費電力化を実現することができる。このため、図32に示すように、インフォメーションレジスタ読み出コマンドを用意して、その内容の読み出しをおこなうようにしている。
<実施例16>
本実施例は、図33に示すように、本発明の不揮発性半導体記憶装置の第2の構成例を示すフラッシュメモリブロック構成例である。図33においては、インフォメーションレジスタ1132の内容を、IO端子の使用状況にかかわらず、自由に読み出すことができるよう、専用の読み出し端子Infoを備えている。これにより、外部からインフォメーションレジスタ1132に対しては、メモリ内部の動作に関係なく読み出すことができるようになり、フラッシュメモリ外部から内部の動作状態(インフォメーションレジスタの値)を読み出すタイミング制約が緩和される。したがって、フラッシュメモリ外部のフラッシュメモリコントローラからは、インフォメーションレジスタ1132の内容が変更されたことを示すインフォメーションレジスタ変更通知信号CHIが変化した場合のみならず、ラッシュメモリコントローラが必要とする時に内容を読み出すことができ、電源回路の待機状態の制御などをおこなうことができるので、より低消費電力化の動作をおこなうことが可能となる。
本実施例は、図33に示すように、本発明の不揮発性半導体記憶装置の第2の構成例を示すフラッシュメモリブロック構成例である。図33においては、インフォメーションレジスタ1132の内容を、IO端子の使用状況にかかわらず、自由に読み出すことができるよう、専用の読み出し端子Infoを備えている。これにより、外部からインフォメーションレジスタ1132に対しては、メモリ内部の動作に関係なく読み出すことができるようになり、フラッシュメモリ外部から内部の動作状態(インフォメーションレジスタの値)を読み出すタイミング制約が緩和される。したがって、フラッシュメモリ外部のフラッシュメモリコントローラからは、インフォメーションレジスタ1132の内容が変更されたことを示すインフォメーションレジスタ変更通知信号CHIが変化した場合のみならず、ラッシュメモリコントローラが必要とする時に内容を読み出すことができ、電源回路の待機状態の制御などをおこなうことができるので、より低消費電力化の動作をおこなうことが可能となる。
これにより、フラッシュメモリコントローラからのフラッシュメモリ内部の動作状態(インフォメーションレジスタの値)の読み出しに関するタイミング制約をなくすことができ、高電圧発生回路制御の自由度を増すことができる。
図27および図33において、フラッシュメモリのコントローラが生成する、内部の動作状態(インフォメーションレジスタの値)を出力する構成とすることにより、フラッシュメモリコントローラは、フラッシュメモリの内部動作に応じて、電圧発生回路を制御することにより、フラッシュメモリを用いたストレージシステムにおける低消費電力化を実現する、フラッシュメモリ構成例を示してきた。
フラッシュメモリを用いたストレージシステムにおいて、使用するフラッシュメモリの電力消費特性に応じて、外部電圧発生回路の制御をおこなうことができれば、さらなる低消費電力化を実現することが可能となる。
また、使用するフラッシュメモリの電力消費特性に応じて、同時プログラムをおこなうフラッシュメモリの数を制御することにより、プログラム性能を向上することが可能となる。
<実施例17>
本実施例は、図34に示すように、フラッシュメモリの電力消費特性を外部に出力することを可能とする、本発明の不揮発性半導体記憶装置における第3の構成例を示すフラッシュメモリの構成例である。
本実施例は、図34に示すように、フラッシュメモリの電力消費特性を外部に出力することを可能とする、本発明の不揮発性半導体記憶装置における第3の構成例を示すフラッシュメモリの構成例である。
図34において、フラッシュメモリ1800は、不揮発性記憶領域として、メモリセルアレイ1102と、チップ固有の情報としての電力情報記憶領域1802を備えている。この電力情報記憶領域1802には、図35に示すように、フラッシュメモリ1800の各動作モードでの消費電流が記憶されている。消費電流の値としては、電流値そのものであっても、電流値をランク分けした値であっても良い。この消費電流の値は、フラッシュメモリの製造工程における製品検査の過程で、その値を測定して書き込む。フラッシュメモリを用いたストレージシステムにおいて、システムへの電源投入時に、使用するフラッシュメモリの電力情報記憶領域1802から、各フラッシュメモリにおける電源消費特性を読み込み、フラッシュメモリコントローラに保持することができる。これにより、フラッシュメモリのチップ固有電流消費特性等を外部に出力することができるので、フラッシュメモリコントローラおよび、高電圧発生回路を備えたストレージシステムにおいて、高電圧発生回路を使用するフラッシュメモリの消費電流特性に応じて最適に制御することができ、より電流消費電力化が可能となる。
電力情報記憶領域1802からの読み出しにおいては、メモリセルアレイ1102と同様に、IO端子を用いて読み出すか、電力情報記憶領域1802の記憶内容を、フラッシュメモリの電源投入時にインフォメーションレジスタ1132へ転送し、インフォメーションレジスタ1132から読み出してもよい。これにより、不揮発性記憶領域の記憶情報からの読み出しに関する制約を緩和することができ、フラッシュメモリコントローラから不揮発性記憶領域の記憶情報を読み出す場合での自由度が向上する。
フラッシュメモリコントローラは、使用するフラッシュメモリに応じて、各動作モードにおける電圧発生回路の制御をおこなうことができ、より低消費電力化なシステムを実現することが可能となる。また、使用するフラッシュメモリの電力消費特性に応じて、同時プログラムをおこなうフラッシュメモリの数を制御することにより、プログラム特性を向上することが可能となる。
図34においては、IO端子を用いて電力情報記憶領域1802からの読み出しをおこなう構成例を示しているが、電力情報記憶領域1802の記憶内容を、インフォメーションレジスタ1132へ転送し、図33に示した実施例16と同様に、専用の読み出し端子(図33の例ではInfo端子)を設けることにより、電力情報記憶領域1802の記憶情報を、メモリ内部の動作に関係なく読み出しことができるようになるのは言うまでもない。
これにより、端子数を増加することなしに、内部の動作状態(インフォメーションレジスタの値)を外部へ出力することができ、多数のフラッシュメモリを用いるストレージシステムにおいて、フラッシュメモリコントローラとフラッシュメモリ間の配線を増やすことなしに、使用するフラッシュメモリの電流消費特性に応じた低消費電力化を実現することができる。
また、フラッシュメモリコントローラからのフラッシュメモリ内部の動作状態(インフォメーションレジスタの値)の読み出しに関するタイミング制約をなくすことができ、使用するフラッシュメモリの電流消費特性に応じた高電圧発生回路制御の自由度を増すことができる。
また、高電圧電源端子を、プログラム/消去用電圧、ベリファイ用電圧、読み出し用電圧を受け取るVPP1、VPP2およびVPP3の3種類としているが、図27での説明と同様に、プログラム/消去用電圧とベリファイ用電圧を同一の電源端子とし、2種類の高電圧電源端子とすることも可能である。これにより、フラッシュメモリの動作に必要となる高電圧をフラッシュメモリ外部で発生する構成が可能となり、かつ、使用するフラッシュメモリの電流消費特性に応じて高電圧の発生を制御することができ、フラッシュメモリを多数用いるストレージシステムにおいて、低消費電力化の最適制御が容易となる。
また、フラッシュメモリでのプログラムや消去動作時に、内部回路で必要となる他の電圧種をも外部での発生とし、高電圧電源端子数を増やすことも可能であるが、この場合、きめ細かな電源回路の制御により、より低消費電力化が可能である。
これによりフラッシュメモリ外部で複数種類の高電圧発生回路から高電圧を供給する構成が可能となり、フラッシュメモリの動作状態に応じて、複数の高電圧発生回路の動作を細かく制御するとともに、フラッシュメモリの電流消費特性に応じた低消費電力化を実現することができる。
《50》[電源状態情報]
本項の不揮発性記憶システムは、メモリシステム用の電源回路から受け取った電源状態情報に基づいてアクセス対象のフラッシュメモリの処理の実行を開始するか否かを制御するものである。これは、以下に説明するような様々な実施の形態においてさらに有利に展開することが可能である。
本項の不揮発性記憶システムは、メモリシステム用の電源回路から受け取った電源状態情報に基づいてアクセス対象のフラッシュメモリの処理の実行を開始するか否かを制御するものである。これは、以下に説明するような様々な実施の形態においてさらに有利に展開することが可能である。
<実施例18>
図36は本発明の実施例18における不揮発性記憶システムの構成を示すブロック図である。不揮発性記憶システム(ストレージデバイス)100の構成要素は、フラッシュメモリコントローラ(外部のコントローラに相当する)10と、電源回路(メモリシステム用の電源回路に相当する)20と、複数のフラッシュメモリ26からなるメモリブロック25とである。200はホストである。ホスト200については、パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話、デジタルカメラ、オーディオプレーヤ、カーナビゲーション装置など任意である。ホスト200とフラッシュメモリコントローラ10はデバイス制御バス41を介して接続されている。フラッシュメモリコントローラ10は電源回路20に対して電源制御信号Q1と電源状態通知信号Q2とが乗るコントロールバス42を介して接続されている。フラッシュメモリコントローラ10は複数のフラッシュメモリ26のそれぞれに対してデータバス・コントロールバス43を介して接続されている。Q3はコントロールバスに乗るフラッシュメモリ制御信号である。電源回路20は各フラッシュメモリ26に対して電源線44を介して接続されている。
図36は本発明の実施例18における不揮発性記憶システムの構成を示すブロック図である。不揮発性記憶システム(ストレージデバイス)100の構成要素は、フラッシュメモリコントローラ(外部のコントローラに相当する)10と、電源回路(メモリシステム用の電源回路に相当する)20と、複数のフラッシュメモリ26からなるメモリブロック25とである。200はホストである。ホスト200については、パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話、デジタルカメラ、オーディオプレーヤ、カーナビゲーション装置など任意である。ホスト200とフラッシュメモリコントローラ10はデバイス制御バス41を介して接続されている。フラッシュメモリコントローラ10は電源回路20に対して電源制御信号Q1と電源状態通知信号Q2とが乗るコントロールバス42を介して接続されている。フラッシュメモリコントローラ10は複数のフラッシュメモリ26のそれぞれに対してデータバス・コントロールバス43を介して接続されている。Q3はコントロールバスに乗るフラッシュメモリ制御信号である。電源回路20は各フラッシュメモリ26に対して電源線44を介して接続されている。
メモリブロック25は、複数のフラッシュメモリ26の集合体である。フラッシュメモリコントローラ10は、電源回路20を制御する機能と複数のフラッシュメモリ26の動作を個別的に制御する機能とを有している。電源回路20は、複数のフラッシュメモリ26のそれぞれに動作用の電源を個別的に供給するようになっている。各フラッシュメモリ26は、あらかじめ動作電流値が定まっている通常のフラッシュメモリでもよいし、あるいは自己の動作電流値を示す情報を有するフラッシュメモリでもよい。
電源回路20は、その内部の電源状態の情報(電源状態情報)をフラッシュメモリコントローラ10に通知する機能を有している。電源状態情報は、電源状態通知信号Q2に乗せられる。電源状態情報には、例えば駆動率が用いられる。
フラッシュメモリコントローラ10は、電源制御信号Q1によって電源回路20を制御するようになっている。その制御には、電源回路20における発生電圧(給電能力)の調整、電源回路20に対するポーリングで電源状態通知信号Q2を出力させる制御などが含まれる。
フラッシュメモリコントローラ10は、ホスト200から動作指令(コマンド)を受け取り、その動作指令に従って1つまたは複数のフラッシュメモリ26にアクセスする。そのアクセスにおいてフラッシュメモリ制御信号Q3がフラッシュメモリコントローラ10からフラッシュメモリ26に出力されるようになっている。動作指令が読み出し動作のときは、フラッシュメモリ26からデータを読み出し、読み出したデータをホスト200に転送する。動作指令が書き込み動作のときは、ホスト200から書き込みデータも送られてきて、そのデータをフラッシュメモリ26に書き込む。この書き込み動作においては、通常、書き込みベリファイ動作も実行される。動作指令が消去動作のときは、フラッシュメモリ26においてブロック単位でデータ消去が行われる。この消去動作においては、通常、消去ベリファイ動作も実行される。読み出し動作に必要な電源電圧は最大で5V、書き込み/消去動作に必要な電源電圧は最大で20V、ベリファイ動作に必要な電源電圧は最大で10Vである(一例)。
前記のフラッシュメモリ26のいずれかの処理の実行中またはスタンバイ状態で、フラッシュメモリコントローラ10は、電源回路20から電源状態通知信号Q2を受け取り、受け取った電源状態情報に基づいて電源回路20の電源状態(駆動率)を確認するようになっている。また、フラッシュメモリコントローラ10は、アクセス対象のフラッシュメモリ26群が電源回路20の給電能力の規定の範囲内で適切な処理が実行不可能に陥ることがないかどうかを判断する。その判断において動作不可能と判断したときは、電源回路20の給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象の一部のフラッシュメモリ26を制御する。その制御の形態には、一時停止(ポーズ)のほか低電力モードがある。
図36の不揮発性記憶システム100はSSD(ソリッドステートドライブ)として構成されている。12のフラッシュメモリ動作管理テーブルについては、後述する実施例19以下で説明する。
上記のように構成された不揮発性記憶システム100の動作を図37に示すフローチャートに従って説明する。外部のホスト200からのコマンドによる指示により、フラッシュメモリコントローラ10はフラッシュメモリ26の制御を開始する。
まずステップS301において、フラッシュメモリコントローラ10はホスト200からのコマンドを受信する。コマンドの種類は任意であり、読み出しコマンド、書き込みコマンド、消去コマンド、書き込みベリファイコマンド、消去ベリファイコマンドなどがある。
次いでステップS302において、フラッシュメモリコントローラ10は電源状態を確認する。この電源状態の確認においては、電源回路20から電源状態通知信号Q2を受け取り、その電源状態情報から電源回路20における電源状態(現在の駆動率)を認識する。
次いでステップS303において、フラッシュメモリコントローラ10は、該当の処理によってアクセス対象候補のフラッシュメモリ26に実行させる読み出し/書き込みなどの動作種類における動作電力を見積もる。見積もりの具体的処理は次のとおりである。
ホスト200からフラッシュメモリ26に対し次に実施する動作として例えばデータ書き込みコマンドが発行された場合、該当するフラッシュメモリ26のメモリアレイに対するデータ書き込みを決定する。その際、実際にどのフラッシュメモリ26に対して書き込みを実施するかにより、あらかじめ決められた動作電流値もしくはフラッシュメモリ26から読み出した動作電流値についての情報を基にフラッシュメモリ26に対してどの程度の動作電流が発生するかを判断する。一例として、フラッシュメモリ26の動作電流が50mAである場合に、2枚のフラッシュメモリ26に対して書き込みを実施する場合は100mAの電流が必要となると見積もることになる。
ステップS303に続くステップS304において、フラッシュメモリコントローラ10は、見積もった動作電力と電源状態情報から得られる電源回路20の現在の駆動率とを比較して、電源回路20の現在の駆動率で、見積もった動作電力を賄えるかを判断する。この比較・判断においては、前記動作電流値と駆動率とは、大小比較が適正なものとなるようにそれぞれの換算によって物理的次元とスケールが調整される。
新規アクセス対象のフラッシュメモリ26における処理を直ちに実行するとなれば賄えなくなると判断したときは、ステップS305に進むことなくステップS302に戻って、以降、ステップS303、ステップS304を繰り返す。ステップS302~S304のループを繰り返しているうちは、ステップS305の新規アクセス対象のフラッシュメモリ26に対する処理の開始は行われない。上記の動作例では、電源状態が十分になるまでは書き込みを実施しない。一方、バックグラウンドでは、他のフラッシュメモリ26に対する処理が進行し、時間経過に伴って一部が完了する。したがって、このループを繰り返すうちに、見積もった動作電力が現在の駆動率で賄えるようになる。そうなれば、ステップS305に進む。ステップS305に進むと、処理のルーチンに移行し、処理を開始する。上記の動作例ではフラッシュメモリ26への書き込みを実行する。この動作例は、オーバーロード時の制御形態が、新規アクセス対象のフラッシュメモリ26に対するウェイト(一時停止)制御となっている。
本実施例によれば、電源回路20の給電能力をチェックし、その給電能力の規定の範囲内でフラッシュメモリ26を動作させることが不可能であると判断したときは、フラッシュメモリ26に対して待機の制御を行い、待機中での時間経過に伴って使用電力が減少して給電能力の規定の範囲内で処理が適切に実行可能となるのを待って、フラッシュメモリ26に処理の開始を制御している。したがって、フラッシュメモリ26の処理途中において電源回路20のオーバーロード等の不具合に起因する不安定動作やシステムダウンのために、データが破壊される、データ化けを起こす、といった異常状態を回避し、ストレージデバイスとして高いデータ信頼性を確保することが可能となる。
なお、上記実施例では、電源回路20の電源状態の確認のために、電源状態通知信号Q2の信号ラインのための専用の端子を電源回路20が有しているが、これに代えて、電源制御信号Q1のバスを介して電源回路20内のレジスタ(電源状態情報)をモニタすることにより、電源回路20の電源状態を確認するように構成してもかまわない。
以下、上記の《50》を前提にした、各種の実施の形態について説明する。各実施の形態は《50》の[電源状態情報]を前提とするが、それぞれの表題では[電源状態情報]は省略する。
《51》[処理実行中]*[ポーリング]*[一時停止]
上記《50》の不揮発性記憶システムにおいて、アクセス対象のフラッシュメモリでの処理実行中においてメモリブロックの使用電力がメモリシステム用の電源回路の給電能力に対してオーバーロード(過剰)となったときの制御の態様として、フラッシュメモリコントローラを次のように構成することは好ましい。ここで、フラッシュメモリコントローラが電源回路の電源状態をポーリングして電源回路から電源状態情報を受け取ることを積極的に進めることとする。
上記《50》の不揮発性記憶システムにおいて、アクセス対象のフラッシュメモリでの処理実行中においてメモリブロックの使用電力がメモリシステム用の電源回路の給電能力に対してオーバーロード(過剰)となったときの制御の態様として、フラッシュメモリコントローラを次のように構成することは好ましい。ここで、フラッシュメモリコントローラが電源回路の電源状態をポーリングして電源回路から電源状態情報を受け取ることを積極的に進めることとする。
フラッシュメモリコントローラは、電源回路から受け取った電源状態情報に基づいて電源回路の電源状態(駆動率)が特定のレベルを超えているか否かを判断する。そして超えたと判断した場合は、メモリブロックにおける特定のフラッシュメモリにおいてコマンドに基づいて実行される処理を一時停止する。さらに、フラッシュメモリコントローラは引き続いて電源状態情報(駆動率)を監視し、電源回路に電力余裕が生じたか否かを判断する。先にフラッシュメモリの処理の実行を一時停止させたので、時間経過とともに他のフラッシュメモリに対する処理が進行し、一部が完了すると電力余裕が生じるようになる。そして、電力余裕が生じるに至ったとフラッシュメモリコントローラが判断したときに、フラッシュメモリコントローラは先に動作を一時停止していたフラッシュメモリの動作を再開する。
以上を要するに、本項の不揮発性記憶システムは、上記《50》の構成において、前記フラッシュメモリコントローラは、ポーリングにより電源回路から電源状態情報を受け取った電源状態情報が特定のレベル以上であると判断する場合には、前記メモリブロックにおける特定のフラッシュメモリの処理の実行を一時停止し、次いで前記電源状態情報に基づいて前記電源回路に電力余裕が生じるようになったと判断したときは実行を一時停止していたフラッシュメモリの処理を再開する制御を行うように構成されている。
本構成によれば、フラッシュメモリで実行中の処理において、電源回路の電源状態をポーリングにより事前に検知し、ダイナミックにフラッシュメモリの処理の実行を一時停止することで、オーバーロード等の不具合に起因する不安定動作やシステムダウンを回避し、メモリアクセスのデータ信頼性を向上することが可能となる。
上記《51》の構成の具体例を実施例19として以下に説明する。
<実施例19>
本発明の実施例19における不揮発性記憶システムの構成は図36と同様である。図38は実施例19の不揮発性記憶システムの動作を示すフローチャートである。本実施例では、フラッシュメモリ26は、処理実行中に外部からの指示によりその動作が一時停止可能(ポーズ可能)に構成されているものとする。
本発明の実施例19における不揮発性記憶システムの構成は図36と同様である。図38は実施例19の不揮発性記憶システムの動作を示すフローチャートである。本実施例では、フラッシュメモリ26は、処理実行中に外部からの指示によりその動作が一時停止可能(ポーズ可能)に構成されているものとする。
また、フラッシュメモリコントローラ10は、アクセス対象のフラッシュメモリ26群の動作状況を管理するフラッシュメモリ動作管理テーブル12を有する。フラッシュメモリ動作管理テーブル12の一例を図39に示す。フラッシュメモリ動作管理テーブル12は、フラッシュメモリ26毎に、動作の優先順位、フラッシュメモリの状態、消費電流、処理開始順の情報を有する。フラッシュメモリの状態には、書き込み、消去、読み出し、ベリファイ、停止などがある。フラッシュメモリ動作管理テーブル12へのデータについては、ホスト200からの送信データ、各フラッシュメモリ26からの受信データが格納される。
ここで、動作の優先順位は処理開始順によって決定される。処理開始順が早いほど優先順位は低くなる。処理開始順と優先順位は逆の関係である。また、消費電流については、あらかじめ決定された電流値もしくは個々で設定された電流値を使用する。
このフラッシュメモリ動作管理テーブル12における管理データについては、アクセス対象のフラッシュメモリ26群での処理の実行の経過に伴って順次に更新されていく。書き込みであれ、消去であれ、処理の実行が完了すると、状態は「停止」に切り替わる。
フラッシュメモリコントローラ10は、同時に複数のフラッシュメモリ26の処理の実行を制御する。その関係で、複数のフラッシュメモリ26それぞれの動作状況を管理するフラッシュメモリ動作管理テーブル12を有している。その他の構成は、実施例18と同様である。
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。いま、いくつかのフラッシュメモリ26において処理を実行している最中であるとする。すなわち、ステップS311において、フラッシュメモリコントローラ10は、フラッシュメモリ26に対して処理の実行を制御している。
次いでステップS312において、フラッシュメモリコントローラ10は、電源回路20の電源状態を確認する。すなわち、フラッシュメモリコントローラ10は、ポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態情報として駆動率を受け取り、その駆動率を確認する。ここで、ポーリングは電源制御信号Q1によって行われ、電源状態情報の通知は電源状態通知信号Q2によって行われる。
次いでステップS313において、フラッシュメモリコントローラ10は、現在の駆動率が上限の特定レベルLH 以上かを判断する。上限の特定レベルLH 以上であればステップS314に進み、そうでなければステップS318にスキップする。現在の駆動率が上限の特定レベルLH 以上であるか否かの判断は、換言すれば、電源回路20に電力余裕がなくなってオーバーロードを起こすおそれがあるのかを見ていることになる。アクセス対象のフラッシュメモリ26群におけるピーク電流が過剰になり、オーバーロードの状態がある程度継続するとシステムダウンし、データ化け、データ消失を起こすおそれがある。このような事態の発生を事前に検知し、予防するのである。
現在の駆動率が上限の特定レベルLH 以上でステップS314に進むと、フラッシュメモリコントローラ10は、フラッシュメモリ動作管理テーブル12を参照して現在アクセス対象となっている特定のフラッシュメモリ26における処理を一時的に停止する。この一時停止によりオーバーロード状態を回避している。
次いでステップS315において、フラッシュメモリコントローラ10は再び電源回路20の電源状態を確認する。すなわち、フラッシュメモリコントローラ10は、ポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態情報を受け取り、その電源状態情報から電源回路20における現在の駆動率を認識する。
次いでステップS316において、フラッシュメモリコントローラ10は、先にステップS314で一時停止させたフラッシュメモリ26の動作を再開させるとした場合に、現在の駆動率がその再開の分だけ増加したときの駆動率が下限の特定レベルLL 以下であるか否かを判断する。この下限の特定レベルLL は、ステップS313の場合の上限の特定レベルLH よりも低く設定されている。下限の特定レベルLL は、電力余裕が生じたかの判断基準である。下限の特定レベルLL 以下でなければステップS315に戻り、そうでなければステップS317に進む。
先にステップS314でフラッシュメモリ26における処理を一時停止してあるので、電源回路20の駆動率は時間経過とともに次第に低下してくる。駆動率の低下に伴ってステップS316の判断が肯定的となり、ステップS317に進んだときは、先にステップS314で一時停止していたフラッシュメモリ26での処理の実行を再開する。次いでステップS318において、フラッシュメモリ26における処理が完了したかの判断を行い、未完了であればステップS311に戻って処理を続行し、処理が完了したときは、図38のルーチンから抜ける。
上記の動作を具体例で説明する。ここで、一例として、上限の特定レベルLH を90%、下限の特定レベルLL を80%とする。なお、これらの数値は任意に設定可能である。
駆動率が90%以上であれば、オーバーロードで動作が不安定になる可能性があるとする。いま、90%以上の駆動率となっていた場合、フラッシュメモリコントローラ10は処理実行中のフラッシュメモリ26を一時停止する(ステップS313~S314)。
例えば電源回路20の駆動能力が500mAであり、見積もりが90%の450mA以上の駆動状態になった場合に、1つのフラッシュメモリ26を一時停止する。この場合に、最も早く処理を開始した優先順位が最後のフラッシュメモリ26を一時停止する。図39の状態の場合には、優先順位「8」のフラッシュメモリAを一時停止する。
その後、電源状態を確認し、一時停止していたフラッシュメモリ26の処理を再開しても駆動能力が特定のレベル(例えば80%)以下になって電力余裕が生じると判断した段階で、フラッシュメモリコントローラ10は、一時停止させていたフラッシュメモリ26に対して処理を再開する。
電源回路20の駆動能力500mAの80%は400mAである。いま、電源回路20の電源状態が349mAまで下がったとする。フラッシュメモリAの消費電流は50mAである。フラッシュメモリAの動作を再開するとなると、電源回路20の電源状態は、349+50=399mAとなる。これは、80%の400mA以下の駆動状態である。よって、電源回路20の電源状態が350mA未満になることを確認すれば、それまで一時停止させていたフラッシュメモリAの動作を再開してよいことになる。
本実施例によれば、処理実行中においてポーリングにより電源回路20のオーバーロード状態を、それが実際に生じる前に検知するようにしている。検知すれば、フラッシュメモリ26の動作を一時停止(ポーズ)するので、フラッシュメモリ26が消費する動作電力を抑えることが可能となる。オーバーロード等の不具合に起因する不安定動作やシステムダウンによるフラッシュメモリ26の不安定動作、異常状態を未然に回避し、データ信頼性を向上することができる。フラッシュメモリ26を一時停止することは、フラッシュメモリ26を低電力モードで動作継続させる場合に比べて、通常モードでの処理の再開までの待ち時間が短くて済む。
《52》[処理実行中]*[割り込み]*[一時停止]
上記《50》の不揮発性記憶システムにおいて、メモリブロックの使用電力が電源回路の給電能力に対してオーバーロードとなったときの制御の態様として、上記ポーリング方式の《51》に代えて、割り込み方式を採用し、フラッシュメモリコントローラおよび電源回路を次のように構成することは好ましい。すなわち、電源回路からの電源状態情報のフラッシュメモリコントローラへの通知を、上記《51》の場合のフラッシュメモリコントローラからのポーリングに代えて、電源回路からの割り込みによって制御するように構成する。ここでは、割り込み信号が電源状態情報である。本項は、アクセス対象のフラッシュメモリでの処理実行中における制御とする。
上記《50》の不揮発性記憶システムにおいて、メモリブロックの使用電力が電源回路の給電能力に対してオーバーロードとなったときの制御の態様として、上記ポーリング方式の《51》に代えて、割り込み方式を採用し、フラッシュメモリコントローラおよび電源回路を次のように構成することは好ましい。すなわち、電源回路からの電源状態情報のフラッシュメモリコントローラへの通知を、上記《51》の場合のフラッシュメモリコントローラからのポーリングに代えて、電源回路からの割り込みによって制御するように構成する。ここでは、割り込み信号が電源状態情報である。本項は、アクセス対象のフラッシュメモリでの処理実行中における制御とする。
電源回路は常時的に自己の内部状態を監視しており、アクセス対象のフラッシュメモリの使用電力が電源回路の現在の駆動率に対してオーバーロード気味になったときに、電源回路は電源状態通知信号として割り込み信号を生成し、フラッシュメモリコントローラに出力するように構成されている。すなわち、電源回路の電源状態の遷移に応じて直ちに生成される割り込み信号を利用する。
フラッシュメモリコントローラは、電源回路から割り込み信号を受け取ったとき、メモリブロックにおける特定のフラッシュメモリの処理の実行を一時停止するものとして構成されている。フラッシュメモリの一時停止以降のフラッシュメモリコントローラの動作については、上記《51》と同様でよい。
すなわち、フラッシュメモリコントローラは引き続いて電源状態情報(駆動率)を監視し、電源回路に電力余裕が生じたか否かを判断する。先にフラッシュメモリの処理の実行を一時停止させたので、時間経過とともに他のフラッシュメモリに対する処理が進行し、一部が完了すると電力余裕が生じるようになる。そして、電力余裕が生じるに至ったとフラッシュメモリコントローラが判断したときに、フラッシュメモリコントローラは先に動作を一時停止していたフラッシュメモリの動作を再開する。
以上を要するに、本項の不揮発性記憶システムは、上記《50》の構成において、電源回路は、電源状態を監視して電源状態が特定のレベル以上となったときに割り込み信号を生成して前記フラッシュメモリコントローラに通知するように構成され、前記フラッシュメモリコントローラは、前記電源回路から割り込み信号を受け取ったときは、前記メモリブロックにおける特定のフラッシュメモリの処理の実行を一時停止し、次いでポーリングにより電源回路から電源状態情報を受け取り、その受け取った電源状態情報に基づいて電源回路に電力余裕が生じるようになったと判断したときは処理の実行を一時停止していたフラッシュメモリの処理の実行を再開する制御を行うように構成されている。
本構成によれば、フラッシュメモリコントローラが電源回路のオーバーロード状態を認識するきっかけとして、電源回路での電源状態遷移に伴う割り込み信号を利用するので、フラッシュメモリコントローラはポーリングによる電源回路のモニタリングが不要となり、処理負荷の軽減が可能となる。また、割り込み信号の受信が即オーバーロード検知になるので、タイムラグがなく、高速な対応が可能である。
上記《52》の構成の具体例を実施例20として以下に説明する。
<実施例20>
図40は本発明の実施例20における不揮発性記憶システムの構成を示すブロック図である。図36との相違は、図36の電源状態通知信号Q2が割り込み信号Q2となっている点である。電源回路20は、フラッシュメモリ26における処理中に、常時的に自己の内部状態を監視し、アクセス対象のフラッシュメモリ26の使用電力が電源回路20の現在の電源状態(駆動率)に対してオーバーロード気味になって駆動率が規定値を超えたときに電源状態遷移を意味する割り込み信号Q2を生成し、フラッシュメモリコントローラ10に対して通知するように構成されている。フラッシュメモリコントローラ10は、電源回路20から割り込み信号Q2を受け取ったときは、処理中の特定のフラッシュメモリ26の動作を一時停止するように構成されている。その他の構成については、図36、図39の構成と同様である。
図40は本発明の実施例20における不揮発性記憶システムの構成を示すブロック図である。図36との相違は、図36の電源状態通知信号Q2が割り込み信号Q2となっている点である。電源回路20は、フラッシュメモリ26における処理中に、常時的に自己の内部状態を監視し、アクセス対象のフラッシュメモリ26の使用電力が電源回路20の現在の電源状態(駆動率)に対してオーバーロード気味になって駆動率が規定値を超えたときに電源状態遷移を意味する割り込み信号Q2を生成し、フラッシュメモリコントローラ10に対して通知するように構成されている。フラッシュメモリコントローラ10は、電源回路20から割り込み信号Q2を受け取ったときは、処理中の特定のフラッシュメモリ26の動作を一時停止するように構成されている。その他の構成については、図36、図39の構成と同様である。
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。フラッシュメモリコントローラ10は、アクセス対象候補のフラッシュメモリ26について、その処理の開始前に、そのフラッシュメモリ26での処理を中断する必要がある電源状態条件(例えば駆動率90%)を、割り込みの条件として電源回路20に設定する。なお、この条件は固定的なものでもよい。電源回路20は、電源状態が割り込み条件(駆動率90%)に達した段階で電源回路20の状態遷移を意味する割り込み信号Q2を、フラッシュメモリコントローラ10に発信する。
以下は、実施例20の不揮発性記憶システムの動作を示す図41のフローチャートに従って説明する。いくつかのフラッシュメモリ26において処理を実行している最中であるとする。ステップS321において、フラッシュメモリコントローラ10は、電源回路20からフラッシュメモリコントローラ10に対して電源回路20の状態遷移を意味する割り込み信号Q2が発信されたことを認識する。
次いでステップS322において、フラッシュメモリコントローラ10はフラッシュメモリ動作管理テーブル12を参照して処理実行中のフラッシュメモリ26を一時停止する。つまり、優先順位が最も低いフラッシュメモリ26を一時停止する。続くステップS323,S324,S325の処理は図38のステップS315,S316,S317と同様である。すなわち、次いでステップS323において、フラッシュメモリコントローラ10は再び電源回路20の電源状態を確認する。すなわち、フラッシュメモリコントローラ10は、ポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態通知信号Q2によって電源状態情報を受け取り、その電源状態情報から電源回路20における現在の駆動率を認識する。
次いでステップS324において、フラッシュメモリコントローラ10は、先にステップS322で一時停止させたフラッシュメモリ26の動作を再開させるとした場合に、現在の駆動率がその再開の分だけ増加したときに下限の特定レベルLL 以下かを判断する。下限の特定レベルLL 以下でなければステップS323に戻り、そうでなければステップS325に進む。先にステップS322でフラッシュメモリ26における処理を一時停止してあるので、電源回路20の駆動率は時間経過とともに次第に低下してくる。
駆動率の低下に伴ってステップS324の判断が肯定的となり、ステップS325に進んだときは、先にステップS322で一時停止していたフラッシュメモリ26での処理の実行を再開する。本実施例は割り込み処理であるので、ステップS325の次は、図41のルーチンから抜ける。
本実施例の場合、図38の実施例19におけるステップS312、ステップS313に相当する処理、つまりフラッシュメモリコントローラ10からのポーリングにより電源回路20の駆動率が90%以上かどうかを確認する処理は不要となる。すなわち、本実施冷の処理では、実施例19の処理において、フラッシュメモリコントローラ10からの電圧レベルの確認が不要となるため、フラッシュメモリコントローラ10の処理負荷を低減することができる。また、割り込み信号Q2の受信と一時停止との間のタイムラグが十分に小さく、高速に対応することができる。
《53》[処理実行中]*[データ制御部と電源制御部]
上記《50》の不揮発性記憶システムにおいて、フラッシュメモリコントローラを次のように2つの部分に分けて構成することが考えられる。それは、データ制御部と電源制御部とに分けて構成することである。データ制御部は、フラッシュメモリのデータ処理に関する制御を司る部分であり、複数のフラッシュメモリの処理の実行を個別的に制御する。電源制御部は、電源回路の電源制御を司る部分であり、電源回路から受け取る電源状態情報に基づく判断においてアクセス対象のフラッシュメモリが電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象の一部のフラッシュメモリを制御する機能を有するものとして構成されている。電源回路は、その電源状態の情報を電源制御部に通知する機能を有するものとして構成されている。電源状態情報の通知の仕方については、電源制御部からのポーリングによるのでもよいし、電源回路での割り込みによるのでもよい。
上記《50》の不揮発性記憶システムにおいて、フラッシュメモリコントローラを次のように2つの部分に分けて構成することが考えられる。それは、データ制御部と電源制御部とに分けて構成することである。データ制御部は、フラッシュメモリのデータ処理に関する制御を司る部分であり、複数のフラッシュメモリの処理の実行を個別的に制御する。電源制御部は、電源回路の電源制御を司る部分であり、電源回路から受け取る電源状態情報に基づく判断においてアクセス対象のフラッシュメモリが電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象の一部のフラッシュメモリを制御する機能を有するものとして構成されている。電源回路は、その電源状態の情報を電源制御部に通知する機能を有するものとして構成されている。電源状態情報の通知の仕方については、電源制御部からのポーリングによるのでもよいし、電源回路での割り込みによるのでもよい。
以上を要するに、本項の不揮発性記憶システムは、上記《50》の構成において、フラッシュメモリコントローラは、複数のフラッシュメモリの処理の実行を個別的に制御するデータ制御部に加えて、前記電源回路の電源制御を司る電源制御部が追加された構成とされ、前記電源制御部は、前記電源回路から受け取る前記電源状態情報に基づく判断においてアクセス対象のフラッシュメモリが電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御するものとして構成されている。
本構成によれば、フラッシュメモリコントローラの構成について、電源制御を行わずにフラッシュメモリのデータ制御のみを実施する従来方式のシステムに対して、上記構成の電源制御部を追加することで対応でき、構成要素の流用(構成の踏襲)をもって、全体構成を簡素化しつつ電源制御の効果を容易に実現することが可能となる。データ制御については従来の処理機能を活用し、電源処理だけを付け加えることが可能となるため、従来のシステムからの継続展開性が容易となる。
上記《53》の構成の具体例を実施例21として以下に説明する。
<実施例21>
図42は本発明の実施例21における不揮発性記憶システムの構成を示すブロック図である。本実施例においては、図36のフラッシュメモリコントローラ10の部分がデータ制御部14と電源制御部16とに分けて構成されている。フラッシュメモリコントローラにおけるデータ制御部14は、電源制御を行わなずにフラッシュメモリのデータ制御のみを実施する従来方式のシステムにおけるフラッシュメモリコントローラに相当するものとなっている。
図42は本発明の実施例21における不揮発性記憶システムの構成を示すブロック図である。本実施例においては、図36のフラッシュメモリコントローラ10の部分がデータ制御部14と電源制御部16とに分けて構成されている。フラッシュメモリコントローラにおけるデータ制御部14は、電源制御を行わなずにフラッシュメモリのデータ制御のみを実施する従来方式のシステムにおけるフラッシュメモリコントローラに相当するものとなっている。
フラッシュメモリコントローラにおけるデータ制御部14はホスト200に対しデバイス制御バス41を介して接続されている。データ制御部14は、複数のフラッシュメモリ26のそれぞれに対してデータバス・コントロールバス43を介して接続されている。Q3はコントロールバスに乗るフラッシュメモリ制御信号である。
フラッシュメモリコントローラにおける電源制御部16は、電源制御信号Q1と電源状態通知信号Q2が乗るコントロールバス42を介して電源回路20に接続されている。また、電源制御部16は、複数のフラッシュメモリ26のそれぞれに対して個別的にフラッシュメモリ停止信号Q4の信号ライン45を介して接続されている。各フラッシュメモリ26は、フラッシュメモリ停止信号Q4の入力端子を有している。データ制御部14と電源制御部16を合わせたものが、図36のフラッシュメモリコントローラ10に相当する。その他の構成については、図36の場合と同様であるので、説明を省略する。
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図43はフラッシュメモリコントローラにおける電源制御部16の動作を示すフローチャートである。いまいくつかのフラッシュメモリ26において処理を実行しているとする。この制御は、データ制御部14とフラッシュメモリ26との間で行われるもので、図43には現れていない。
ステップS331において、電源制御部16は電源回路20の電源状態を確認する。すなわち、電源制御部16は、ポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態情報(駆動率)を受け取り、その情報から電源回路20における現在の駆動率を認識する。
次いでステップS332において、電源制御部16は、現在の駆動率が上限の特定レベルLH 以上かを判断する。上限の特定レベルLH 以上であればステップS333に進み、そうでなければステップS336にスキップする。現在の駆動率が上限の特定レベルLH 以上かの判断は、電源回路20に電力余裕がなくなってオーバーロードを起こすおそれがあるのかを見ていることになる。
現在の駆動率が上限の特定レベルLH 以上でステップS333に進むと、電源制御部16は、現在アクセス対象となっている1つのフラッシュメモリ26における処理を一時的に停止する。この一時停止によりオーバーロード状態を回避している。
次いでステップS334において、電源制御部16は再び電源回路20の電源状態を確認する。すなわち、電源制御部16は、ポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態情報を受け取り、その電源状態情報から電源回路20における現在の駆動率を認識する。
次いでステップS335において、電源制御部16は、先にステップS333で一時停止させたフラッシュメモリ26の動作を再開させるとした場合に、現在の駆動率がその再開の分だけ増加したときの駆動率が下限の特定レベルLL 以下であるか否かを判断する。下限の特定レベルLL 以下でなければステップS334に戻り、そうでなければステップS336に進む。先にステップS333でフラッシュメモリ26における処理を一時停止してあるので、電源回路20の駆動率は時間経過とともに次第に低下してくる。
駆動率の低下に伴ってステップS335の判断が肯定的となり、ステップS336に進んだときは、先にステップS333で一時停止していたフラッシュメモリ26での処理の実行を再開し、次いでステップS331に戻る。電源制御部16は、データ制御部14とは独立した動作を行うもので、ステップS331からステップS336のループ処理をサイクリックに行うようになっている。
上記の動作を具体例で説明する。駆動率が90%以上であれば、動作が不安定になる可能性があるとする。いま、90%以上の駆動率となっていた場合、電源制御部16はフラッシュメモリ停止信号Q4をアサート(有効)して処理実行中のフラッシュメモリ26を一時停止する(ステップS332~S333)。
その後、電源状態を確認し、停止したフラッシュメモリ26の処理を再開しても駆動能力が特定のレベル(例えば80%)以下になると判断した段階で、電源制御部16は、一時停止させていたフラッシュメモリ26に対してフラッシュメモリ停止信号Q4をクリアすることで処理を再開する。
ここで上記の制御はフラッシュメモリコントローラにおける電源制御部16のみで処理されることとなり、データ制御部14は本実施例の処理に影響しない。従来の不揮発性記憶システムを基準にすると、電源制御部16の追加と、電源制御部16と電源回路20および各フラッシュメモリ26との接続の追加のみで対応できるということである。その他の構成要素については従来システムのものがそのまま流用(転用)可能である。
本実施例によれば、フラッシュメモリコントローラにおけるデータ制御部14に対して影響を与えずに、電源制御を実施することが可能となることで、電源制御を実施せずにデータ制御のみを実施していた従来のシステムに対して、容易に電源制御の効果を実現することが可能となる。結果として、導入コストの低減を図ることができる。なお、ポーリングにかかわる電源状態通知信号に代えて割り込み信号を用いる方式に本実施例を適用してもよい。
《54》[処理開始前]*[低電力変更]
これまで説明してきたところでは、アクセス対象のフラッシュメモリでの処理実行中における制御となっている。また、アクセス対象のフラッシュメモリの使用電力とメモリシステム用の電源回路の給電能力との関係でオーバーロード等の不具合が昂進しシステムダウンを起こしそうになった場合に、該当のフラッシュメモリにおける処理の実行を一時停止(ポーズ)することとしている。
これまで説明してきたところでは、アクセス対象のフラッシュメモリでの処理実行中における制御となっている。また、アクセス対象のフラッシュメモリの使用電力とメモリシステム用の電源回路の給電能力との関係でオーバーロード等の不具合が昂進しシステムダウンを起こしそうになった場合に、該当のフラッシュメモリにおける処理の実行を一時停止(ポーズ)することとしている。
本項は、そのような方式に代えて、新規アクセス対象のフラッシュメモリでの処理開始前における制御とする。また、システムダウンを起こしそうになった場合に、特定のフラッシュメモリの使用電力(動作電流)を下げつつ、そのフラッシュメモリにおける処理は継続するとの考えに立つものである。これが低電力変更である。
すなわち、上記《50》の不揮発性記憶システムにおいて、フラッシュメモリは低電力モードを有しているものとする。つまり、動的に動作電流を変更することが可能なフラッシュメモリを用いることとする。フラッシュメモリは低電力モードではその動作速度が通常モードより遅くなる。
また、フラッシュメモリコントローラは、メモリシステム用の電源回路に電力余裕がなくなった場合に、処理実行中のフラッシュメモリ群において特定のフラッシュメモリを低電力動作に移行させる制御を行うものとして構成されている。1つのフラッシュメモリを低電力変更してもまだ電力余裕がない状態が続くのであれば、引き続きもう1つのフラッシュメモリを低電力変更する。電力余裕が生じるようになるまで、順次次のフラッシュメモリを低電力変更する。このように考えると、電力余裕がなくなった初期においては、処理実行中のフラッシュメモリ群において特定のフラッシュメモリにつき処理の実行を一時停止させるようにしてもよい。
以上を要するに、本項の不揮発性記憶システムは、上記《50》の構成において、フラッシュメモリは、動的に動作電流を変更することが可能に構成されており、フラッシュメモリコントローラは、新規アクセス対象のフラッシュメモリが電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、処理実行中のフラッシュメモリ群において特定のフラッシュメモリにつき、その使用電力を下げた上で処理の実行を継続しまたは処理の実行を一時停止し、その低電力変更状態で使用電力が減少して前記給電能力の規定の範囲内で処理が適切に実行可能となったときに新規アクセス対象のフラッシュメモリの処理を開始する制御を行うように構成されている。
本構成によれば、システムにおける電源回路の給電能力に即してフラッシュメモリの使用電力を制御することで、電源回路のオーバーロード等の不具合に起因する不安定動作やシステムダウンを防止し、データ信頼性の向上を図ることが可能となる。さらに、すでに処理実行中にあるフラッシュメモリの処理の実行につき、原則として、低速ではあっても処理の実行を継続するものであるため、システム処理能力が必要以上に低下してしまうことを抑制することが可能となる。換言すれば、よりきめの細かい制御が可能となっている。
上記《54》の構成の具体例を実施例22として以下に説明する。
<実施例22>
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図36、図40、図42のいずれかが援用される。併せて、本実施例においては、フラッシュメモリ26は、その動的に動作電流を変更すること等により電力レベルを変更可能とする。また、フラッシュメモリコントローラ10は、各フラッシュメモリ26の動作状況を管理するフラッシュメモリ動作管理テーブル12を有しているものとする。
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図36、図40、図42のいずれかが援用される。併せて、本実施例においては、フラッシュメモリ26は、その動的に動作電流を変更すること等により電力レベルを変更可能とする。また、フラッシュメモリコントローラ10は、各フラッシュメモリ26の動作状況を管理するフラッシュメモリ動作管理テーブル12を有しているものとする。
図44はフラッシュメモリ動作管理テーブル12の一例を示す。フラッシュメモリ動作管理テーブル12は、フラッシュメモリ26毎に、動作の優先順位、フラッシュメモリの状態、電力レベル、処理開始順の情報を有する。図39での消費電流に代えて電力レベルが用いられている。図39では、その消費電流がすべてのフラッシュメモリ26で同一であったのに対して、図44ではフラッシュメモリごとに、また動作種類ごとに、消費電流が異なり、結果として電力レベルが相違している。電力レベルは「0」,「1」の2値ではなく、3値以上をもつものである。つまり、個々のフラッシュメモリ26は、その駆動レベルが可変に構成され、状況に応じて最適な駆動レベルで動作するように制御される。
フラッシュメモリの状態としては、書き込み処理実行中、消去処理実行中、停止中などがある。読み出し処理実行中、ベリファイ処理実行中もある。フラッシュメモリの状態と電力レベルにより、フラッシュメモリの動作電流値を計算することが可能である。
同じ書き込み動作でも、また同じ消去動作でも、その電力レベルは処理の内容ごと(それを担当するフラッシュメモリごと)に様々に変化し得る。フラッシュメモリの動作電流値は時々刻々に変動する。処理開始順は、各々のフラッシュメモリ26の処理を開始した順番で記載され、「0」は停止中を示す。
フラッシュメモリ動作管理テーブル12は、フラッシュメモリ26の動作開始、動作停止および電力レベルの変更等の動作モードの実行時において更新される。
また、フラッシュメモリ26は電源回路20からの電源状態通知信号Q2を前記電力レベルに換算する機能を持つ。具体的には、例えば電力レベル「1」当たり20mAの動作電力とする場合、600mAの電流能力をもつ電源回路20では、その電力レベルは最大で「30」と換算可能である(600÷20=30)。つまり、電力レベルとして「0」~「30」のきめ細かい設定が可能である。その他の構成は、実施例1の不揮発性記憶システムの構成と同様である。
図38、図39を用いて説明した実施例19の場合には、複数のフラッシュメモリ26のすべてが50mAの同じ消費電流となっている。これでは、使用電力の細かい調整はできない。オーバーロード時の対応としては、アクセス対象のフラッシュメモリを停止するしかない。これに対して本実施例では、図44に示すように、「0」,「1」,「2」,「3」の4段階の電力レベルをもっているので、アクセス対象のフラッシュメモリを必ずしも停止しなければならないということはなく、電力レベルの段階的低減で対処することが可能となっている。つまり、処理の実行を停止するのではなく、電力レベルを下げることで、オーバーロード状態を解消することが可能である。
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図45はフラッシュメモリコントローラ10の動作を示すフローチャートである。このフローチャートは、処理内容としては複数のフラッシュメモリ26に共通であるが、適用は個々のフラッシュメモリ26に対して個別の適用となる。ステップS341からステップS346を経てステップS347に至ると、当該フラッシュメモリ26は初めて処理を開始することになるが、その開始前にあって、すでに他のフラッシュメモリ26が処理を実行している。
外部のホスト200からのコマンドによる指示により、フラッシュメモリコントローラ10はアクセス対象のフラッシュメモリ26の制御を開始する。すなわち、まず、ステップS341において、フラッシュメモリコントローラ10はホスト200からのコマンドを受信する。コマンドの種類は任意である。
次いでステップS342において、フラッシュメモリコントローラ10は電源回路20からの電源状態通知信号Q2を受け取って、電源回路20の電源状態を確認する。ここで、電源状態は、電力レベルに換算して例えば「25」の能力があり、現在、電力レベルで合計「19」の処理をしているとする。
次いでステップS343において、フラッシュメモリコントローラ10は、該当のコマンドで指示された処理によってアクセス対象候補のフラッシュメモリ26で実行する動作で消費される動作電力を、その動作の種類に基づいて見積もる。例えば、ホストからの指示受信時にフラッシュメモリコントローラ10内のフラッシュメモリ動作管理テーブル12が図44のようであるとする。この状態において、フラッシュメモリAは電力レベル「1」、フラッシュメモリB,C,Dは電力レベル「2」、フラッシュメモリE,F,G,Hは電力レベル「3」、フラッシュメモリI,Jは停止中である。この状態の場合、処理実行中のフラッシュメモリ26の電力レベルの合計値は「19」である。なお、電力レベルを単純に足すのではなく、動作状態や個々のフラッシュメモリ26の特性を基に処理電力を見積もることで、より精度の高い電力見積りが可能となる。また、処理開始順は若い番号ほど新しく処理を実施したことを示しており、本実施例では、処理開始順番が新しいほど優先順位が低いと判断する。
ステップS343に続くステップS344において、フラッシュメモリコントローラ10は、見積もった動作電力と電源状態情報から得られる電源回路20の現在の駆動率とを比較して、電源回路20の現在の駆動率で見積もった動作電力を賄えるかを判断する。賄えないと判断したときは、ステップS345に進み、賄えると判断したときはステップS346に進む。
ここで、ホスト200からのフラッシュメモリIに書き込みの指示があった場合の動作例を挙げる。フラッシュメモリIに対する処理を電力レベル「3」で実施しようとする場合、電力レベルの合計は「22」(=19+3)となり、電源回路20の安定動作レベルであるレベル「20」(レベル「25」の80%)を超える。図44の状況でフラッシュメモリ26の動作を開始すると、データ信頼性が低下することにつながる可能性があるため、フラッシュメモリ26の電力レベルを変更する必要がある。
そこで、ステップS345において、フラッシュメモリ26の電力レベルを下げる。上記の動作例では、優先順位が最も低い(開始対象となるので優先順位は「9」に設定される)フラッシュメモリIの電力レベルを「3」から「1」に変更する。その結果、電力レベルの合計は「20」(=19+1)となり、電源回路20の安定レベル内で処理することが可能となる。つまり、ステップS344の判断が肯定的となり、ステップS346へ進む。
次いでステップS346において、フラッシュメモリコントローラ10は、フラッシュメモリ動作管理テーブル12を更新する。次いでステップS347において、対応するフラッシュメモリ26における処理を開始する。
本実施例によれば、電源回路20のオーバーロードのおそれがあるときに、原則として、低速ではあっても処理の実行を継続するため、きめの細かい制御形態で、システム処理能力の必要以上の低下を回避することができる。
《55》[処理開始前]*[低電力変更]*[優先順位]
本項は、上述した低電力変更に言及した《54》の構成において、さらにフラッシュメモリを低電力モードに変更する態様の改良を検討するものである。いうまでもなく、フラッシュメモリは、動的に動作電流を変更することが可能に構成されている。
本項は、上述した低電力変更に言及した《54》の構成において、さらにフラッシュメモリを低電力モードに変更する態様の改良を検討するものである。いうまでもなく、フラッシュメモリは、動的に動作電流を変更することが可能に構成されている。
ここで、フラッシュメモリコントローラは、フラッシュメモリ動作管理テーブルにおいて複数のフラッシュメモリの動作状況を監視するが、その監視の項目として複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されている。この優先順位は、複数のフラッシュメモリにおける処理の実行に伴って変遷し、フラッシュメモリコントローラはその変遷の都度、フラッシュメモリ動作管理テーブルにおいて優先順位を更新するようになっている。
そして、新規アクセス対象となるフラッシュメモリの処理を開始するに際して、処理実行中のフラッシュメモリの使用電力とメモリシステム用の電源回路の給電能力との関係でオーバーロード等の不具合が昂進しシステムダウンを起こしそうになった場合、つまり、アクセス対象のフラッシュメモリがメモリシステム用の電源回路の給電能力の規定の範囲内で適切な処理を実行することは不可能であると、フラッシュメモリコントローラが判断する場合には、フラッシュメモリコントローラは、フラッシュメモリ動作管理テーブルを参照して、優先順位が最も低いフラッシュメモリから優先的にその使用電力を下げるように制御を行う。この低電力変更においては、使用電力を下げた上で処理の実行を継続するのでもよいし、あるいは処理の実行を一時停止するのでもよい。
以上を要するに、本項の不揮発性記憶システムは、上述した低電力変更に言及した《54》の構成において、複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されているとともに、使用電力を下げた上で処理の実行を継続しまたは処理の実行を一時停止する制御は、処理実行中のフラッシュメモリ群において優先順位が最も低いフラッシュメモリから優先的に対象とするように構成されている。
本構成によれば、上記した《54》の構成と同様の作用効果のほか、メモリシステム用の電源回路の電力余裕が足りなくなってオーバーロード等の不具合が生じた場合に、その使用電力を下げた状態で処理の実行を継続させるフラッシュメモリを選択するに当たって、優先順位が最も低いフラッシュメモリから優先するので、処理速度の低下に起因する影響を極力抑制することが可能となる。
上記《55》の構成の具体例を実施例23として以下に説明する。
<実施例23>
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図36、図40、図42のいずれかが援用される。併せて、本実施例においては、フラッシュメモリ26は、その動的に動作電流を変更すること等により電力レベルを変更可能とする。また、フラッシュメモリコントローラ10は、各フラッシュメモリ26の動作状況を管理するフラッシュメモリ動作管理テーブル12を有する。フラッシュメモリ動作管理テーブル12の一例を図46に示す。
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図36、図40、図42のいずれかが援用される。併せて、本実施例においては、フラッシュメモリ26は、その動的に動作電流を変更すること等により電力レベルを変更可能とする。また、フラッシュメモリコントローラ10は、各フラッシュメモリ26の動作状況を管理するフラッシュメモリ動作管理テーブル12を有する。フラッシュメモリ動作管理テーブル12の一例を図46に示す。
図46は本発明の実施例23におけるフラッシュメモリコントローラ10のフラッシュメモリ動作管理テーブル12を示す。このフラッシュメモリ動作管理テーブル12には、フラッシュメモリ26毎に、動作の優先順位、動作の優先レベル、フラッシュメモリの状態、電力レベル、処理開始順の情報が格納されている。
動作の優先レベルは、例えば「0」~「3」の4段階で示され、「0」は未動作、「3」が最優先の処理となる。フラッシュメモリコントローラ10は、優先レベルの付け方に関して、処理速度の低下に起因する影響が大きいものから順に大きい優先レベルを付ける。換言すれば、処理速度の低下に起因する影響が小さいものを優先的に選択して低電力モードに切り替える。影響が大きいものはできるだけ通常モードで動作させる。つまり、低電力モードに切り替えるべきフラッシュメモリの選択の優先度は、フラッシュメモリ動作管理テーブル12における優先レベルとは逆の関係になっている。低電力モードに切り替えるべきフラッシュメモリの選択の優先度が優先順位である。図46の場合は、図の上位のものほど優先的に低電力モード切り替えの対象とする。なお、結果として、処理開始順はランダムな並びとなっている。
優先レベル「3」の処理は、例えばホスト200から直接指示されたデータの読み出し/書き込みに関する処理であって、この処理はホスト200から見た処理速度に直接影響を与える処理に対応する。
優先レベル「2」の処理は、例えばホスト200から指示された処理の後処理など、ホスト200から見た処理速度に直接は影響を与えないが、処理の高速化が望ましい処理に対応する。
優先レベル「1」の処理としては、例えば不良セクタを別のセクタに移動させるなど、ホスト200から見た処理速度に影響を与えない処理が割り当てられる。
フラッシュメモリの状態は書き込み処理実行中、消去処理実行中などを示し、フラッシュメモリの状態と電力レベルによりフラッシュメモリ26の動作電流値を計算することが可能となる。
処理開始順は、各々のフラッシュメモリ26の処理を開始した順番で記載され、「0」は停止中を示す。図46では、処理開始順には並んでいない。並んでいるのは、優先順位の順である。優先レベルについては、同じレベルのものが複数あり得るが、優先順位は連続番号であり、同一順位の重複はない。
このフラッシュメモリ動作管理テーブル12は、フラッシュメモリ26の動作開始、動作停止および電力レベルの変更等の動作モードの実行時に更新される。その他の構成は、実施例5の不揮発性記憶システムの構成と同様である。
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図47はフラッシュメモリコントローラ10の動作を示すフローチャートである。
ステップS351~S357のうち、ステップS355が図45のステップS345と相違し、その他のステップは図45と同じとなっている。ステップS351からステップS356を経てステップS357に至ると、当該のフラッシュメモリ26は初めて処理を開始することになるが、その開始前にあって、すでに他のフラッシュメモリ26が処理の実行を行っている。
外部のホスト200からのコマンドによる指示により、フラッシュメモリコントローラ10はアクセス対象のフラッシュメモリ26の制御を開始する。ステップS351において、ホスト200からの指示により、フラッシュメモリコントローラ10はフラッシュメモリ26を制御する。次いでステップS352において、フラッシュメモリコントローラ10は電源回路20から受け取る電源状態通知信号Q2に基づいて電源回路20の電源状態を確認する。
ここで、電源状態は、例えば電力レベルに換算して「30」の能力があり、現在電力レベルで「22」の処理をしている状態であるとする。さらには、電源回路20の安定動作レベルであるレベルは、レベル「30」の80%の「24」と設定されているとする。
次いでステップS353において、フラッシュメモリコントローラ10は、フラッシュメモリ26に対し次に実施する動作とその動作電力を見積もる。例えば、ホストからの指示受信時にフラッシュメモリコントローラ10内のフラッシュメモリ動作管理テーブル12が図46であったとする。この状態では、フラッシュメモリA~Jは処理実行中となり、フラッシュメモリIは停止中となる。
また、フラッシュメモリD,H,Jが優先レベル最高の「3」、フラッシュメモリC,Gが優先レベル中の「2」、フラッシュメモリA,B,E,Fが優先レベル低の「1」となっている。また、フラッシュメモリAは電力レベル「1」で動作され、フラッシュメモリB,E,Fは電力レベル「2」で動作され、フラッシュメモリC,G,D,H,Jは電力レベル「3」で動作される。
以上の状態の場合、処理実行中のフラッシュメモリ26の電力レベルの合計値は「22」である。なお、電力レベルを単純に足すのではなく、動作状態や個々のフラッシュメモリ26の特性を基に処理電力を見積もれば、より精度の高い電力見積りを行うことが可能となる。
また、フラッシュメモリ26の電力レベルを、優先レベル未満の電力レベルに設定しないことで、システムの処理性能の低減を抑えることが可能である。例えば、優先レベル「1」の処理では、電力レベルは「1」,「2」,「3」を選べるが、優先レベル「3」の処理では、電力レベルは「1」,「2」は選べず、選択される電力レベルは「3」となる。
また、処理開始順は若い番号ほど新しく処理を実施したことを示しており、本実施例では、処理開始順番が新しいほど、処理としては同一の優先レベルの中で優先順位が低いと判断する。図46では、優先レベルとして同順位のものが複数あるが、これを、処理開始順を参考にして連続順として優先順位を定めている。優先順位には同順位はない。
次に、ステップS355とステップS356に関連して、ホスト200からの指示により、フラッシュメモリIに優先レベル「3」の書き込みが必要であった場合におけるフラッシュメモリ動作管理テーブル12の更新方法について説明する。
図48はフラッシュメモリIの動作を加えたときのテーブルである。ここでフラッシュメモリIは優先レベル「3」のため、優先レベル「3」の処理の中で優先順位が最も低い優先順位4に割り当てられる。図46で最下段にあるフラッシュメモリIは図48では下から4段目に移行している。このときの処理開始順は「0」であり、これはフラッシュメモリ動作管理テーブル12への仮の登録を意味している。また、フラッシュメモリIの電力レベルは「3」となる。
ここで電力レベルの合計は「25」(22+3)となり、電源回路20の安定動作レベルであるレベル「24」(レベル「30」の80%)を超える。この状態でフラッシュメモリ26の動作を開始すると、データ信頼性が低下する可能性があり、これを避けるためにはフラッシュメモリ26の電力レベルを変更する必要がある。これを具体的にいうと、ステップS354の判断が否定的となり、ステップS355へ進むことになる。
この場合、優先順位が「10」で最も低いフラッシュメモリAは、電力レベルが「1」であるために、電力レベルを下げることができない。もし、これを下げるとなれば、電力レベル「0」となり、これではフラッシュメモリの処理が停止してしまい、これでは本実施例の主旨に反する。そこで次に優先順位が低い優先順位「9」のフラッシュメモリBに着目する。フラッシュメモリBは、優先レベル「1」に対して電力レベル「2」であるため、電力レベルを下げることができる。
フラッシュメモリBの電力レベルを「2」から「1」に変更した場合、電力レベルの合計は「24」(=25-1)となり、電源回路20の安定レベル(レベル「30」の80%の「24」)内で処理することが可能となる。変更後の結果は図49に記載している。図48で電力レベル「2」であったフラッシュメモリBの電力レベルが「1」に低電力変更されている。以上で、チェックと修正が終わり、電力レベルが確定する。その後、フラッシュメモリ動作管理テーブル12を更新し、対応するフラッシュメモリ26の処理を開始する。
図44、図45を用いて説明した実施例5の動作例の場合、新規参入させたフラッシュメモリIの電力レベルを「3」から「1」に低電力変更したが、本実施例では新規参入させたフラッシュメモリIの電力レベルは所望の「3」のままとし、すでに処理の実行が進んでいたフラッシュメモリBについて、低電力変更を施している。
本実施例によれば、フラッシュメモリ26に低電力変更についての優先順位を持たせて処理を実施することで、システムの処理に対する影響を最小限とすることが可能となる。
《56》[処理実行中]*[ポーリング]*[低電力変更]
本項の構成と上記《54》の構成とは、処理を行うタイミングが、[処理開始前]であるか[処理実行中]であるかで相違する。また、本項の構成と《51》の構成とは処理方法が、[一時停止]であるか[低電力変更]であるかで相違する。上記《54》の構成では、ホストからフラッシュメモリコントローラにコマンドが送信され、そのコマンドをフラッシュメモリコントローラが受信したときからの制御、つまり新規アクセス対象のフラッシュメモリでの処理開始前における制御についてであった。本項では、現に複数のフラッシュメモリにおいて処理の実行がなされている最中に、フラッシュメモリ群における動作電流が規定水準を超え、メモリシステム用の電源回路の電力余裕が足りなくなってオーバーロード等の不具合のおそれが生じた場合の制御に関する。
本項の構成と上記《54》の構成とは、処理を行うタイミングが、[処理開始前]であるか[処理実行中]であるかで相違する。また、本項の構成と《51》の構成とは処理方法が、[一時停止]であるか[低電力変更]であるかで相違する。上記《54》の構成では、ホストからフラッシュメモリコントローラにコマンドが送信され、そのコマンドをフラッシュメモリコントローラが受信したときからの制御、つまり新規アクセス対象のフラッシュメモリでの処理開始前における制御についてであった。本項では、現に複数のフラッシュメモリにおいて処理の実行がなされている最中に、フラッシュメモリ群における動作電流が規定水準を超え、メモリシステム用の電源回路の電力余裕が足りなくなってオーバーロード等の不具合のおそれが生じた場合の制御に関する。
本項の不揮発性記憶システムにおいては、上記《50》の不揮発性記憶システムにおいて、フラッシュメモリは消費電力モードとして低電力モードを有していて、動的に動作電流を変更することが可能であるとする。また、フラッシュメモリコントローラは、複数のフラッシュメモリそれぞれの動作状況を管理するフラッシュメモリ動作管理テーブルを有しているものとする。
フラッシュメモリコントローラは、ポーリングによりメモリシステム用の電源回路から電源状態情報を受け取ったうえで、受け取った電源状態情報をフラッシュメモリ動作管理テーブルで参照して特定のレベルと比較する。そして、電源状態情報が特定のレベル以上でメモリシステム用の電源回路に電力余裕がなくなっていると判断した場合、フラッシュメモリコントローラは、特定のフラッシュメモリの電力レベルを下げ、次いで電源状態情報に基づいてメモリシステム用の電源回路に電力余裕が生じるようになったと判断したときは、フラッシュメモリ動作管理テーブルを更新する制御を行う。
以上を要するに、本項は、上記《50》の構成において、フラッシュメモリは、動的に動作電流を変更することが可能に構成されており、フラッシュメモリコントローラは、ポーリングによりメモリシステム用の電源回路から電源状態情報を受け取り、受け取った電源状態情報が特定のレベル以上であると判断した場合は特定のフラッシュメモリの電力レベルを下げ、メモリシステム用の電源回路に電力余裕を生じさせて処理の実行を継続するように構成されている。
本項によれば、フラッシュメモリにおける処理の実行中にメモリシステム用の電源回路に電力余裕がなくなってオーバーロード等の不具合のおそれが生じた場合であっても、ポーリングによりその不具合発生を事前に検知し、処理実行中の特定のフラッシュメモリの電力レベルを下げる。これにより、メモリシステム用の電源回路のオーバーロード等の不具合に起因する不安定動作やシステムダウンを防止しながら、システムの全体的な処理能力の低下を最小限に抑さえることが可能になる。また、安定動作を確保するためにあえて過剰な電源能力をもたせるといったようなことをしなくて済む。
上記《56》の構成の具体例を実施24として以下に説明する。
<実施例24>
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図36、図42のいずれかが援用される。次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図50はフラッシュメモリコントローラ10の動作を示すフローチャートである。
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図36、図42のいずれかが援用される。次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図50はフラッシュメモリコントローラ10の動作を示すフローチャートである。
いま、いくつかのフラッシュメモリ26において処理を実行している最中であるとする。すなわち、ステップS361において、フラッシュメモリコントローラ10がフラッシュメモリ26の処理を制御しているとする。この状態で次にステップS362において、フラッシュメモリコントローラ10が、電源回路20の電源状態を確認する。すなわち、フラッシュメモリコントローラ10は、ポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態情報として駆動率を受け取って、その駆動率を確認する。
次いでステップS363において、フラッシュメモリコントローラ10は、現在の駆動率が上限の特定レベルLH 以上であるか否かを判断する。上限の特定レベルLH 以上であればステップS364に進み、そうでなければステップS365に進む。現在の駆動率が上限の特定レベルLH 以上であるか否かを判断することは、電源回路20に電力余裕がなくなってオーバーロードを起こすおそれがあるか否かを見ていることになる。
ステップS363において、現在の駆動率が上限の特定レベルLH 以上で、オーバーロードを起こす危険性があると判断してステップS364に進むと、フラッシュメモリコントローラ10は、現在処理実行中のフラッシュメモリ26の電力レベルを下げる(低電力変更)、つまりフラッシュメモリ26の電力モードを低電力モードに移行させる。電力レベルを下げるフラッシュメモリは、処理開始順に沿って順次設定する。つまり、現在アクセス対象となっている複数のフラッシュメモリ26のうち、ホスト200からのコマンドで処理開始したのが早い時期のフラッシュメモリから優先して電力レベルを下げる対象とする。
ステップS364の次はステップS362に戻る。ステップS362→S363→S364→S362のループを繰り返すうちに、順次にフラッシュメモリの電力レベルが下がっていき、オーバーロードの危険性を判断するための現在の駆動率が上限の特定レベルLH を下回るようになる。こうなると、すべてのアクセス対象のフラッシュメモリ26における処理で必要となる電力は、現在の駆動率の供給電力で安全に電源回路20によって賄えるようになる。つまり、電源回路20に電力余裕が生じたことになる。この状態になれば、ステップS365に進む。
ステップS365に進むと、フラッシュメモリコントローラ10は、フラッシュメモリ動作管理テーブル12を更新する。ステップS364を経てきたときは、レベルを下げた後の電力レベルを設定する。この電力レベルを下げる処理により、オーバーロード状態を回避している。なお、ステップS304では、フラッシュメモリ動作管理テーブル12には仮のデータ登録が行われているだけであり、ステップS365においてそのデータが本登録される。
次いでステップS366において、フラッシュメモリ26における処理が完了したかの判断を行い、未完了であればステップS361に戻って処理を続行する。この処理の続行の過程でも、ステップS362、S363、S364、S365の処理を繰り返す。処理が完了したときは、図50のルーチンから抜ける。なお、一部のフラッシュメモリ26を一時停止することも、電力レベルを下げる処理に含まれるものとする。
本実施例によれば、アクセス対象のフラッシュメモリでの処理実行中において、電源回路20の電源状態(駆動率)を監視しながら、フラッシュメモリ26の使用電力をリアルにダイナミックに制御するので、電源回路20のオーバーロード等の不具合に起因する不安定動作やシステムダウンを防止しながら、システムの全体的な処理能力の低下を最小限に抑さえることができる。また、安定動作を確保するためにあえて過剰な電源能力をもたせるといったようなことをしなくて済む。
《57》[処理実行中]*[割り込み]*[低電力変更]
本項は、上述した《56》の構成が果たす機能を、ポーリングではなくメモリシステム用の電源回路からの割り込みによって実現しようとするものである。本項の不揮発性記憶システムは、上述した《50》の構成において、電源回路の電源状態を常時監視し、電源状態が特定のレベル以上となったときに割り込み信号を生成し、フラッシュメモリコントローラに通知するものとして構成されている。また、フラッシュメモリコントローラは、メモリシステム用の電源回路から割り込み信号を受け取った場合は、処理実行中の特定のフラッシュメモリの電力レベルを下げ、そのことを通じてメモリシステム用の電源回路に電力余裕を生じさせながら、処理の実行を継続するものとして構成されている。
本項は、上述した《56》の構成が果たす機能を、ポーリングではなくメモリシステム用の電源回路からの割り込みによって実現しようとするものである。本項の不揮発性記憶システムは、上述した《50》の構成において、電源回路の電源状態を常時監視し、電源状態が特定のレベル以上となったときに割り込み信号を生成し、フラッシュメモリコントローラに通知するものとして構成されている。また、フラッシュメモリコントローラは、メモリシステム用の電源回路から割り込み信号を受け取った場合は、処理実行中の特定のフラッシュメモリの電力レベルを下げ、そのことを通じてメモリシステム用の電源回路に電力余裕を生じさせながら、処理の実行を継続するものとして構成されている。
本項によれば、フラッシュメモリコントローラがメモリシステム用の電源回路のオーバーロード等の不具合状態を認識するきっかけとして、メモリシステム用の電源回路での電源状態遷移に伴う割り込み信号を利用するので、フラッシュメモリコントローラはポーリングによるメモリシステム用の電源回路のモニタリングが不要となり、処理負荷の軽減が可能となる。また、割り込み信号の受信が即不具合検知になるので、タイムラグがなく、高速な対応が可能である。
上記《57》の構成の具体例を実施例25として以下に説明する。
<実施例25>
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図40、図42のいずれかが援用される。本実施例においては、電源回路20は、フラッシュメモリ26における処理中に、常時的に自己の内部状態を監視し、アクセス対象のフラッシュメモリ26の使用電力が電源回路20の現在の駆動率に対してオーバーロード気味になって駆動率が規定値を超えたときに電源状態遷移を意味する割り込み信号Q2を生成し、フラッシュメモリコントローラ10に対して通知するように構成されている。フラッシュメモリコントローラ10は、電源回路20から割り込み信号Q2を受け取ったときは、処理中の特定のフラッシュメモリ26の電力レベルを下げるように構成されている。その他の構成は、実施例22の不揮発性記憶システムの構成と同様である。
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図40、図42のいずれかが援用される。本実施例においては、電源回路20は、フラッシュメモリ26における処理中に、常時的に自己の内部状態を監視し、アクセス対象のフラッシュメモリ26の使用電力が電源回路20の現在の駆動率に対してオーバーロード気味になって駆動率が規定値を超えたときに電源状態遷移を意味する割り込み信号Q2を生成し、フラッシュメモリコントローラ10に対して通知するように構成されている。フラッシュメモリコントローラ10は、電源回路20から割り込み信号Q2を受け取ったときは、処理中の特定のフラッシュメモリ26の電力レベルを下げるように構成されている。その他の構成は、実施例22の不揮発性記憶システムの構成と同様である。
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図51はフラッシュメモリコントローラ10の動作を示すフローチャートである。ステップS371において、フラッシュメモリコントローラ10は、電源回路20から電源回路20の状態遷移を意味する割り込み信号Q2を受信したことを認識する。次いでステップS372において、フラッシュメモリコントローラ10は、現在処理実行中のフラッシュメモリ26の電力レベルを下げる、つまり、フラッシュメモリ26を低電力モードに移行させる。本実施例では、電力レベルを下げるフラッシュメモリは、処理開始順に基づいて設定される。つまり、フラッシュメモリコントローラ10は、現在アクセス対象となっている複数のフラッシュメモリ26のうちで、ホスト200からのコマンドで処理開始したのが早い時期のフラッシュメモリから優先して電力レベルを下げる対象とする。
次いでステップS373において、フラッシュメモリコントローラ10は再び電源回路20の電源状態を確認する。すなわち、フラッシュメモリコントローラ10は、ポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態通知信号Q2を受け取り、受け取った電源状態通知信号Q2から電源状態情報を取り出し、取り出した電源状態情報から電源回路20における現在の駆動率を認識する。
次いでステップS374において、フラッシュメモリコントローラ10は、現在の駆動率が上限の特定レベルLH 以上であるか否かを判断する。上限の特定レベルLH 以上であればステップS372に戻り、そうでなければステップS375に進む。現在の駆動率が上限の特定レベルLH 以上であるか否かの判断は、換言すれば、電源回路20に電力余裕がなくなってオーバーロードを起こすおそれがあるのかを見ていることになる。
現在の駆動率が上限の特定レベルLH 以上で、オーバーロードを起こす危険性があると判断してステップS372に戻ると、フラッシュメモリコントローラ10は、さらにフラッシュメモリ26の電力レベルを下げる、あるいは別のフラッシュメモリ26を低電力モードに移行させる。
ステップS372→S373→S374→S372のループを繰り返すうちに、オーバーロードの危険性を判断する目安となる現在の駆動率が上限の特定レベルLH を下回るようになる。こうなるのは、順次にフラッシュメモリの電力レベルを下げて行くからである。駆動率が上限の特定レベルLH を下回ると、すべてのアクセス対象フラッシュメモリ26の処理で必要となる電力を、現在の駆動率の供給電力で安全に電源回路20によって賄うことが可能となる。そうなれば、ステップS375に進む。
ステップS375に進むと、フラッシュメモリコントローラ10は、フラッシュメモリ動作管理テーブル12を更新する。上述したループを経た状態では、レベルを下げた後の電力レベルが設定される。この電力レベルを下げる処理により、オーバーロード状態が回避される。本実施例は割り込み処理であるので、ステップS375の次は、図51のルーチンから抜ける。
本実施例の場合、図50の実施例7におけるステップS362、ステップS363に相当する処理、つまり、フラッシュメモリコントローラ10からのポーリングにより電源回路20の駆動率が90%超えたかどうかを確認することは不要である。すなわち、実施例7に対して、フラッシュメモリコントローラ10からの電圧レベルの確認が不要となるため、フラッシュメモリコントローラ10の処理負荷を低減することが可能となる。
《58》[処理実行中]*[ポーリング]*[低電力変更]*[優先順位]
本項は、上記の低電力変更に言及した《56》の構成においてさらに、フラッシュメモリを低電力モードに変更する態様の改良を検討するものである。いうまでもなく、フラッシュメモリは、動的に動作電流を変更することが可能に構成されている。電源回路20の電源状態の確認は、フラッシュメモリコントローラ10からのポーリングによるように構成されている。本項と上記《55》とは、処理を行うタイミングが、[処理開始前]と[処理実行中]とで相違する。
本項は、上記の低電力変更に言及した《56》の構成においてさらに、フラッシュメモリを低電力モードに変更する態様の改良を検討するものである。いうまでもなく、フラッシュメモリは、動的に動作電流を変更することが可能に構成されている。電源回路20の電源状態の確認は、フラッシュメモリコントローラ10からのポーリングによるように構成されている。本項と上記《55》とは、処理を行うタイミングが、[処理開始前]と[処理実行中]とで相違する。
ここで、フラッシュメモリコントローラは、フラッシュメモリ動作管理テーブルにおいて複数のフラッシュメモリの動作状況を監視するが、その監視の項目として複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されている。この優先順位は、複数のフラッシュメモリにおける処理の実行に伴って変遷し、フラッシュメモリコントローラはその変遷の都度、フラッシュメモリ動作管理テーブルにおいて優先順位を更新するようになっている。
そして、フラッシュメモリコントローラは、処理実行中のフラッシュメモリの使用電力とメモリシステム用の電源回路の給電能力との関係でオーバーロード等の不具合が昂進しシステムダウンを起こしそうになった場合、つまり、アクセス対象のフラッシュメモリがメモリシステム用の電源回路の給電能力の規定の範囲内で適切な処理を実行することが不可能であると判断する場合には、フラッシュメモリコントローラは、フラッシュメモリ動作管理テーブルを参照して、優先順位が最も低いフラッシュメモリから優先的にその使用電力を下げるように制御を行う。この低電力変更においては、使用電力を下げた上で処理の実行を継続する。
以上を要するに、本項の不揮発性記憶システムは、上述した低電力変更に言及した《56》の構成において、フラッシュメモリコントローラは、複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されているとともに、使用電力を下げた上で処理の実行を継続する制御は、処理実行中のフラッシュメモリ群において優先順位が最も低いフラッシュメモリから優先的に対象とするように構成されている。
本構成によれば、上記《56》の構成による作用効果に加えて、メモリシステム用の電源回路の電力余裕が足りなくなってオーバーロード等の不具合のおそれが生じた場合であっても、その使用電力を下げた状態で処理の実行を継続させるフラッシュメモリを選択するに当たって、優先順位が最も低いフラッシュメモリから優先するので、処理速度の低下を極力抑制することが可能となる。
上記《58》の構成の具体例を実施例26として以下に説明する。
<実施例26>
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図36、図42のいずれかが援用される。本実施例の不揮発性記憶システムの動作を説明する。図52はフラッシュメモリコントローラ10の動作を示すフローチャートである。ステップS381~S386のうち、ステップS384が図50のステップS364と相違し、その他のステップは図50と同じとなっている。
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図36、図42のいずれかが援用される。本実施例の不揮発性記憶システムの動作を説明する。図52はフラッシュメモリコントローラ10の動作を示すフローチャートである。ステップS381~S386のうち、ステップS384が図50のステップS364と相違し、その他のステップは図50と同じとなっている。
いま、いくつかのフラッシュメモリ26において処理を実行している最中であるとする。すなわち、ステップS381において、フラッシュメモリコントローラ10はフラッシュメモリ26の処理を制御しているとする。この状態で次にステップS382において、フラッシュメモリコントローラ10は、ポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態情報を受け取り、受け取った電源状態情報に基づいて電源回路20の駆動率を確認する。
次いでステップS383において、フラッシュメモリコントローラ10は、現在の駆動率が上限の特定レベルLH 以上であるか否かを判断する。上限の特定レベルLH 以上であればステップS384に進み、そうでなければステップS385に進む。現在の駆動率が上限の特定レベルLH 以上であるか否かの判断は、電源回路20に電力余裕がなくなってオーバーロードを起こすおそれがあるのか否かを見ていることになる。
ステップS383において、現在の駆動率が上限の特定レベルLH 以上で、オーバーロードを起こす危険性があると判断してステップS384に進むと、フラッシュメモリコントローラ10は、フラッシュメモリ動作管理テーブル12を参照して優先順位が低いフラッシュメモリを優先して選択し、選択した現在処理実行中のフラッシュメモリ26の電力レベルを下げる、つまり、フラッシュメモリ26の消費電力モードを低電力モードに移行させる。
ステップS384の次はステップS382に戻る。ステップS382→S383→S384→S382のループを繰り返すうちに、順次にフラッシュメモリの電力レベルが下がっていき、オーバーロードの危険性を判断するための現在の駆動率が上限の特定レベルLH を下回るようになる。こうなると、すべてのアクセス対象のフラッシュメモリ26の処理で必要となる電力を、現在の駆動率の供給電力で安全に電源回路20によって賄うことが可能になる。そうなれば、ステップS385に進む。
ステップS385に進むと、フラッシュメモリコントローラ10は、フラッシュメモリ動作管理テーブル12を更新する。ステップS384を経てきたときは、レベルを下げた後の電力レベルを設定する。この電力レベルを下げる処理により、オーバーロード状態を回避している。
次いでステップS386において、フラッシュメモリ26における処理が完了したかの判断を行い、未完了であればステップS381に戻って処理を続行する。この処理の続行の過程でも、ステップS382,S383,S384,S385の処理を繰り返す。処理が完了したときは、図52のルーチンから抜ける。なお、フラッシュメモリ26を一時停止することも、電力レベルを下げる処理に含まれるものとする。
本実施例によれば、実施例24の効果に加えて、フラッシュメモリ26に優先度を持たせ処理を実施することで、システムの処理に対する影響を最小限にすることが可能となる。
《59》[処理実行中]*[割り込み]*[低電力変更]*[優先順位]
本項は、上記《58》が果たす機能を、ポーリングではなくメモリシステム用の電源回路からの割り込みによって実現しようとするものである。
本項は、上記《58》が果たす機能を、ポーリングではなくメモリシステム用の電源回路からの割り込みによって実現しようとするものである。
本項の不揮発性記憶システムは、低電力変更に言及した上述の《56》の構成において、電源回路は、電源状態を常時的に監視し、電源状態が特定のレベル以上となったときに割り込み信号を生成してフラッシュメモリコントローラに通知するものとして構成されている。また、フラッシュメモリコントローラは、電源回路から割り込み信号を受け取った場合、処理実行中の特定のフラッシュメモリの電力レベルを下げ、そのことを通じてメモリシステム用の電源回路に電力余裕を生じさせながら、処理の実行を継続するものとして構成されている。
本項によれば、フラッシュメモリコントローラがメモリシステム用の電源回路のオーバーロード等の不具合状態を認識する切掛けとして、メモリシステム用の電源回路での電源状態遷移に伴う割り込み信号を利用するので、フラッシュメモリコントローラはポーリングによるメモリシステム用の電源回路のモニタリングが不要となり、処理負荷の軽減が可能となる。また、割り込み信号の受信が即不具合検知になるので、タイムラグがなく、高速な対応が可能である。
上記《59》の構成の具体例を実施例27として以下に説明する。
<実施例27>
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図40、図42のいずれかが援用される。本実施例の不揮発性記憶システムにおいては、フラッシュメモリコントローラ10は、図46と同様の優先レベルを管理するフラッシュメモリ動作管理テーブル12を有している。
本実施例の不揮発性記憶システムの構成を示すブロック図としては、図40、図42のいずれかが援用される。本実施例の不揮発性記憶システムにおいては、フラッシュメモリコントローラ10は、図46と同様の優先レベルを管理するフラッシュメモリ動作管理テーブル12を有している。
本実施例においては、電源回路20は、フラッシュメモリ26における処理中に、常時的に自己の内部状態を監視する。具体的には、アクセス対象のフラッシュメモリ26の使用電力が当該電源回路20の現在の駆動率に対してオーバーロード気味になって駆動率が規定値を超えると、電源回路20は、電源状態遷移を意味する割り込み信号Q2を生成して、フラッシュメモリコントローラ10に通知するように構成されている。フラッシュメモリコントローラ10は、電源回路20から割り込み信号Q2を受け取ると、処理中の特定のフラッシュメモリ26の電力レベルを下げるように構成されている。その他の構成は、実施例22の不揮発性記憶システムの構成と同様である。
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図53はフラッシュメモリコントローラ10の動作を示すフローチャートである。ステップS391において、フラッシュメモリコントローラ10は、電源回路20から電源回路20の状態遷移を意味する割り込み信号Q2を受信したことを認識する。
次いでステップS392において、フラッシュメモリコントローラ10は、フラッシュメモリ動作管理テーブル12を参照して優先順位が低いフラッシュメモリを優先して選択し、選択した現在処理実行中のフラッシュメモリ26の電力レベルを下げる。つまり、低電力モードに移行させる。
次いでステップS393において、フラッシュメモリコントローラ10は再びポーリングによって電源回路20に問い合わせを行って電源回路20から電源状態情報(具体的には電源状態通知信号Q2)を受け取り、受け取った電源状態情報に基づいて、電源回路20の現在の駆動率を認識する。
次いでステップS394において、フラッシュメモリコントローラ10は、現在の駆動率が上限の特定レベルLH 以上であるか否かを判断する。上限の特定レベルLH 以上であればステップS392に戻り、そうでなければステップS395に進む。現在の駆動率が上限の特定レベルLH 以上であるか否かの判断は、電源回路20に電力余裕がなくなってオーバーロードを起こすおそれがあるか否かを見ていることになる。
現在の駆動率が上限の特定レベルLH 以上でであって、オーバーロードを起こす危険性があると判断してステップS392に戻ると、フラッシュメモリコントローラ10は、さらにフラッシュメモリ26の電力レベルを下げる。あるいは、別のフラッシュメモリ26を低電力モードに移行させる。
ステップS392→S393→S394→S392のループを繰り返すうちに、順次にフラッシュメモリの電力レベルが下がっていき、オーバーロードの危険性を判断するための現在の駆動率が上限の特定レベルLH を下回るようになる。こうなると、すべてのアクセス対象のフラッシュメモリ26における処理に必要な電力を現在の駆動率の供給電力で安全に電源回路20によって賄うことが可能になる。そうなれば、ステップS395に進む。
ステップS395に進むと、フラッシュメモリコントローラ10は、フラッシュメモリ動作管理テーブル12を更新する。上記のループを経てきたときは、レベルを下げた後の電力レベルを設定する。この電力レベルを下げる処理により、オーバーロード状態を回避している。本実施例は割り込み処理であるので、ステップS395の次は、図53のルーチンから抜ける。
本実施例の場合、図52の実施例26におけるステップS382、ステップS383に相当する処理、つまり、フラッシュメモリコントローラ10からのポーリングにより電源回路20の駆動率が90%超えたか否かを確認することは不要である。すなわち、本実施例では、実施例26においてフラッシュメモリコントローラ10が実施していた電源回路20の電圧レベルの確認処理が不要となるため、フラッシュメモリコントローラ10の処理負荷を低減することが可能となる。
《60》[オーバーロード等の不具合発生に対するチェック]
本項は、フラッシュメモリに対する処理の実行が完了したときに、データ異常のチェックを行い、その結果をホストへ通知するものである。
本項は、フラッシュメモリに対する処理の実行が完了したときに、データ異常のチェックを行い、その結果をホストへ通知するものである。
本項の不揮発性記憶システムは、上記《50》~《59》のいずれか構成において、フラッシュメモリコントローラは、フラッシュメモリの処理が完了した後に、メモリシステム用の電源回路でオーバーロードが発生したか否かを確認し、オーバーロード発生ありのときはフラッシュメモリのベリファイ動作を実行する。そしてベリファイ後に、フラッシュメモリのデータ異常を判定し、ホストに対して判定結果を通知する。
本項によれば、オーバーロードが発生したことをシステムで確認し、オーバーロード発生時の処理実行の結果の良否を確認し、ホストに通知することで、データ信頼性を向上することが可能となる。
上記《60》の構成の具体例を実施例28として以下に説明する。
<実施例28>
図54は本発明の実施例28における不揮発性記憶システムの構成を示すブロック図である。電源回路20には、電源回路20がオーバーロードを生じたか否かを示すオーバーロードフラグをセットしておくためのオーバーロードレジスタ24が備えられている。フラッシュメモリコントローラ10は、電源回路20のオーバーロードレジスタ24をポーリングし、ポーリング結果が電源回路20のオーバーロードを示す場合には、フラッシュメモリ26への動作を継続してベリファイ動作を実施するように構成されている。その他の構成は、実施例20(図40の不揮発性記憶システム)の構成と同様である。
図54は本発明の実施例28における不揮発性記憶システムの構成を示すブロック図である。電源回路20には、電源回路20がオーバーロードを生じたか否かを示すオーバーロードフラグをセットしておくためのオーバーロードレジスタ24が備えられている。フラッシュメモリコントローラ10は、電源回路20のオーバーロードレジスタ24をポーリングし、ポーリング結果が電源回路20のオーバーロードを示す場合には、フラッシュメモリ26への動作を継続してベリファイ動作を実施するように構成されている。その他の構成は、実施例20(図40の不揮発性記憶システム)の構成と同様である。
次に、上記のように構成された本実施例の不揮発性記憶システムの動作を説明する。図55はフラッシュメモリコントローラ10の動作を示すフローチャートである。ステップS401において、フラッシュメモリコントローラ10は、フラッシュメモリ26における処理の実行の完了を認識する。次いでステップS402において、フラッシュメモリコントローラ10は、電源回路20のオーバーロードフラグを確認する。ここでは、電源回路20に設けられたオーバーロードレジスタ24をポーリングすることでオーバーロードフラグを確認する。次いでステップS403において、電源回路20のオーバーロードレジスタ24をクリアする。
次いでステップS404において、ステップS402での確認結果に従ってオーバーロード発生の有無を判定する。オーバーロードが発生していたときはステップS405に進み、発生していない場合はステップS407へ進む。
ステップS405に進むと、フラッシュメモリコントローラ10はフラッシュメモリ26で実施した処理のベリファイ動作を行う。具体的には、書き込み動作または消去動作を実施したフラッシュメモリ26の領域のデータ(処理をしたデータ)を一度読み出してそのデータが正常であるか否かを確認する。次いでステップS406において、フラッシュメモリ26のデータが果たして正常であるか否か(フラッシュメモリ全体のデータが正常であるか否か)を判断する。正常のときはステップS407に進み、異常のときはステップS408に進む。
電源回路20にオーバーロードが発生していなかったと判断される場合、あるいはフラッシュメモリ26の処理結果が正常であったと判断される場合は、ステップS407に進み、フラッシュメモリコントローラ10はホスト200に「正常終了」を通知する。一方、フラッシュメモリ26の処理結果が異常であったと判断される場合は、ステップS408に進み、フラッシュメモリコントローラ10はホスト200に「異常終了」を通知する。
本実施例によれば、オーバーロードが発生したことをシステムで確認し、オーバーロード発生時の処理の実行の結果の良否を確認し、ホスト200に通知することで、データ信頼性を向上することができる。
<61> 上述した<50>の構成においては、前記フラッシュメモリコントローラは、入出力回路等与えられる第1の電源電圧が印加される第1の電源端子および、信号処理回路等与えられ、前記第1の電源電圧よりも低い第2の電源電圧が印加される第2の電源端子を備え、
前記電源回路が、前記フラッシュメモリコントローラの前記第2の電源端子へ印加する第2の電源電圧を生成する回路を備えるよう構成されている、のが好ましい。
前記電源回路が、前記フラッシュメモリコントローラの前記第2の電源端子へ印加する第2の電源電圧を生成する回路を備えるよう構成されている、のが好ましい。
《62》[基本的構成:電圧発生部と電圧状態モニタ部]
本項のメモリシステム用の電源回路は、生成すべき電源電圧に関してフラッシュメモリコントローラから制御を受け、その制御に従って自己の内部状態を監視し、監視結果(電源状態(駆動率)等)をフラッシュメモリコントローラに返す。フラッシュメモリコントローラは返ってきた監視結果(電源状態(駆動率)等)を電源電圧の制御に利用する。この構成によれば、制御形態が絶えざるフィードバック・フィードフォワードであることから、リアルでダイナミックなきめの細かい制御を実現することができる。これは、以下に説明するような様々な実施例においてさらに有利に展開することが可能である。
本項のメモリシステム用の電源回路は、生成すべき電源電圧に関してフラッシュメモリコントローラから制御を受け、その制御に従って自己の内部状態を監視し、監視結果(電源状態(駆動率)等)をフラッシュメモリコントローラに返す。フラッシュメモリコントローラは返ってきた監視結果(電源状態(駆動率)等)を電源電圧の制御に利用する。この構成によれば、制御形態が絶えざるフィードバック・フィードフォワードであることから、リアルでダイナミックなきめの細かい制御を実現することができる。これは、以下に説明するような様々な実施例においてさらに有利に展開することが可能である。
<実施例29>
図56は本発明の実施例29における不揮発性記憶システム(メモリシステム用の電源回路)の構成を示すブロック図である。図56において、10はフラッシュメモリコントローラ、20はメモリシステム用の電源回路、25は複数のフラッシュメモリ26の集合からなるメモリブロックである。フラッシュメモリコントローラ10は、1つあるいは複数のフラッシュメモリ26それぞれに、読み出し状態、書き込み/消去状態等を設定するとともに、フラッシュメモリ26の各状態によって必要とされる電圧/電流能力に応じて電源制御信号Q1を生成して電源回路20に与える。
図56は本発明の実施例29における不揮発性記憶システム(メモリシステム用の電源回路)の構成を示すブロック図である。図56において、10はフラッシュメモリコントローラ、20はメモリシステム用の電源回路、25は複数のフラッシュメモリ26の集合からなるメモリブロックである。フラッシュメモリコントローラ10は、1つあるいは複数のフラッシュメモリ26それぞれに、読み出し状態、書き込み/消去状態等を設定するとともに、フラッシュメモリ26の各状態によって必要とされる電圧/電流能力に応じて電源制御信号Q1を生成して電源回路20に与える。
電源回路20は、構成要素として、パラメータ設定部40、電圧発生部50および電圧状態モニタ部60を備えている。1はシステム電源であり、このシステム電源1は、フラッシュメモリコントローラ10や電源回路20やフラッシュメモリ26に、基本電源となる電源電圧VDDを供給するようになっている。フラッシュメモリコントローラ10は電源回路20に、コントロールバス42を介して接続されている。コントロールバス42には電源制御信号Q1と電源状態通知信号Q2とが伝送される。フラッシュメモリコントローラ10はバス43を介して複数のフラッシュメモリ26それぞれに接続されている。Q3はコントロールバス42に乗るフラッシュメモリ制御信号である。電源回路20は電源線44を介して各フラッシュメモリ26に接続されている。
電源回路20は、フラッシュメモリコントローラ10から送られてくる電源制御信号Q1を入力するための電源制御端子T1と、電圧状態モニタ部60から電源状態通知信号Q2をフラッシュメモリコントローラ10に向けて出力するための電源状態通知端子T2と、電圧発生部50から電源電圧をフラッシュメモリ26に出力するための電源出力端子T3とを備えている。
パラメータ設定部40は電源制御信号Q1に基づいて、電流能力、昇圧並列数、昇圧段数、発振周波数など各種の制御パラメータを設定する機能を有している。電源制御信号Q1は、フラッシュメモリコントローラ10から電源制御端子T1を介してパラメータ設定部40に入力される。パラメータ設定部40の出力側は電圧発生部50につながっている。
電圧発生部50は、パラメータ設定部40によって各種パラメータが設定される。電圧発生部50は、設定されたパラメータに応じてフラッシュメモリ動作用の電源電圧を生成出力する機能を有している。電圧発生部50において生成された電源電圧は電源出力端子T3を介してフラッシュメモリ26群へ供給されるようになっている。電圧発生部50はさらに、生成した電源電圧の変化を示す電源電圧変化信号N10を生成して電圧状態モニタ部60に送出するようになっている。
電圧状態モニタ部60は、電圧発生部50が送出する電源電圧変化信号N10を受け取り、その電源電圧変化信号N10に基づいて電圧発生部50の駆動率を示す電源状態通知信号Q2を生成し、生成した電源状態通知信号Q2を電源状態通知端子T2からフラッシュメモリコントローラ10へ出力するようになっている。図57は電源回路20の動作を示すフローチャートである。
本実施例によれば、次の効果がある。電源回路20は、生成すべき電源電圧を外部のフラッシュメモリコントローラ10によって制御され、また自己の内部状態を常時的に監視し、その監視結果である電源状態通知信号Q2(駆動率を示す)をフラッシュメモリコントローラ10に返す。フラッシュメモリコントローラ10は受け取った電源状態通知信号Q2(駆動率)に基づいて電源回路20を制御する。このような絶え間のないフィードバック・フィードフォワード制御を行うので、リアルでダイナミックなきめの細かい制御が実現化される。その結果、あえて過剰な電源能力をもたせるといったようなことをしなくて済み、無駄な電力消費の抑制を図ることができる。
《63》[複数種類の処理実行用電源回路]
上述した《62》のメモリシステム用の電源回路においては、電圧発生部および電圧状態モニタ部の組(対)を複数設けることが一般的である。メモリシステム用の電源回路については、一般的に、読み出し用電源回路と書き込み/消去用電源回路とを有している。さらに典型的には、読み出し用電源回路、書き込み/消去用電源回路、およびベリファイ用電源回路を有している。これら複数種類の電源回路をまとめて複数種類の処理実行用電源回路と呼ぶことにする。
上述した《62》のメモリシステム用の電源回路においては、電圧発生部および電圧状態モニタ部の組(対)を複数設けることが一般的である。メモリシステム用の電源回路については、一般的に、読み出し用電源回路と書き込み/消去用電源回路とを有している。さらに典型的には、読み出し用電源回路、書き込み/消去用電源回路、およびベリファイ用電源回路を有している。これら複数種類の電源回路をまとめて複数種類の処理実行用電源回路と呼ぶことにする。
読み出し用の電圧発生部には読み出し用の電圧状態モニタ部が関連付けられ、書き込み/消去用の電圧発生部には書き込み/消去用の電圧状態モニタ部が関連付けられ、ベリファイ用の電圧発生部にはベリファイ用の電圧状態モニタ部が関連付けられる。これら各種の電圧発生部の標準電圧は互いに相違している。複数種類の処理実行用電源回路は、フラッシュメモリコントローラとの関連において互いに独立した制御および動作の形態をとる。
読み出し用電源回路の読み出し用の電圧発生部は、フラッシュメモリコントローラによって電源制御されたうえで、読み出し用の電圧発生部の電源状態は読み出し用の電圧状態モニタ部で監視される。読み出し用の電圧状態モニタ部は、監視結果として、読み出し用の電源状態通知信号をフラッシュメモリコントローラへ返す。フラッシュメモリコントローラは、受信した電源状態通知信号に従って読み出し用の電圧発生部を再設定する。
また、書き込み/消去用電源回路の書き込み/消去用の電圧発生部は、フラッシュメモリコントローラによって電源制御されたうえで、書き込み/消去用の電圧発生部の電源状態は、書き込み/消去用の電圧状態モニタ部で監視される。書き込み/消去用の電圧状態モニタ部は、監視結果として、書き込み/消去用の電源状態通知信号をフラッシュメモリコントローラへ返す。フラッシュメモリコントローラは、受信した電源状態通知信号に従って書き込み/消去用の電圧発生部を再設定する。
また、ベリファイ用電源回路のベリファイ用の電圧発生部は、フラッシュメモリコントローラによって電源制御されたうえで、ベリファイ用の電圧発生部の電源状態は、ベリファイ用の電圧状態モニタ部で監視される。ベリファイ用の電圧状態モニタ部は、監視結果を、ベリファイ用の電源状態通知信号としてフラッシュメモリコントローラへ返す。フラッシュメモリコントローラは、受信した電源状態通知信号に従ってベリファイ用の電圧発生部を再設定する。
以上を要するに、本項のメモリシステム用の電源回路は、上述した《61》の構成において、電圧発生部および電圧状態モニタ部は、それぞれ、複数種類の処理実行用電源回路として複数設けられ、複数種類の処理実行用電源回路は互いに独立して制御され動作するように構成されている。
本項によれば、複数のフラッシュメモリが、互いに異なる処理(読み出しや書き込み)を実施するために異なる電圧を必要とした場合であっても、それぞれの処理に応じた適切な電源電圧を生成して供給することが可能となる。さらには、それぞれの電源状態(駆動率または余裕度)の監視結果を出力することで、システムにおいて最適な状態で電圧発生部を駆動することが可能となり、その結果、無駄な消費電流を削減することが可能となる。
上記の《63》の構成の具体例を実施例30として以下に説明する。
<実施例30>
図58は本発明の実施例30における不揮発性記憶システム用のメモリシステム用の電源回路20の構成を示すブロック図である。電源回路20において、処理実行用電源回路として3種類のものが設けられている。1つはロジック用の電源回路である。これは、ロジック用の電圧発生部51とロジック用の電圧状態モニタ部61との組と、読み出し用の電圧発生部52と読み出し用の電圧状態モニタ部62との組と、書き込み/消去用の電圧発生部53と書き込み/消去用の電圧状態モニタ部63との組とを備えている。なお、ロジック動作に必要な電源電圧は、一例として、最大で1.8V、読み出し動作に必要な電源電圧は最大で5V、書き込み/消去動作に必要な電源電圧は最大で20Vとなっている。
図58は本発明の実施例30における不揮発性記憶システム用のメモリシステム用の電源回路20の構成を示すブロック図である。電源回路20において、処理実行用電源回路として3種類のものが設けられている。1つはロジック用の電源回路である。これは、ロジック用の電圧発生部51とロジック用の電圧状態モニタ部61との組と、読み出し用の電圧発生部52と読み出し用の電圧状態モニタ部62との組と、書き込み/消去用の電圧発生部53と書き込み/消去用の電圧状態モニタ部63との組とを備えている。なお、ロジック動作に必要な電源電圧は、一例として、最大で1.8V、読み出し動作に必要な電源電圧は最大で5V、書き込み/消去動作に必要な電源電圧は最大で20Vとなっている。
パラメータ設定部40は3つの電圧発生部51~53に共通となっている。T21,T22,T23はそれぞれ電源状態通知端子であり、3つの電圧状態モニタ部61,62,63ごとに個別となっている。T31,T32,T33はフラッシュメモリ26群への電源出力端子であり、3つの電圧状態モニタ部61,62,63ごとに個別となっている。その他の構成については、実施例12の場合の図56と同様であるので、同一部分に同一符号を付すにとどめ、説明を省略する。
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。読み出し用電源回路においては、フラッシュメモリコントローラ10から読み出し用の電圧発生部52に対して電源制御がなされる。読み出し用の電圧発生部52の駆動状態を読み出し用の電圧状態モニタ部62で監視し、読み出し用の電源状態通知信号Q2がフラッシュメモリコントローラ10へ返される。フラッシュメモリコントローラ10は、その電源状態通知信号Q2に従って読み出し用の電圧発生部52を再設定する。
また、書き込み/消去用電源回路の書き込み/消去用の電圧発生部53は、フラッシュメモリコントローラ10によって電源制御されたうえで、書き込み/消去用の電圧発生部53の駆動状態は、書き込み/消去用の電圧状態モニタ部63で監視される。書き込み/消去用の電圧状態モニタ部63は、監視結果として、書き込み/消去用の電源状態通知信号Q2をフラッシュメモリコントローラ10へ返す。フラッシュメモリコントローラ10は、受信した電源状態通知信号Q2に従って書き込み/消去用の電圧発生部53を再設定する。
また、ロジック用電源回路のロジック用の電圧発生部51は、フラッシュメモリコントローラ10によって電源制御がされたうえで。ロジック用の電圧発生部51の駆動状態は、ロジック用の電圧状態モニタ部61で監視される。ロジック用の電圧状態モニタ部61は、監視結果として、ロジック用の電源状態通知信号Q2をフラッシュメモリコントローラ10へ返す。フラッシュメモリコントローラ10は、受信した電源状態通知信号Q2に従ってロジック用の電圧発生部51を再設定する。
本実施例によれば、それぞれの電圧発生部51~53および電圧状態モニタ部61~63からなる処理実行用電源回路に対して実施例12(図56)と同様の効果が発揮される。
なお、T21,T22,T23の電源状態通知端子を削減するために、電源状態通知信号Q2をバスとして出力してもよい。例えば電源状態通知信号[1:0]とすれば、端子を1つ削減することができる。
<64>なお、<62>の構成においては、
前記電圧発生部は、入力電源電圧よりも高い電圧を発生する昇圧電圧発生部と、
前記入力電源電圧よりも低い電圧を発生する降圧電圧発生部と、
をさらに備えているのが好ましい。
前記電圧発生部は、入力電源電圧よりも高い電圧を発生する昇圧電圧発生部と、
前記入力電源電圧よりも低い電圧を発生する降圧電圧発生部と、
をさらに備えているのが好ましい。
《65》[積分回路、比較回路、ステータスレジスタ]
上記《62》,《63》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。
上記《62》,《63》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。
まず、電圧発生部は、電源状態をオンデューティで表すパルス信号の電源電圧変化信号を生成して電圧状態モニタ部に出力するものとして構成されている。
電圧状態モニタ部は、積分回路と比較回路とステータスレジスタを備えて構成されている。積分回路は、電圧発生部からの電源電圧変化信号をそれのインアクティブ期間にわたって積分するものである。比較回路は、積分回路による積分信号を参照電圧と比較し、比較結果を電源状態情報信号として出力するものである。ステータスレジスタは、比較回路からの電源状態情報信号をラッチするものである。そのラッチのタイミングは電源電圧変化信号のアクティブへの変化タイミングとなっている。
電圧発生部における電源状態はオンデューティで駆動率を表すパルス信号として積分回路に入力される。積分回路は電源電圧変化信号をそれのインアクティブ期間にわたって積分する。積分値は電源電圧変化信号のインアクティブ期間が長いほど大きくなる。比較回路は積分信号を参照電圧と比較する。参照電圧を上回るときは比較回路の出力は論理反転する。比較回路の出力はアクセス期間の終了に伴ってステータスレジスタにラッチされる。
電圧発生部における電源状態(駆動率または余裕度)が規定値をオーバーしてオーバーロード気味になるときは、結果として、ステータスレジスタがアサート状態にセットされる。一方、電源状態が規定値に達しなければ、結果として、ステータスレジスタがネゲート状態にセットされる。
このようにしてステータスレジスタに電源状態通知信号の情報(駆動率)をセットしておくことにより、フラッシュメモリコントローラは、ポーリング(定期的または不定期的な問い合わせに応じた通知)によりメモリシステム用の電源回路の電源状態情報を適宜に取得することが可能になる。
なお、電圧発生部における電源状態として、当業者としては当然考えうる範囲であるため図示はしないがノードN10にインバータ回路を追加することで、電圧発生部の駆動率ではなく余裕度をオンデューティで表すパルス信号を出力することが可能となる。これにより、余裕度を表すパルス信号を積分することで、電圧発生回路の動作余裕状態を監視することも可能である。その際、ノードN10の信号を積分した値が高いほど余裕度があり、積分値が低いほど電圧発生部は動作しており余裕度が低くなることは言うまでもない。したがって、オーバーロードも余裕度が低くなると発生しやすくなる。以降、詳細には電源回路の説明として駆動率を例示するが、余裕度としても取り扱うことも可能である。
上記の《65》の構成の具体例を実施例31として以下に説明する。
<実施例31>
図59は電源回路20の詳細を示すブロック回路図である。パラメータ設定部40は、フラッシュメモリコントローラ10から受け取った電源制御信号Q1に基づいて、電圧発生部50に必要となる各種パラメータが設定されるよう関連付けられている。パラメータ設定部40では4つの設定項目が例示されている。例えば、電源制御信号Q1が「1」のときは、電流能力は「0.5」に、昇圧並列数は「4」に、昇圧段数は「8」に、発振周波数が「25」は設定される。また、電源制御信号Q1が「3」のときは、電流能力は「1」に、昇圧並列数は「8」に、昇圧段数は「8」に、発振周波数は「25」に設定される。
図59は電源回路20の詳細を示すブロック回路図である。パラメータ設定部40は、フラッシュメモリコントローラ10から受け取った電源制御信号Q1に基づいて、電圧発生部50に必要となる各種パラメータが設定されるよう関連付けられている。パラメータ設定部40では4つの設定項目が例示されている。例えば、電源制御信号Q1が「1」のときは、電流能力は「0.5」に、昇圧並列数は「4」に、昇圧段数は「8」に、発振周波数が「25」は設定される。また、電源制御信号Q1が「3」のときは、電流能力は「1」に、昇圧並列数は「8」に、昇圧段数は「8」に、発振周波数は「25」に設定される。
電圧発生部50は、発振回路54、複数の昇圧回路55、電圧検出部56および差動アンプによる比較回路57を備えている。発振回路54の出力端子は昇圧回路55の入力端子に接続され、昇圧回路55の出力端子は電源出力端子T3に接続され、また電圧検出部56の入力端子に接続されている。電圧検出部56の出力端子は比較回路57における反転入力端子(-)に接続され、比較回路57の出力端子は発振回路54の周波数制御端子に接続され、さらに電圧状態モニタ部60の入力端子に接続されている。
パラメータ設定部40において設定されたパラメータに基づいて、発振回路54の周波数および昇圧回路55の並列数/段数が設定される。発振回路54の出力で昇圧回路55を駆動し、基準の電源電圧VDDをより高い設定レベルまで昇圧して昇圧電圧VHHを発生し、電源出力端子T3からフラッシュメモリ26群へ電源を供給する。昇圧電圧VHHは、昇圧回路55の出力端子に接続される負荷に応じて変動する。
生成された電源電圧は、抵抗分割を備えた電圧検出部56で検知され、検知結果は、電圧検出部56から比較回路57に渡される。比較回路57に入力される検知結果は電圧信号であって、その電圧信号は脈流である。比較回路57は、予め設定しておいた参照電圧VREF_Vと検知結果(電圧信号)とを比較し、その比較結果を、電源電圧変化信号N10として出力する。電源電圧変化信号N10はオン・オフのデューティ比をもつパルス信号となる。
さらに詳細に説明する。昇圧電圧VHHが目標電圧未満になると、電圧検出部56における抵抗Rによって分圧された電圧が比較回路57の参照電圧VREF_Vより低くなって、比較回路57は電源電圧変化信号N10として“H”レベルを出力する。比較回路57は、生成した電源電圧変化信号N10を、後段の電圧状態モニタ部60へ出力する。さらに比較回路57は、電源電圧変化信号N10を内部の発振回路54へフィードバックさせることで、電源電圧変化信号N10のオン・オフ制御に基づいて発振出力を脈流化させる。電圧発生部50における昇圧回路55が生成出力する電圧は、パラメータ設定部40に設定されたパラメータによって制御される。
比較回路57が“H”レベルを出力する状態では、発振回路54は動作状態に設定され、昇圧動作を実行する。一方、昇圧電圧VHHが目標電圧を上回ると、電圧検出部56の抵抗Rによって分圧された電圧が参照電圧VREF_Vより高くなって、比較回路57は“L”レベルを出力する。比較回路57が“L”レベルを出力する状態では、発振回路54は停止状態となり、昇圧動作が停止される。つまり、比較回路57から出力される電源電圧変化信号N10の“H”レベル区間は、昇圧回路55の駆動率として換算可能である。電源電圧変化信号N10の“L”レベル区間は、動作余剰率として定義することも可能である。
電圧状態モニタ部60は、トランスファゲート64、インバータ65、遅延回路66、積分回路67、比較回路68、およびステータスレジスタ69(フリップフロップからなる)を備えている。電圧発生部50において電源電圧変化信号N10を出力する比較回路57の出力端子がトランスファゲート64を介して積分回路67の入力端子に接続されている。比較回路57の出力端子はトランスファゲート64の制御端子およびインバータ65の入力端子に接続されている。インバータ65の出力端子は遅延回路66の入力端子に接続されている。遅延回路66の出力端子は積分回路67の制御端子に接続されている。積分回路67の出力端子は比較回路68の非反転入力端子(+)に接続されている。比較回路68の出力端子はステータスレジスタ69のデータ入力端子に接続され、そのクロック入力端子にはインバータ65の出力端子が接続されている。ステータスレジスタ69のデータ出力端子は電源状態通知端子T2に接続されている。
電圧状態モニタ部60の動作を図60のタイミングチャートに従って説明する。電圧発生部50の駆動率を表す電源電圧変化信号N10がトランスファゲート64の入力端子と制御端子とに入力される。トランスファゲート64は、制御入力が“H”レベルのときは開動作し、“L”レベルのとき閉動作する。トランスファゲート64を通過した被積分信号N14は、ゲート開のとき“H”となり、ゲート閉のときハイインピーダンス(Hiz)となる。
インバータ65は、電源電圧変化信号N10を論理反転し、その反転信号N12を遅延回路66とステータスレジスタ69のクロック入力端子に供給する。遅延回路66から出力される積分制御信号N13は立ち上がりが遅延する。この積分制御信号N13で積分回路67を動作させる。積分制御信号N13が“L”レベルの期間において積分回路67はトランスファゲート64を通過した被積分信号N14の“H”レベル期間を時間経過とともに積分し、積分信号N15を生成する。積分信号N15はアナログの比較回路68に入力され、期間を定める参照電圧VREF_Dutyと比較され、電源状態情報信号N16として出力される。
積分信号N15のレベルが時間経過に伴って上昇し、参照電圧VREF_Dutyに達すると、比較回路68の出力の電源状態情報信号N16がそれまでの“L”レベルから反転して“H”レベルとなる。積分信号N15が上昇しても、積分制御信号N13が“L”レベルの期間に参照電圧VREF_Dutyに達しなかったときは、比較回路68から出力される電源状態情報信号N16の電圧レベルは“L”レベルのままである。このときは、電圧発生部50は所望の駆動率以下である。電源状態情報信号N16が“H”レベルであれば、所望の駆動率以上となっている。所望の駆動率は、比較回路68の参照電圧VREF_Dutyの調整を通じて調整可能である。
このようにして比較回路68から電源状態情報信号N16が出力される。電源状態情報信号N16はステータスレジスタ69のデータ入力端子に印加される。インバータ65からの反転信号N12によるクロックの立ち上がりのタイミングで電源状態情報信号N16の論理状態がフリップフロップからなるステータスレジスタ69に取り込まれ、電源状態通知信号Q2として電源状態通知端子T2からフラッシュメモリコントローラ10に向けて出力される。
この電圧状態モニタ部60での動作のポイントは積分と比較にある。電圧発生部50での駆動率が高いと、電源電圧変化信号N10の“H”レベル期間が長く、積分期間も長くなるから、比較回路68から出力される電源状態情報信号N16は論理反転してアクティブとなる傾向が高くなる。一方、電圧発生部50での駆動率が低いと、電源電圧変化信号N10の“H”レベル期間が短く、積分期間も短くなるから、比較回路68から出力される電源状態情報信号N16は論理反転せずインアクティブのままである傾向が高くなる。すなわち、電圧状態モニタ部60は電圧発生部50の駆動率が一定の閾値を超えるか否かをモニタリングしている。駆動率が閾値を超えるということは電源回路20の電圧発生部50がオーバーロードを起こす限界を超えたことを意味する。電圧状態モニタ部60で導出された電圧発生部50の駆動率は、電源状態通知端子T2を介して電源状態通知信号Q2として出力される。「オーバーロードを起こす限界を超えた」というのは、ステータスレジスタ69が1ビットとなっているためである。多ビットであれば、任意の閾値レベルとの比較となる。
電源電圧変化信号N10の“H”レベル期間の、発振回路54の1周期に対する割合が規定値を超えると、電源状態通知信号Q2が“H”レベルとなり、その規定値を越えなければ、電源状態通知信号Q2は“L”レベルを保つ。これは、電圧発生部50の駆動率が閾値を超えたかの判定に役立つ。なぜなら、電源電圧変化信号N10のオン・オフデューティ比は、電圧発生部50の駆動率とほぼ等価であるからである。
“H”レベルに判定した電源状態通知信号Q2を受け取ったフラッシュメモリコントローラ10は、電源制御信号Q1を更新して電源回路20のパラメータ設定部40に与える。これにより電源回路20の電流能力は低い方に設定し直される。その結果として、電源電圧変化信号N10のオンデューティが小さくなり、被積分信号N14の“H”レベル期間が短くなり、積分信号N15が論理反転しないで“L”レベルを保つ結果、電源状態情報信号N16は“L”レベルのままであり、反転信号N12の次の立ち上がりタイミングでは電源状態通知信号Q2は“L”レベルに反転する。
本実施例によれば、ステータスレジスタ69に電源状態通知信号N16の情報(駆動率)をセットしておくので、フラッシュメモリコントローラ10は、ポーリングで電源回路20の電源状態情報を適宜に取得することができる。
《66》[カウンタ回路]
積分回路や比較回路やステータスレジスタに言及した上記《65》のメモリシステム用の電源回路において、高い周波数に対する動作の安定性を図るための次のような技術がある。それは、電圧状態モニタ部において、電源電圧変化信号の入力部と積分回路との間にカウンタ回路を挿入する構成である。
積分回路や比較回路やステータスレジスタに言及した上記《65》のメモリシステム用の電源回路において、高い周波数に対する動作の安定性を図るための次のような技術がある。それは、電圧状態モニタ部において、電源電圧変化信号の入力部と積分回路との間にカウンタ回路を挿入する構成である。
積分信号のレベル上昇は時間経過とともにある。積分回路は電源電圧変化信号を積分する。電圧発生部における動作クロックの周波数が高くなれば、電源電圧変化信号の周期が短くなり、比較回路において積分信号が参照電圧に達するのには時間不足になりやすい。そこで、電源電圧変化信号をその1周期内で積分することに代えて、何倍かの周期分の電源電圧変化信号を積分することとする。その周期分をm周期分とすると、カウンタ回路はその周期mをカウントする。カウント値が0から始めて(m-1)に達すると、次のカウントアップでリセットされ、0に戻る。m周期分の期間にわたって電源電圧変化信号を積分するので、積分信号のレベルは参照電圧と比較する上で充分に精度の高いレベルとなる。
要するに本項のメモリシステム用の電源回路は、上述した積分回路や比較回路やステータスレジスタに言及した《65》の構成において、電圧状態モニタ部は、さらに、電圧発生部からの電源電圧変化信号の入力部と積分回路の入力部との間に、電源電圧変化信号の周期をカウントし、複数周期分のカウントアップでリセットされるカウンタ回路を備えている。
このように構成すれば、積分回路において電源電圧変化信号を積分する期間を、カウンタ回路のカウントアップ周期まで延長化するので、電圧発生部が高い周波数で動作する場合でも、電源状態情報(駆動率)を高精度に捕捉することが可能となる。なお、上記の現象は、電圧発生部の電源状態を時間的に平均化することに相当する。つまり、状態遷移に時間的ヒステリシスをもたせ、システム状態が不安定になることを抑制している。
上記の《66》の構成の具体例を実施例32として以下に説明する。
<実施例32>
図61は本発明の実施例32におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、実施例31の場合の図59において、その電圧状態モニタ部60にカウンタ回路70とアンドゲート素子71とが追加されている。この構成は、発振回路54の発振周波数が高い場合に対応するためである。
図61は本発明の実施例32におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、実施例31の場合の図59において、その電圧状態モニタ部60にカウンタ回路70とアンドゲート素子71とが追加されている。この構成は、発振回路54の発振周波数が高い場合に対応するためである。
カウンタ回路70は、その入力端子が電圧発生部50の比較回路57の出力端子に接続され、出力端子はインバータ65に接続されている。また、カウンタ回路70の入力端子と出力端子とはアンドゲート素子71の入力端子に接続され、アンドゲート素子71の出力端子はトランスファゲート64の制御端子に接続されている。カウンタ回路70は、0から始めて規定のカウント値までカウントすると、次のカウントアップによりリセットされて0に戻る形態となっている。その規定のカウント値は、トリミングによって変更可能となっている。その他の構成については、実施例14の場合の図59と同様であるので説明を省略する。
カウンタ回路70を設けた本実施例は、後述する実施例のような発振回路54の周波数が高い値となる構成(図75、図76参照)の場合に適している。その実施例では、昇圧回路55の昇圧容量が電源回路20(電源チップ)の内部に備えられる内蔵容量素子を使用している。
図62は上記のように構成された実施例32の電源回路20の動作を示すタイミングチャートである。以下、このタイミングチャートに従って動作を説明する。電圧状態モニタ部60におけるカウンタ回路70は、電源電圧変化信号N10の“L”レベルから“H”レベルへの遷移回数をカウントする。カウンタ回路70の出力であるカウント値信号N11はカウントアップするまで“H”レベルを保ち、カウントアップすると論理反転して“L”レベルへリセットされる。カウントアップのカウント数は「4」に設定されている。すなわち、カウント値が0から始めて(m-1)=3に達すると、次のカウントアップでリセットされ、0に戻る。カウント値信号N11は、3周期分の期間にわたって“H”レベルを保つ。このカウント値信号N11のリセットのタイミングは、ステータスレジスタ69において比較回路68からの電源状態情報信号N16の論理状態を取り込むタイミングとなる。
アンドゲート素子71は、電源電圧変化信号N10とカウント値信号N11との論理積をとり、その結果でトランスファゲート64を開き、電源電圧変化信号N10を被積分信号N14として積分回路67に入力する。積分回路67は、被積分信号N14の“H”レベル期間で積分動作を実行し、合計3周期分の累積が行われる。
このことは、積分の時間を3周期分まで延長していることになる。別の見方をすると、3周期分の期間での平均化を行っていることに相当する。平均化とは均す(ならす)ことであり、発振回路54の発振周波数が高いと、電源電圧変化信号N10が頻繁に論理遷移し、積分動作が乱れやすくなる。このことの影響を平均化によって緩和する。つまり、状態遷移に時間的ヒステリシスをもたせ、システム状態が不安定になることを抑制している。積分の時間の延長の度合いは、カウンタ回路70におけるカウントアップ値の設定変更で調整可能である。
ステータスレジスタ69は比較回路68からの電源状態情報信号N16の論理状態を、インバータ65の反転信号N12の立ち上がりのタイミングで更新する。このタイミングは、カウンタ回路70のカウント値が「0h」になるタイミングである。つまり、カウント値が「0h」となるたびに、電圧発生部50の電源状態(駆動率または余裕度)がステータスレジスタ69において更新されることになる。カウント値が「0h」となる周期は、上記の通り調整可能である。
本実施例によれば、カウンタ回路70の挿入により、積分回路67で電源電圧変化信号N10(被積分信号N14)を積分する期間を、カウンタ回路70のカウントアップ周期まで延長化する。その結果として、電圧発生部50が高い周波数で動作する場合でも、電圧発生部50の駆動率を高精度に捕捉することができる。ひいては、駆動率によるフィードバック制御により、システムの消費電力を最適化しやすくなる。
《67》[多ビット出力]
積分回路、比較回路、ステータスレジスタに言及した上述の《65》,《66》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。それは、比較回路およびステータスレジスタを複数段にして、電源状態通知信号を多ビットで出力することである。すなわち、積分回路からの積分信号を入力する比較回路として、参照電圧を異にする複数段の比較回路を備えることとする。併せて、ステータスレジスタとして、複数段の比較回路に対応した複数段のステータスレジスタを備えることとする。
積分回路、比較回路、ステータスレジスタに言及した上述の《65》,《66》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。それは、比較回路およびステータスレジスタを複数段にして、電源状態通知信号を多ビットで出力することである。すなわち、積分回路からの積分信号を入力する比較回路として、参照電圧を異にする複数段の比較回路を備えることとする。併せて、ステータスレジスタとして、複数段の比較回路に対応した複数段のステータスレジスタを備えることとする。
本構成によれば、電圧発生部の電源状態(駆動率または余裕度)を電源状態通知信号として多ビットで出力するもので、電圧発生部の電源状態を段階的に、かつ詳細に把握することが可能となる。電源状態通知信号の分解能が高くなり、システムの電力最適化をさらに向上することが可能となる。
《68》[多ビット出力]*[テーブル変換]
複数段のステータスレジスタに言及した上述の《67》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。それは、電圧状態モニタ部は、複数段の比較回路の出力側または複数段のステータスレジスタの出力側に必要ビット数を減じるためのテーブル変換回路を備えているというものである。
複数段のステータスレジスタに言及した上述の《67》のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。それは、電圧状態モニタ部は、複数段の比較回路の出力側または複数段のステータスレジスタの出力側に必要ビット数を減じるためのテーブル変換回路を備えているというものである。
積分結果は単純増加することになり、途中でビットが反転減少することはあり得ない。このことを利用すると、電源状態通知信号につきビット数を減らすことが可能となる。これを実現するのがテーブル変換回路である。
本構成によれば、テーブル変換回路によって必要ビット数が削減され、メモリシステム用の電源回路をとフラッシュメモリコントローラと結ぶバスおよび端子が簡素化される。
上記の《67》,《68》の構成の具体例を実施例33として以下に説明する。
<実施例33>
図63は本発明の実施例33におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、積分回路67の出力側の比較回路68を複数段設けている。本実施例では3段の比較回路68を設けている。複数段の比較回路68における参照電圧は互いに相違しており、VREF_Duty2>VREF_Duty1>VREF_Duty0となっている。積分回路67から出力される積分信号N15は複数段の比較回路68に共通に入力されるように結線されている。すなわち、積分信号N15を多ビットで出力するようになっている。
図63は本発明の実施例33におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、積分回路67の出力側の比較回路68を複数段設けている。本実施例では3段の比較回路68を設けている。複数段の比較回路68における参照電圧は互いに相違しており、VREF_Duty2>VREF_Duty1>VREF_Duty0となっている。積分回路67から出力される積分信号N15は複数段の比較回路68に共通に入力されるように結線されている。すなわち、積分信号N15を多ビットで出力するようになっている。
複数段の比較回路68の出力側のステータスレジスタ69も複数段設けられている。本例では3段のステータスレジスタ69が設けられている。これら複数段のステータスレジスタ69の各データ入力端子に、前段の比較回路68から出力される電源状態情報信号N16,N17,N18が入力されるように結線されている。複数段のステータスレジスタ69のクロック入力端子にはインバータ65からの反転信号N12が共通に入力されるように結線されている。複数段のステータスレジスタ69のデータ出力端子はテーブル変換回路72に入力接続され、テーブル変換回路72の出力端子は電源状態通知端子T2に接続されている。テーブル変換回路72からは多ビットの電源状態通知信号Q2がフラッシュメモリコントローラ10に出力されることになる。
積分信号N15のレベルを、
・参照電圧VREF_Duty0以下、
・VREF_Duty0超~VREF_Duty1以下、
・VREF_Duty1超~VREF_Duty2以下、
・VREF_Duty2超、
の4つの段階に分けて捉えるようになっている。つまりは、電圧発生部50の駆動率を複数段階で細かく検出するものである。
・参照電圧VREF_Duty0以下、
・VREF_Duty0超~VREF_Duty1以下、
・VREF_Duty1超~VREF_Duty2以下、
・VREF_Duty2超、
の4つの段階に分けて捉えるようになっている。つまりは、電圧発生部50の駆動率を複数段階で細かく検出するものである。
複数段の比較回路68の出力である電源状態情報信号N16,N17,N18は、それぞれ「0」か「1」のどちらかである。その組み合わせは、[0,0,0]、[0,0,1]、[0,1,0]、[0,1,1]、[1,0,0]、[1,0,1]、[1,1,0]、[1,1,1]である。これらいずれかのデータ配列が複数段のステータスレジスタ69にセットされる。
ところで、上記した8つのデータ配列のうち、先行する配列からのビットの反転減少に相当する配列はあり得ないことが分かる。例えば[0,1,0]を主体にみるとき、1つ先行する配列は[0,0,1]である。[0,1,0]の最下位ビットが「0」であるのに対して[0,0,1]は最下位ビットが「1」と反転減少している。積分であるので、積分結果は単純増加することになり、途中で減少することはあり得ない。このように考えると、上記の8つのデータ配列のうち、[0,1,0]、[1,0,0]、[1,0,1]、[1,1,0]はあり得ないことが分かる。これらは10進表示で、「2」、「4」、「5」、「6」に相当する。8つのうち4つはあり得ず、結局4つが残る。残るのは[0,0,0]、[0,0,1]、[0,1,1]、[1,1,1](10進表示で「0」、「1」、「3」、「7」)に相当の4つである。これらは、システム側では使用しにくい飛び飛びの値となっている。したがって、出力のビット数は3ビットから2ビットへ減らすことができる。これに対応するのがテーブル変換回路72である。
[0,0,0]、[0,0,1]、[0,1,1]、[1,1,1](10進表示で「0」、「1」、「3」、「7」)をそれぞれ[0,0]、[0,1]、[1,0]、[1,1](10進表示で「0」、「1」、「2」、「3」)に変換する。これで、テーブル変換によって連続したビット値として出力することが可能になる。
電源状態通知信号Q2の「0」、「1」、「2」、「3」に駆動率の異なる数値を対応させる。その一例として、25%未満、25%以上50%未満、50%以上75%未満、75%以上100%未満が設定されている。
図63においては、テーブル変換回路72を複数段のステータスレジスタ69の出力側に設けているが、その機能を考慮すると、複数段のステータスレジスタ69の入力側にテーブル変換回路72を設けてもよい。また電圧発生部の駆動率として25%以下、50%以下、75%以下、100%以下と記載しているが、参照電圧VREF_Duty0 ~ VREF_Duty2の設定によってシステムにおいて必要となる駆動率に予め自由に合わせておくことが可能である。したがって、例えば50%以下、60%以下、80%以下、90%以下と設定してもよい。その他の構成については、実施例15の場合の図61と同様であるので説明を省略する。
図64は上記のように構成された実施例33の電源回路20の動作を示すタイミングチャートである。実施例32の場合の図62との比較で説明すると、参照電圧としてVREF_Duty2,VREF_Duty1,VREF_Duty0の3つが設定されている。電源状態情報信号としてN16,N17,N18の3つが取得されるようになっている。電源状態通知信号Q2は2ビットデータとなっている。
本実施例によれば、電圧発生部50の駆動率を多ビットで出力することで、電圧発生部50の電源状態を段階的に、かつ詳細に把握することが可能となり、システムの電力最適化をさらに向上することが可能となる。
また、テーブル変換回路72の存在により必要ビット数が削減されるので、電源回路20とフラッシュメモリコントローラ10とを結ぶバスおよび端子を簡素化することができる。
《69》[状態遷移検知部]
ステータスレジスタに言及した上述の《65》,《66》のメモリシステム用の電源回路において、電源状態通知信号を割り込み信号とすることが考えられる。ステータスレジスタに電源状態情報をセットする方式では、メモリシステム用の電源回路の電源状態の確認については、フラッシュメモリコントローラがポーリングにより定期的または不定期的に確認することを想定している。しかし、ポーリングによる電源状態の確認方式では、電源状態の遷移があったタイミングから遅れが生じるのが一般的である。この遅れを解消するのが、ここに示す割り込み方式である。
ステータスレジスタに言及した上述の《65》,《66》のメモリシステム用の電源回路において、電源状態通知信号を割り込み信号とすることが考えられる。ステータスレジスタに電源状態情報をセットする方式では、メモリシステム用の電源回路の電源状態の確認については、フラッシュメモリコントローラがポーリングにより定期的または不定期的に確認することを想定している。しかし、ポーリングによる電源状態の確認方式では、電源状態の遷移があったタイミングから遅れが生じるのが一般的である。この遅れを解消するのが、ここに示す割り込み方式である。
上述した《65》,《66》の構成において、電圧状態モニタ部は、ステータスレジスタの出力側に、ステータスレジスタの内容に変化があったときに割り込み信号を生成出力する状態遷移検知部を備えた構成とされている。
本項は、ステータスレジスタの個数が1つの態様のメモリシステム用の電源回路に適用することも可能であるし、ステータスレジスタの個数が2つ以上の態様のメモリシステム用の電源回路に適用することも可能である。
少なくとも1つのステータスレジスタの内容に変化があれば、それを状態遷移検知部が検知して割り込み信号をフラッシュメモリコントローラに出力する。フラッシュメモリコントローラは、割り込み処理を受け取ると、直ちにステータスレジスタにアクセスして、電源状態遷移のタイミングの電源状態情報を取得することになる。
本項によれば、電源状態情報の取得タイミングに遅れがないため、フラッシュメモリコントローラが電圧発生部を制御して電源状態を調整するときの応答性が速くなる。
電源状態遷移通知信号を割り込み信号として使用することで、システムは電源状態遷移通知信号が遷移した時のみ、電源状態通知信号を確認すればよくなり、システム構成を簡素化することが可能となる。フラッシュメモリコントローラは電源状態通知信号をポーリングにより常時的に繰り返し確認する必要がなく、システム構成の簡便化を図ることができる。
上述の《69》の構成の具体例を実施例34として以下に説明する。
<実施例34>
図65は本発明の実施例34におけるメモリシステム用の電源回路の構成を示すブロック図である。実施例33の場合の図63の構成において、本実施例では、さらに、ステータスレジスタ69の内容が変化したときに割り込み信号を生成してフラッシュメモリコントローラ10側に出力する状態遷移検知部73が設けられている。状態遷移検知部73は、複数段のレジスタ74と、複数段の排他的論理和ゲート75と、ORゲート76とを備えている。レジスタ74の段数と排他的論理和ゲート75の段数とは、ステータスレジスタ69の段数と同じである。レジスタ74のデータ入力端子はステータスレジスタ69のデータ出力端子に接続され、クロック入力端子はカウンタ回路70の出力端子に接続されている。レジスタ74のデータ出力端子およびステータスレジスタ69のデータ出力端子は排他的論理和ゲート75の入力端子に接続されている。排他的論理和ゲート75の出力端子はORゲート76の入力端子に接続され、ORゲート76の出力端子は電源状態遷移通知端子T4に接続されている。この電源状態遷移通知端子T4はフラッシュメモリコントローラ10に接続されている。
図65は本発明の実施例34におけるメモリシステム用の電源回路の構成を示すブロック図である。実施例33の場合の図63の構成において、本実施例では、さらに、ステータスレジスタ69の内容が変化したときに割り込み信号を生成してフラッシュメモリコントローラ10側に出力する状態遷移検知部73が設けられている。状態遷移検知部73は、複数段のレジスタ74と、複数段の排他的論理和ゲート75と、ORゲート76とを備えている。レジスタ74の段数と排他的論理和ゲート75の段数とは、ステータスレジスタ69の段数と同じである。レジスタ74のデータ入力端子はステータスレジスタ69のデータ出力端子に接続され、クロック入力端子はカウンタ回路70の出力端子に接続されている。レジスタ74のデータ出力端子およびステータスレジスタ69のデータ出力端子は排他的論理和ゲート75の入力端子に接続されている。排他的論理和ゲート75の出力端子はORゲート76の入力端子に接続され、ORゲート76の出力端子は電源状態遷移通知端子T4に接続されている。この電源状態遷移通知端子T4はフラッシュメモリコントローラ10に接続されている。
状態遷移検知部73は、ステータスレジスタ69のデータの前後比較を実施することで、状態遷移の有無を検知し、電源状態遷移通知信号Q2′として出力する。その他の構成については、実施例16の場合の図63と同様であるので説明を省略する。
図66は上記のように構成された実施例34の電源回路20の動作を示すタイミングチャートである。ステータスレジスタ69は3つあるが、このうち2つ目のステータスレジスタ69の系統で説明する。2段目の比較回路68の参照電圧はVREF_Duty1である。積分信号N15が参照電圧VREF_Duty1のレベルを超えると、電源状態情報信号N17がアクティブとなり、インバータ65の反転信号N12の立ち上がりタイミングで2段目のステータスレジスタ69に“H”レベルがセットされる。これにより、ステータスレジスタ69の出力のSiginfo[1]が“L”レベルから“H”レベルに切り替わる。この“H”レベルのSiginfo[1]が排他的論理和ゲート75に入力されるタイミングで、排他的論理和ゲート75へのもう1つの入力であるレジスタ74の出力信号N20のレベルを見る。このタイミングでは、カウンタ回路70からのカウント値信号N11が“L”レベルであるため、Siginfo[1]の“H”レベルはレジスタ74には取り込まれず、出力信号N20は“L”レベルのままである。排他的論理和ゲート75に入力する一方のレベルがSiginfo[1]の“H”レベルであり、他方のレベルが出力信号N20の“L”レベルであるため、排他的論理和ゲート75の出力信号Sc[1]は“L”レベルから“H”レベルに切り替わる。その結果、ORゲート76から出力される電源状態遷移通知信号(割り込み信号)Q2′が“L”レベルから“H”レベルへ切り替わる。
まとめると、積分信号N15が参照電圧VREF_Duty1を上回ると、カウント値信号N11の立ち下がりタイミングで直ちに電源状態遷移通知信号Q2′がアクティブとなるということである。アクティブとなった電源状態遷移通知信号Q2′は、カウント値信号N11の次の立ち上がりタイミングでリセットされて“L”レベルへ戻される。
以上は、2つ目のステータスレジスタ69の系統での説明であるが、1つ目のステータスレジスタ69の系統でも3つ目のステータスレジスタ69の系統でも同様である。すなわち、積分信号N15が参照電圧VREF_Duty0を上回ると、カウント値信号N11の立ち下がりタイミングで直ちに電源状態遷移通知信号Q2′がアクティブとなり、積分信号N15が参照電圧VREF_Duty2を上回ると、カウント値信号N11の立ち下がりタイミングで直ちに電源状態遷移通知信号Q2′がアクティブとなる。
本実施例によれば、1ビットまたは複数ビットからなる電源状態通知信号Q2の論理値が変化したとき、電源状態遷移通知信号(割り込み信号)Q2′を“H”レベルにしてシステムに通知するようになっており、割り込み信号をシステムに与えることで、常にシステムは電源状態通知信号Q2を確認する必要がなく、割り込み信号のみを確認するだけでよくなり、システム構成の簡素化を図ることができる。
《70》[オーバーロード検出部]
複数段のステータスレジスタに言及した上述の《67》のメモリシステム用の電源回路において、オーバーロード検出の機能をもたせる構成が考えられる。それは、電圧状態モニタ部において、電圧発生部でのオーバーロード状態を検出するオーバーロード検出部を追加したものである。オーバーロード検出部は、電圧発生部からの電源電圧変化信号を受け取り、その電源電圧変化信号に基づいて電圧発生部のオーバーロード状態を検出し、オーバーロード検出信号をフラッシュメモリコントローラに向けて出力するように構成されている。これは、電圧発生部の電源状態(駆動率)がオーバーロード気味にまで進行しているときは、事前に検知して対策を打とうとするものである。
複数段のステータスレジスタに言及した上述の《67》のメモリシステム用の電源回路において、オーバーロード検出の機能をもたせる構成が考えられる。それは、電圧状態モニタ部において、電圧発生部でのオーバーロード状態を検出するオーバーロード検出部を追加したものである。オーバーロード検出部は、電圧発生部からの電源電圧変化信号を受け取り、その電源電圧変化信号に基づいて電圧発生部のオーバーロード状態を検出し、オーバーロード検出信号をフラッシュメモリコントローラに向けて出力するように構成されている。これは、電圧発生部の電源状態(駆動率)がオーバーロード気味にまで進行しているときは、事前に検知して対策を打とうとするものである。
本構成によれば、オーバーロード状態をシステムに通知することで、その間、フラッシュメモリへの印加電圧が所望の値でなかったことを通知することが可能となる。これにより電圧不安定によるシステムの不安定さを回避することが可能となる。オーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することが可能となる。
上記の《70》の構成の具体例を実施例35として以下に説明する。
<実施例35>
図67は本発明の実施例35におけるメモリシステム用の電源回路の構成を示すブロック図である。実施例34の場合の図65の構成において、本実施例では、さらに、電圧状態モニタ部60において、積分回路67の出力側にオーバーロード検出部77が設けられている。オーバーロード検出部77は、積分回路67から出力される積分信号N15を参照電圧VREF_Overと比較するオーバーロード検知用の比較回路78と、オーバーロード検知用のステータスレジスタ79とを備えて構成されている。オーバーロード検知用の比較回路78の出力端子はオーバーロード検知用のステータスレジスタ79のデータ入力端子に接続され、オーバーロード検知用のステータスレジスタ79のクロック入力端子にはインバータ65の出力端子が接続されている。オーバーロード検知用のステータスレジスタ79のデータ出力端子はテーブル変換回路72の入力端子に接続されている。オーバーロード検知用の比較回路78の出力端子はカウンタ回路70のリセット端子に接続されている。
図67は本発明の実施例35におけるメモリシステム用の電源回路の構成を示すブロック図である。実施例34の場合の図65の構成において、本実施例では、さらに、電圧状態モニタ部60において、積分回路67の出力側にオーバーロード検出部77が設けられている。オーバーロード検出部77は、積分回路67から出力される積分信号N15を参照電圧VREF_Overと比較するオーバーロード検知用の比較回路78と、オーバーロード検知用のステータスレジスタ79とを備えて構成されている。オーバーロード検知用の比較回路78の出力端子はオーバーロード検知用のステータスレジスタ79のデータ入力端子に接続され、オーバーロード検知用のステータスレジスタ79のクロック入力端子にはインバータ65の出力端子が接続されている。オーバーロード検知用のステータスレジスタ79のデータ出力端子はテーブル変換回路72の入力端子に接続されている。オーバーロード検知用の比較回路78の出力端子はカウンタ回路70のリセット端子に接続されている。
オーバーロード検知用の比較回路78における参照電圧VREF_Overのレベルは、図65での最も高いレベルのVREF_Duty2より高く設定されている(図68参照)。オーバーロード検知用の比較回路78から出力されるオーバーロード検出によるカウンタリセット信号N19はカウンタ回路70に供給され、カウンタ回路70をリセットするようになっている。オーバーロード検知用の比較回路78に対応するステータスレジスタ79の出力はSiginfo[3:0]の最上位ビット「Fh」として割り付けられている。
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。図68は電源回路20の動作を示すタイミングチャートである。電圧発生部50が常時連続的な動作状態に入ると、電圧発生部50の比較回路57から出力される電源電圧変化信号N10は常に“H”レベルとなる。カウンタ回路70ではカウントアップ動作が進まず、同じ状態を保持し続ける。この電源電圧変化信号N10は、積分回路67によって積分され続ける。その結果、オーバーロード検知用の比較回路78において積分回路67による積分信号N15が参照電圧VREF_Overと比較され、カウンタリセット信号N19が“L”レベルから“H”レベルへ切り替えられる。この“H”レベルのカウンタリセット信号N19はカウンタ回路70をリセットする。カウンタ回路70の次段のインバータ65による反転信号N12が“L”レベルから“H”レベルへ切り替わるタイミングで、複数段の比較回路68およびオーバーロード検知用の比較回路78の出力信号がステータスレジスタ69およびオーバーロード検知用のステータスレジスタ79に格納される。そのタイミングで、オーバーロード検知用のステータスレジスタ79が出力するオーバーロード検出信号Q5が“L”レベルから“H”レベルへ切り替わる。
本実施例によれば、カウンタリセット信号N19を追加することで、電圧発生部50から出力されていた電圧が所望の電圧でないことを直ちに通知することができ、電圧不安定によるシステムの不安定さを早期に回避することが可能となる。
《71》,《72》[設定レジスタ、ロジック比較回路]
《67》の複数段のステータスレジスタを備えた上述のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。すなわち、外部から設定入力される電圧発生部の電源状態(駆動率)の比較値(電源状態比較値)を保持する設定レジスタを追加したうえで、複数段のステータスレジスタの保持内容と設定レジスタの保持内容とを比較し、前者が後者以上となったときに電源状態通知信号をアクティブにしてフラッシュメモリコントローラ側に出力するロジック比較回路とをさらに備える構成である。
《67》の複数段のステータスレジスタを備えた上述のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。すなわち、外部から設定入力される電圧発生部の電源状態(駆動率)の比較値(電源状態比較値)を保持する設定レジスタを追加したうえで、複数段のステータスレジスタの保持内容と設定レジスタの保持内容とを比較し、前者が後者以上となったときに電源状態通知信号をアクティブにしてフラッシュメモリコントローラ側に出力するロジック比較回路とをさらに備える構成である。
また、《68》の複数段のステータスレジスタとテーブル変換回路を備えた上述のメモリシステム用の電源回路において、電圧状態モニタ部を次のように構成することが考えられる。すなわち、外部から設定入力される電圧発生部の電源状態(駆動率)の比較値(電源状態比較値)を保持する設定レジスタを追加したうえで、さらに、テーブル変換回路による変換内容と設定レジスタの保持内容とを比較し前者が後者以上となったときに電源状態通知信号をアクティブにしてフラッシュメモリコントローラ側に出力するロジック比較回路を備える構成である。
上記2つのいずれも、設定レジスタには、使用者の操作により任意の電源状態比較値を設定する。あるいは、複数の電源状態比較値の候補のうちから任意のものを選択して設定する。
本構成によれば、電源回路外部より、電圧発生部の電源状態が所望の値以上あるいは以下であるかを知るために設定レジスタに電源状態比較値を設定しておくことにより、電圧発生回路の電源状態をシステムが所望する値であるか否かを知ることが可能となる。
上記の《71》,<72>の構成の具体例を実施例36として以下に説明する。
<実施例36>
図69は本発明の実施例36におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、《68》の実施例33の場合の図63において、さらに、書き換え可能な設定レジスタ80とロジック比較回路81が追加されている。
図69は本発明の実施例36におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例においては、《68》の実施例33の場合の図63において、さらに、書き換え可能な設定レジスタ80とロジック比較回路81が追加されている。
設定レジスタ80は、ユーザが電圧発生部50の電源状態について希望する電源状態比較値(目標駆動率)を設定するもので、その内容をユーザが任意に変更することが可能となっている。T5は目標駆動率を駆動状態設定信号Q6のかたちでフラッシュメモリコントローラ10から設定レジスタ80に送り込むための駆動状態設定端子である。
ロジック比較回路81は、テーブル変換回路72の内容と設定レジスタ80の内容とを比較し、前者が後者以上となったときに電源状態通知信号Q2を生成して、電源状態通知端子T2から外部のフラッシュメモリコントローラ10に向けて出力するものとして構成されている。
複数段のステータスレジスタ69にセットされた電圧発生部50の駆動率はテーブル変換回路72によってビット数が削減されたデータ形式に変換されている。設定レジスタ80には、テーブル変換回路72のデータ形式に対応した電源状態比較値(目標駆動率)が設定される。その他の構成については、図63と同様であるので同一部分に同一符号を付すにとどめ、説明を省略する。
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。ロジック比較回路81において、複数段のステータスレジスタ69にセットされテーブル変換回路72でビット変換されたロジック値と設定レジスタ80に設定された電源状態比較値とが比較される。変換後のロジック値が電源状態比較値未満のときは、ロジック比較回路81は、“L”レベルの電源状態通知信号Q2を出力する。変換後のロジック値が電源状態比較値以上になると、ロジック比較回路81は、“H”レベルの電源状態通知信号Q2を出力する。このように、電源状態通知信号Q2は、現状の電圧発生部50の駆動率がシステムの所望状態以上であるか否かを2値(0/1)のかたちで示しており、ロジック比較回路81は、このような情報が重畳された電源状態通知信号Q2を、フラッシュメモリコントローラ10へ通知する。このようにして、システムの期待値(電源状態比較値)を設定することで、電圧発生部50の駆動率を詳細かつ少数ビットの電源状態通知信号Q2で確認することができる。
図70は電源回路20の動作を示すタイミングチャートである。あらかじめ設定レジスタ80において駆動状態設定「2h」を設定してあるとする。この設定値は駆動率75%に相当する。積分回路67から出力される積分信号N15が時間経過とともになめらかな階段状に上昇していく。積分信号N15のレベルがまず比較回路68の参照電圧VREF_Duty0以上となると、電源状態情報信号N18が論理反転して“H”レベルとなる。このとき、複数段の比較回路68の出力である電源状態情報信号N16,N17,N18は、[0,0,0]から[0,0,1]へ変化する。ただし、複数段のステータスレジスタ69の出力のSiginfo[2:0]は、カウント値信号N11の「3h」から「0h」へのリセットタイミングで切り替わるものであるので、このタイミングでではまだ切り替わらず、Siginfo[2:0]は「0h」のままである。テーブル変換回路72でも「0h」のままとなる。設定レジスタ80での駆動状態設定は「2h」であるから、ロジック比較回路81での判定は不一致となり、電源状態通知信号Q2は“L”レベルのままである。
同様に、積分信号N15のレベルが参照電圧VREF_Duty1以上となると、電源状態情報信号N17が論理反転して“H”レベルとなる。このとき、電源状態情報信号N16,N17,N18は、[0,0,1]から[0,1,1]へ変化する。ここでもカウント値信号N11によるリセットタイミングではないので、複数段のステータスレジスタ69の出力のSiginfo[2:0]に変化はない。
次いで、リセットタイミングになると、Siginfo[2:0]は「0h」から「3h」へ変化する(∵[N16,N17,N18]=[0,1,1])。この変化はテーブル変換回路72で「0h」から「2h」への変化となる(テーブル変換表参照)。設定レジスタ80での駆動状態設定は「2h」であるから、ロジック比較回路81での判定は一致となり、電源状態通知信号Q2が“L”レベルから“H”レベルへ変化する。電源状態通知信号Q2はフラッシュメモリコントローラ10へ送られており、このような電源状態通知信号Q2の変化を検知したフラッシュメモリコントローラ10は電源回路20の駆動率があらかじめ設定しておいた75%に達したことを認識することになる。
本実施例によれば、システムの電源状態比較値(期待値)に対しての電圧発生部50の状態を容易に把握することが可能となる。システム要求に対して電圧発生部50が所望の動作状態であるかどうかを2値化した値で通知する。また、システムが任意に設定レジスタ80を書き換えて電圧発生部50の状態を容易に検出でき、検出結果に応じて、電源制御信号Q1あるいは電圧発生部50の負荷を最適化することができる。
なお、本実施例に対して、実施例34の場合の図65に示した割り込み通知信号、実施例35の場合の図67に示したオーバーロード信号を組み合わせて構成することも可能である。もし、テーブル変換回路72を省略するのであれば、設定レジスタ80に設定するデータ形式は複数段のステータスレジスタ69のデータ形式に対応したものとする。
《73》[オーバーロード検出部]
上記の複数段のステータスレジスタに言及した《67》,《68》のメモリシステム用の電源回路において、オーバーロード検出の機能をもたせる構成が考えられる。それは、電圧状態モニタ部に、電圧発生部でのオーバーロード状態を検出するオーバーロード検出部を追加したものである。オーバーロード検出部は、電圧発生部からの電源電圧変化信号を受け取り、その電源電圧変化信号に基づいて電圧発生部のオーバーロード状態を検出し、オーバーロード検出信号をフラッシュメモリコントローラに向けて出力するように構成されている。これは、電源状態(駆動率または余裕度)がオーバーロード領域まで進行していたことが分かった場合に対策を打つようにしたものである。
上記の複数段のステータスレジスタに言及した《67》,《68》のメモリシステム用の電源回路において、オーバーロード検出の機能をもたせる構成が考えられる。それは、電圧状態モニタ部に、電圧発生部でのオーバーロード状態を検出するオーバーロード検出部を追加したものである。オーバーロード検出部は、電圧発生部からの電源電圧変化信号を受け取り、その電源電圧変化信号に基づいて電圧発生部のオーバーロード状態を検出し、オーバーロード検出信号をフラッシュメモリコントローラに向けて出力するように構成されている。これは、電源状態(駆動率または余裕度)がオーバーロード領域まで進行していたことが分かった場合に対策を打つようにしたものである。
本構成によれば、オーバーロード状態をシステムに通知することで、その間、フラッシュメモリへの印加電圧が所望の値でなかったことを通知することが可能となる。これによりオーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することが可能となる。
上記の《73》の構成の具体例を実施例37として以下に説明する。
<実施例37>
図71は本発明の実施例37におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例は、実施例36の場合の図69の構成において、オーバーロード信号も組み合わせて構成するものである。
図71は本発明の実施例37におけるメモリシステム用の電源回路の構成を示すブロック図である。本実施例は、実施例36の場合の図69の構成において、オーバーロード信号も組み合わせて構成するものである。
本実施例では、電圧状態モニタ部60において、積分回路67の出力側にオーバーロード検出部77が設けられている。オーバーロード検出部77は、積分回路67から出力される積分信号N15を参照電圧VREF_Overと比較するオーバーロード検知用の比較回路78と、ステータスレジスタ79とを備えている。オーバーロード検知用の比較回路78の出力端子はステータスレジスタ79のデータ入力端子に接続され、ステータスレジスタ79のクロック入力端子にはインバータ65の出力端子が接続されている。ステータスレジスタ79のデータ出力端子はテーブル変換回路72の入力端子に接続されている。オーバーロード検知用の比較回路78の出力端子はカウンタ回路70のリセット端子に接続されている。
オーバーロード検知用の比較回路78における参照電圧VREF_Overのレベルは、図69での最も高いレベルのVREF_Duty2より高く設定されている。オーバーロード検知用の比較回路78から出力されるカウンタリセット信号N19はカウンタ回路70に供給されてカウンタ回路70をリセットするようになっている。オーバーロード検知用の比較回路78に対応するステータスレジスタ79の出力は電源状態通知信号Q2の最上位ビットとして割り付けられている。
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。図72は電源回路20の動作を示すタイミングチャートである。電圧発生部50が常時連続的な動作状態に入ると、電圧発生部50の比較回路57から出力される電源電圧変化信号N10は常に“H”レベルとなる。カウンタ回路70ではカウントアップ動作が進まず、同じ状態を保持し続ける。この電源電圧変化信号N10は、積分回路67によって積分され続ける。その結果、オーバーロード検知用の比較回路78において積分回路67による積分信号N15が参照電圧VREF_Overと比較され、カウンタリセット信号N19が“L”レベルから“H”レベルへ切り替えられる。この“H”レベルのカウンタリセット信号N19はカウンタ回路70をリセットする。カウンタ回路70の次段のインバータ65による反転信号N12が“L”レベルから“H”レベルへ切り替わるタイミングで、複数段の比較回路68およびオーバーロード検知用の比較回路78の出力信号がステータスレジスタ69およびオーバーロード検知用のステータスレジスタ79に格納される。このとき、4つのステータスレジスタ69,79の状態は[1,1,1,1]であり、「Fh」となる。すなわち、テーブル変換回路72からオーバーロード検知信号Q5が端子T6からフラッシュメモリコントローラ10に向けて出力される。
本実施例によれば、上述した実施例19の効果に加えて、オーバーロードの有無をシステムに通知することで、電圧発生部50の安定性を通知することができる。
《74》[電源状態(駆動率または余裕度)検出を多ビットで]
本項では、上述した《62》のメモリシステム用の電源回路の電圧状態モニタ部において、多ビットの信号を電源状態情報信号としてステータスレジスタに保持させる構成を、別の構成としている。すなわち、電圧状態モニタ部において積分回路と遅延回路と複数の比較回路とを用いる代わりに、電圧発生部において複数の比較回路を用いる。この構成では積分回路と遅延回路とは必要でなくなる。
本項では、上述した《62》のメモリシステム用の電源回路の電圧状態モニタ部において、多ビットの信号を電源状態情報信号としてステータスレジスタに保持させる構成を、別の構成としている。すなわち、電圧状態モニタ部において積分回路と遅延回路と複数の比較回路とを用いる代わりに、電圧発生部において複数の比較回路を用いる。この構成では積分回路と遅延回路とは必要でなくなる。
また、本項では、電圧発生部の電源状態を知る手掛かりとして電圧発生部から電圧状態モニタ部に伝送される信号として、発振回路の発振周波数をフィードバック制御する電源電圧変化信号が用いられる。なお、電源電圧変化信号は、1ビット信号とすることが考えられるが、この他、多ビット信号とすることも考えられる。以下、多ビット信号の電源電圧変化信号を生成する構成について説明する。
電圧発生部で多ビットの電源電圧変化信号を生成するためには、複数の比較回路が設けられる。これら複数の比較回路には電圧発生部の出力電圧またはそれを検出した電圧が共通に入力される。一方、これら複数の比較回路には、互いに異なるレベルの参照電圧が印加される。複数の比較回路の出力は発振回路の発振周波数を制御する。さらにこれら出力は、電源電圧変化信号として後段の電圧状態モニタ部へ送られる。電圧状態モニタ部は電源電圧変化信号の変化を都度保持しておくための複数段のステータスレジスタを有している。電圧発生部の複数の比較回路の出力端子はそれぞれ複数段のステータスレジスタの入力端子に接続されている。
以上を要するに、本項のメモリシステム用の電源回路は、上記《62》の構成において、電圧発生部は、電源状態通知信号として多ビット信号を生成する複数の比較回路をさらに有し、電圧状態モニタ部は、多ビット信号の電源状態通知信号をラッチする複数段のステータスレジスタを有している。
本項によれば、多ビット信号の電源状態通知信号について、例えば発振回路の周波数を設定する多ビット信号を利用する。この場合、多ビット信号は電圧発生部の電源状態と同等の意味を持つ。したがって、多ビット信号の電源状態通知信号をステータスレジスタに格納したうえで、ステータスレジスタから読み出して電圧状態モニタ部を介して電源回路外部に出力するように構成すればよい。その結果として、既存の多ビット信号を用いることで、積分回路等が不要となり、面積および消費電流を削減することが可能となる。
上記の《74》の構成の具体例を実施例38として以下に説明する。
<実施例38>
図73は本発明の実施例38におけるメモリシステム用の電源回路の構成を示すブロック図である。電圧発生部50は、発振回路54、複数の昇圧回路55、電圧検出部56、および複数の差動アンプを有する比較回路57を備えている。比較回路57が複数段になっている点が、これまで説明した実施例とは異なっている。電圧検出部56の出力端子は複数の比較回路57それぞれにおける反転入力端子(-)に接続され、複数の比較回路57それぞれの非反転入力端子(+)には参照電圧VREF_Duty2,VREF_Duty1,VREF_Duty0,VREF_Overが印加されるようになっている。複数の参照電圧の順位は、VREF_Duty2<VREF_Duty1<VREF_Duty0<VREF_Overであり、これは図72との比較で分かるように、実施例20の場合とは逆の関係となっている。逆の関係とするのは、発振回路54の発振周波数の制御をネガティブフィードバック制御とするためである。すなわち、出力電圧が上昇するほど発振周波数を低くするためである。発振回路54における発振周波数を示す信号Foscがカウンタ回路70に入力されている。比較回路57の出力端子は発振回路54の周波数制御端子に接続され、さらに電圧状態モニタ部60の入力端子に接続されている。電圧発生部50における複数の比較回路57の出力端子は電圧状態モニタ部60における複数段のステータスレジスタ69のデータ入力端子に接続されている。
図73は本発明の実施例38におけるメモリシステム用の電源回路の構成を示すブロック図である。電圧発生部50は、発振回路54、複数の昇圧回路55、電圧検出部56、および複数の差動アンプを有する比較回路57を備えている。比較回路57が複数段になっている点が、これまで説明した実施例とは異なっている。電圧検出部56の出力端子は複数の比較回路57それぞれにおける反転入力端子(-)に接続され、複数の比較回路57それぞれの非反転入力端子(+)には参照電圧VREF_Duty2,VREF_Duty1,VREF_Duty0,VREF_Overが印加されるようになっている。複数の参照電圧の順位は、VREF_Duty2<VREF_Duty1<VREF_Duty0<VREF_Overであり、これは図72との比較で分かるように、実施例20の場合とは逆の関係となっている。逆の関係とするのは、発振回路54の発振周波数の制御をネガティブフィードバック制御とするためである。すなわち、出力電圧が上昇するほど発振周波数を低くするためである。発振回路54における発振周波数を示す信号Foscがカウンタ回路70に入力されている。比較回路57の出力端子は発振回路54の周波数制御端子に接続され、さらに電圧状態モニタ部60の入力端子に接続されている。電圧発生部50における複数の比較回路57の出力端子は電圧状態モニタ部60における複数段のステータスレジスタ69のデータ入力端子に接続されている。
本実施例は、図71における積分回路67、遅延回路66、トランスファゲート64、およびアンドゲート素子71を用いていない。その他の構成については、実施例20の場合の図71と同様であるので同一部分に同一符号を付すにとどめ、説明を省略する。
図71の構成と異なるのは、電圧状態モニタ部60は、電圧発生部50がその内部に有する離散値(電圧発生部50の駆動率に相当する)を取り込んだうえで、取り込んだ離散値に基づいて電圧発生部50の駆動率を算出し、算出結果を電源状態通知信号Q2として出力する点である。
例えば、電圧発生部50の発振回路54の周波数Fosc等が離散的かつ段階的に変更される場合、この周波数Fosc等に対応する離散値が、電圧発生部50の駆動率に相当する離散値となる。すなわち、Trm[2:0]=7~0hに応じて、発振回路54の周波数が5MHz~20MHzと5MHzステップで変更される場合、Trm[2:0]が離散値に相当し、このTrm[2:0]を換算することで、電圧発生部50の駆動率を知ることができる。
次に、上記のように構成された本実施例のメモリシステム用の電源回路の動作を説明する。図74は電源回路20の動作を示すタイミングチャートである。以下の説明では、電圧発生部50における出力電圧が時間軸に対して低下しているとする。この場合、抵抗分圧された分圧電圧Vrも低下していく。分圧電圧Vrが低下していくことで、複数の比較回路57での比較結果として(Trm_over+Trm[2:0])が出力される。
発振回路54の周波数信号Foscが入力されているカウンタ回路70のカウント値が「0」になると、カウント値信号N11およびインバータ65による反転信号N12が論理反転し、そのタイミングで信号(Trm_over+Trm[2:0])が複数段のステータスレジスタ69のそれぞれに格納される。また、分圧電圧が一定以下になったときオーバーロード通知信号が出力される。その他の動作については、実施例20の場合と同様であるので説明を省略する。
本実施例によれば、電圧発生部50の内部に備えられた出力電圧の電流能力を単調増加あるいは単調減少させることができる離散値を電圧状態モニタ部に供給することで、電圧状態モニタ部の回路規模を削減できる。
なお、当然ながら、実施例31~36のように、電源状態通知信号Q2を1ビット出力、多ビット出力することも可能であり、また、割込み信号として電源状態遷移通知信号Q2′を出力する事も可能である。なお、発振回路54の発振周波数が低い場合は、カウンタ回路70は必要でない。
電圧発生部の構成につき、これをDC-DCコンバータ回路で構成してもよい。以下、電圧発生部をDC-DCコンバータ回路で構成した実施例39を説明する。
<実施例39>
図75は本発明の実施例39におけるメモリシステム用の電源回路の電圧発生部の構成を示すブロック図である。この電圧発生部50はDC-DCコンバータで構成されている。比較回路57からのPWM(パルス幅変調)信号の電源電圧変化信号N10でスイッチング素子92がオン・オフ制御される。スイッチング素子92がオンの状態では、直流電源電圧VDDによる直流電流がチョークコイル91とスイッチング素子92とに流れ、その結果、チョークコイル91には電気エネルギーが蓄積される。スイッチング素子92がオフの状態では、チョークコイル91に蓄積されていた電気エネルギーが一気に放出され、放出された電気エネルギーは、逆流防止ダイオード93を介して平滑コンデンサ94に充電される。スイッチング素子92のオン・オフ制御により、平滑コンデンサ92の正極端子には昇圧した電源電圧が発生する。発生した電源電圧は端子T3からフラッシュメモリ26へ給電される。逆流防止ダイオード93は、スイッチング素子92のオン時に平滑コンデンサ94からの逆流を防止する。
図75は本発明の実施例39におけるメモリシステム用の電源回路の電圧発生部の構成を示すブロック図である。この電圧発生部50はDC-DCコンバータで構成されている。比較回路57からのPWM(パルス幅変調)信号の電源電圧変化信号N10でスイッチング素子92がオン・オフ制御される。スイッチング素子92がオンの状態では、直流電源電圧VDDによる直流電流がチョークコイル91とスイッチング素子92とに流れ、その結果、チョークコイル91には電気エネルギーが蓄積される。スイッチング素子92がオフの状態では、チョークコイル91に蓄積されていた電気エネルギーが一気に放出され、放出された電気エネルギーは、逆流防止ダイオード93を介して平滑コンデンサ94に充電される。スイッチング素子92のオン・オフ制御により、平滑コンデンサ92の正極端子には昇圧した電源電圧が発生する。発生した電源電圧は端子T3からフラッシュメモリ26へ給電される。逆流防止ダイオード93は、スイッチング素子92のオン時に平滑コンデンサ94からの逆流を防止する。
電源電圧は一方で電圧検出部56で検出され、検出された電源電圧は、比較回路57において参照電圧VREF_Vと比較される。比較回路57の出力はPWM(パルス幅変調)波形となり、スイッチング素子92のオン・オフ制御に使われるとともに、電源電圧変化信号N10として次段の電圧状態モニタ部60へ送られる。
<実施例40>
電圧発生部は、図76のように多ビットのDC-DCコンバータ回路で構成してもよい。ここでは複数の比較回路57が設けられている。これは実施例38の場合の図73の構成に適用できる。
電圧発生部は、図76のように多ビットのDC-DCコンバータ回路で構成してもよい。ここでは複数の比較回路57が設けられている。これは実施例38の場合の図73の構成に適用できる。
<実施例41>
また、電源発生部は図77のように構成してもよい。すなわち、オペアンプ95の出力でスイッチング素子96をオン・オフ制御する。電圧検出部56の信号がオペアンプ95の入力端子に印加され、オペアンプ95の出力は“H”,“L”に切り替わり、昇圧が行われる。
また、電源発生部は図77のように構成してもよい。すなわち、オペアンプ95の出力でスイッチング素子96をオン・オフ制御する。電圧検出部56の信号がオペアンプ95の入力端子に印加され、オペアンプ95の出力は“H”,“L”に切り替わり、昇圧が行われる。
次に、本発明のフラッシュメモリの実施例を説明する。本発明の実施例のフラッシュメモリ26は、フラッシュメモリコントローラ10から問い合わせを受けたときにフラッシュメモリコントローラ10に送信すべきいくつかの情報を保有している。その情報には、電力レベル、電圧値、パルス幅、フェイルビット数、処理時間、処理時間などがあり、それらは原則としてチップ固有の情報である。
図78はフラッシュメモリ26における電力パラメータの格納についての説明図である。フラッシュメモリ26における電力パラメータの格納について説明する前に、現状のフラッシュメモリにおける課題を再度検証する。フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいては、ストレージシステム動作の消費電力が課題となる。特に、プログラム性能を向上させるために複数のフラッシュメモリチップに対して、同時にプログラム動作を実行させると、その消費電流により、システムの電源や、放熱に対するコストが増大することになる。このような理由から、フラッシュメモリ動作時の消費電流の削減が望まれる。
例えば、20V以上の高電圧を発生する昇圧回路は、電力効率が悪く、プログラム動作および消去動作においては、メモリセルのしきい値を変更するのに要する電力の何倍もの電力を消費することになる。フラッシュメモリを用いたストレージシステムのように、フラッシュメモリチップを多数使用するシステムにおいては、フラッシュメモリチップ毎に昇圧回路が備えられているために、複数のフラッシュメモリチップに対して同時にプログラム動作および消去動を実行する時は、消費電力が膨大となり、システムにおける電源設計に支障をきたすことになる。
従来から高電圧を発生する電源回路をフラッシュメモリチップの外部に設けることは行われているが、フラッシュメモリに対するプログラムの実行動作やデータの消去動作は、コマンド入力により実施され、それらの動作は、動作が完了したことを示す信号やステータスレジスタによって、外部に通知されるのみであった。したがって、プログラムの実行動作や消去動作においては、動作開始から完了までの全期間中、電源回路は最大電圧となる20Vを発生し続ける、または最大の電流駆動能力で待機する必要があった。
これに対して、フラッシュメモリ26は、各動作モード(フラッシュメモリに対するプログラムの実行動作やデータの消去動作等を示す動作モード)でフラッシュメモリ26が消費する電力レベルを示すレジスタ34を備えている。これによりレジスタ34が示す電力レベルに応じて、フラッシュメモリ26の外部電源回路(電源回路20)を制御できるので、フラッシュメモリ26を低消費動作させることが可能となる。したがって、ストレージシステムなど、フラッシュメモリを多数用いるシステムに、この構成を適用すると、システムの低消費電力化および性能向上に図るうえで極めて有用となる。さらには、フラッシュメモリコントローラ10は、フラッシュメモリ26から告知された電力レベルに基づいて、電源回路20の動作電力(電流)負荷を、所望のタイミングで調整することが可能になる。これにより、複数のフラッシュメモリ26の送電力を精度高く管理する(例えば、消費電流を低消費にチューニングする)ことができる。さらには、電源回路20は過剰な電力供給能力(高いピーク電流の対応等)を備える必要がなくなるうえ、メモリの読み出し書き換えのコマンド入力時あるいはその前に電力レベルを設定すれば、コマンドで指定される処理の実行で必要となる電源回路20による電力供給を事前に予約することが可能となる。
フラッシュメモリ26は、図78に示すように、内部コントローラ33とコマンドレジスタ34と不揮発性メモリ領域36とを有する。コマンドレジスタ34には、フラッシュメモリコントローラ10との間で授受されるコマンドがセットされる。具体的にはコマンドレジスタ34には、図85に示すように、動作モード設定ビットと、電力レベル設定ビットと、その他ビットからなる複数のフィールドとが設けられており、これらフィールドに各種のコマンドがセットされる。コマンドレジスタ34にセットされるコマンドは、動作モードP1、電力レベルP2などがセットされるフィールドを有している。これにより、電力管理の必要なコマンド(読み出し、プログラム、消去など)に電力レベルに関するフィールドを設けることが可能となる。その結果、これらコマンドを発行する時点で電力負荷を明確に設定することが可能となり、これにより、フラッシュメモリコントローラ10が電力情報を管理することがさらに容易となる。また、コマンドとして、電力レベルのみを変更するコマンドを設ければ、電力管理の必要なコマンドで電力レベルを予め指定することができるので、電力レベルを直接に指定する必要がなくなって、コマンド入力(NANDフラッシュの場合はIO端子やその制御信号)におけるデータ転送帯域幅の低減が抑制される。
また、不揮発性メモリ領域36(NV:Non-Volatile area)は第1、第2の記憶部であって、不揮発性メモリ領域36には各電力レベルについての消費電流などの電力情報(第1の情報)と実行時間情報(第2の情報であって、電力レベルそれぞれにおけるフラッシュメモリ26の処理速度を示す)とが格納されている。これら第1、第2の情報は、フラッシュメモリ26の個体差を反映したものとなっている。第1の情報を記憶することで、フラッシュメモリ26における動作電力や動作速度のばらつき(製品スペック、製造プロセスが主要因)を実電流値の伴わない単純なコマンドフォーマット(品種によらない共通規格)で扱うことができる。さらには、第2の情報を記憶することで処理速度の情報を電力管理に取り入れることが可能となり、これにより、外部電源の動作電力(電流負荷)の時間的予測が可能になってメモリシステムにおける電力管理がより精度が高く高品位なものとなる。
動作モードについては、読み出しモード、書き込みモード、書き込みベリファイモード、消去モード、消去ベリファイモード、動作停止モードなどがある。各モードには、それぞれに付随する消費電流などの電力情報、動作時間(処理時間)などのパラメータが対応している。これらのパラメータ等は、フラッシュメモリ26の専用端子から出力され、フラッシュメモリコントローラ10に転送される。
動作停止(ポーズ)モードを設けることで、最小の電力負荷を定義することが可能となる。その結果、電源回路20の動作電力(電流)負荷の調整範囲を大きく設定することができる。また、電源回路20による電源供給が安定しない場合、フラッシュメモリ26の動作を一時停止することが可能となって、誤動作を防ぐことができる。
また、動作停止モードを設定する構成では、フラッシュメモリ26に動作停止モードにおける電力レベルを指定するための制御端子をさらに設けている(フラッシュメモリ停止信号あるいは図83、図86のポーズ制御入力に対応する)。そうすれば、動作停止モードにおける電力レベルを指定するための制御端子が専用ピンとなって、コマンドアクセスと非同期に、指定される電力レベルによって高速にフラッシュメモリ26を停止させることが可能となる。この場合、フラッシュメモリ26を高速に復帰させることができるのは言うまでもない。さらには、動作停止モードを設定する構成において内部コントローラ33は、動作停止モードを実施中(ポーズ中)のフラッシュメモリ26であっても電力レジスタ1133や内部動作状態レジスタ1132へのアクセスを許容する。このようなアクセスを許容するために、動作停止モードを実施中(ポーズ中)であっても、コントロールロジック1114、内部コントローラ33、コマンドレジスタ34、ステータスレジスタ1122、アドレスレジスタ1120、入出力回路1112、およびデータレジスタ1109は、動作可能になっている。これにより、フラッシュメモリ26の停止処理時において、停止解除後の電力レベル(電力レジスタ1133等により設定する)のみならず停止解除後の任意のレジスタ状態を設定することが可能となる。その結果、停止中の時間を有効活用できて、設定に必要な処理時間を短縮する事ができる。
内部コントローラ33は、メモリ内の制御と、フラッシュメモリコントローラ10との間の各種信号の授受を司る制御部である。内部コントローラ33には、内部動作状態レジスタと電力レジスタ(本発明におけるレジスタ)とが設けられる。内部動作状態レジスタには、フラッシュメモリコントローラ10からのコマンドにかかわる書き込み動作や読み出し動作などの動作モードにおける動作状態が格納されるように構成され、電力レジスタには各動作モードにおいてフラッシュメモリ26が消費する電力レベルが格納されるように構成されている。内部コントローラ33は不揮発性メモリ領域36から読み出した各種のパラメータを内部動作状態レジスタと電力レベルレジスタとに転送格納する。また、実動作に関連して、内部動作状態レジスタには、現在の動作における電圧レベル、書き込み回数情報、パルス幅等が格納される。さらには、以降の動作における電圧レベル、書き込み回数情報、パルス幅の予測値も内部動作状態レジスタに格納される。またリトライ回数、フェイルビット数なども格納対象となる。
内部コントローラ33は、フラッシュメモリ26のバイアスに関する電圧レベルや印加時間の情報を外部のフラッシュメモリコントローラ10に告知することにより、電源回路20の必要電圧や電流等を制御する。付随する消費電流などの電力情報,動作時間などの情報は、フラッシュメモリ26における不揮発メモリ領域36から読み出され、内部動作状態レジスタに格納の上でフラッシュメモリコントローラ10に転送される。あるいは、IO端子から内部動作状態レジスタにアクセスし、内部動作状態や変化情報を取り出すようにしてもよい。
フラッシュメモリの動作には、ユーザコマンドで区別されるモード動作とこれらを構成するマイクロシーケンスという動作単位がある。マイクロシーケンスは階層的に定義される。フラッシュメモリは、書き込み/消去動作や書き込みまたは消去ベリファイ動作などの処理の実行において、内部コントローラ33の制御により動作クロックのもとマイクロシーケンス単位で一連の処理を実行してゆく。コマンド入力、内部電源セットアップ、プログラムベリファイ、プログラムパルス印加、消去ベリファイ、消去パルス印加のマイクロシーケンスに分解される。
図79はプログラムシーケンスに電力モード変更のマイクロシーケンスを挿入しプログラム動作の電力制御を実施した例である。電力モード更新のマイクロシーケンスは、プログラム(書き込み)、ベリファイ前(コマンド入力とプログラムベリファイの間、およびプログラムカウンタインクリメントとプログラムベリファイの間)、プログラムパルス印加前(プログラムカウンタリセットと書き込み動作のためのプログラムパルス印加の間)の3箇所に挿入されている。
プログラムベリファイは、プログラムベリファイの動作に必要な回路構成の変更や内部電位の準備等で構成されるセットアップPV(Program Verify)と、実際のプログラムベリファイ(Vtマージン読み出し)より下層のマイクロシーケンスとで構成される。プログラムパルス印加は、プログラムパルス印加の動作に必要な回路構成の変更や内部電位の準備等で構成されるセットアップPU(PUlse)と、実際のパルス印加のマイクロシーケンスとで構成される。
図79の各々のステップはマイクロシーケンス単位に相当する。このマイクロシーケンス単位で電力モード更新を実行することが、本項のポイントである。図80は電力モード更新シーケンスの詳細を示す。電力モード更新シーケンスが呼び出されると、電力レベル設定ビットが読み出される。読み出された電力レベル設定ビットに変更があった場合、電力制御を行うマイクロシーケンス毎に予め用意された電力パラメータは、変更後の電力レベル設定ビットに対応して設定変更される。図79では、・制御シーケンスクロック変更、・電源能力変更、・電源セットアップ時間変更、の3つの電力パラメータが変更調整されている。例えば電力の低減操作を考えてみる。制御シーケンスのクロックの周波数を落とすと単位時間あたりの動作が少なくなり消費電流は低減される。また電源がチャージポンプ等の昇圧回路とすれば昇圧回路の並列度、昇圧クロック周波数を下げることにより電流駆動能力が低下し、消費電力は低減される。電流駆動能力が低下することにより内部電源ノードの充電時間セットアップ時間を伸張する必要がある。一般的に回路を低電力で動作させると処理時間は伸びる性質が有る。
なお電力パラメータは、電力を変更できるものであれば限定されない。電力パラメータとしては、プログラムの同時ビット数、読み出しの同時ビット数、プログラムの並列、読み出しビットの並列などがある。 要するに本項では、電力レベル設定ビットに対応して、電力制御を行うマイクロシーケンス毎に予め電力パラメータを用意することが制御ポイントとなる。これらの電力パラメータは制御論理回路で設定することもできるが、不揮発性メモリ領域に電力パラメータを格納すれば、複雑な電力制御を、小ない回路面積で実現することができる。不揮発性メモリ領域の読み出し速度が不十分な場合は、電源投入時にRAMなどの揮発メモリに電力パラメータを格納することにより、電力モード更新シーケンスの挿入による処理速度低下を抑えることができる。
図81A-図81Cを用いてコマンドで指定される処理の実行時に電力レベルを設定する例を説明する。ここでは、電力レベルをVppの消費電流Ippのかたちで取り扱っている。図81A-図81Cはそれぞれ特定の電力レベルでプログラムコマンドを実行したときの消費電流Ippの時間的変化を模式的に示した消費電流プロファイルである(消去コマンドではプログラムパルスが消去パルス、プログラムベリファイが消去ベリファイとなり類似である)。Cmdはコマンド入力である。SetUpはプログラムモードに設定する電源のセットアップ動作である。Pulseはプログラムパルスの印加,VerifyRDはプログラムベリファイ、RDSTBYは読み出し待機状態である。図81A、図81B、図81Cの順に電力レベルの大きなプログラムコマンド実行中の消費電流プロファイルを示している。ここでは大きな電力レベル値が大消費電流側に対応している。無論、大きな電力レベル値を小消費電流側に対応させても、あるいは電流レベル値を単に消費電流範囲を示すインデックスとして扱ってもよい。消費電流の小さいコマンド程、メモリ内部の動作クロック周期は長くなり、コマンドの実行時間は長くなるが電源に必要な駆動能力は抑制することができる。
図82A、図82Bを用いてコマンドで指定される処理を実行中に電力レベルを変更する例を説明する。図中、上向き矢印のタイミングが電力パラメータが更新されたタイミングである。図82Aは処理速度優先の高消費電力の状態から消費電力優先の低消費電力の状態に変更された場合の消費電流プロファイルである。図82Bは消費電力優先の低消費電力の状態から消費電力優先高消費電力の状態に変更された場合の消費電流プロファイルである。
図81A-図81C、図82A-図82Bはいずれもマイクロシーケンス単位で電力レベルが変更されている。マイクロシーケンスを適切に細分化し、適切な電力制御を行うことにより、アクセス対象のフラッシュメモリの回路特性や特性ばらつきに適応した動的な省電力制御が実現される。
以下、フラッシュメモリ26のさらに具体的な構成を図83を参照して説明する。フラッシュメモリ26はデータを記憶するためのメモリセルアレイ1102を備える。メモリセルアレイ1102は、不揮発性メモリセルがアレイ状に配置されており、メモリセルのしきい値を変化させることにより情報を記憶している。プログラム動作によりメモリセルのしきい値を高く設定し、消去動作によりメモリセルのしきい値を低く設定することができる。メモリセルアレイ1102に対する読み出しおよびプログラム動作ではページ単位で、消去動作ではブロック単位で、それぞれアクセスが行われる。
ページは、ローデコーダ1104により選択される特定ワード線により指定され、読み出し動作においては、指定されるページのメモリセル記憶データが、センスアンプ1108により判定され、データレジスタ1109へ転送される。データレジスタ1109に転送されたデータは、カラムデコーダ1106により指定されるスタートポイントから順次入出力回路1112へと読み出され、入出力端子であるIO端子へ出力される。
データ書き込みにおいては、シリアルデータ入力モードを用いて、IO端子から入力されるデータは、カラムデコーダ1106により指定されるスタートポイントから順次データレジスタ1109へ取込まれたうえで、オートプログラムモードにおいて、指定されるページに転送される。
メモリセルアレイ1102に対する消去動作では、ローデコーダ1104により選択される複数のワード線により指定されるブロックに消去電圧が与えられることで、そのブロック内のメモリセルが消去状態に設定される。
プログラム、消去などのフラッシュメモリ26に対する動作は、IO端子より入力される動作コマンドによって設定される。フラッシュメモリ26は、論理回路やセンスアンプ1108などに供給される3VなどのVCC電圧端子を備え、さらには、VCCよりも高い電圧を受け取るVPP1、VPP2、VPP3の高電圧電源端子(VPP[1:3])を備えている。この高電圧電源端子VPP1、VPP2、VPP3には、例えばプログラム/消去用電圧、ベリファイ用電圧、読み出し用電圧が入力される。
フラッシュメモリ26内部の回路ブロックは、高電圧電源端子VPP1、VPP2、VPP3に与えられる電圧によって動作する、あるいは、高電圧電源端端子VPP1、VPP2、VPP3に与えられる電圧に基づいて電圧発生回路1130により生成される電圧によって動作する。
内部動作状態レジスタ1132は、フラッシュメモリコントローラ10からのコマンドにかかわる書き込み動作や読み出し動作などの動作モードにおける動作状態を保持するためのものである。ここでいう動作状態とは、フラッシュメモリ1100がオートプログラムや、オートブロック消去のコマンドを受けて、コントローラ1116がプログラムや消去動作のシーケンスを実行する際におけるシーケンスの実行状況を示している。
内部動作状態レジスタ1132へは、実行中の動作モード、オートプログラムまたはオートブロック消去シーケンス実行時の電圧印加繰り返し回数(ベリファイ回数)、印加電圧値、印加パルス幅、印加パルス間隔、ベリファイ実行時のエラービット数等が情報としてセットされる。
電力レジスタ1133は、図84に示すように、電力レベルを指定するデジタルビットから構成されている。ここでいう電力レベルとは、動作モードそれぞれでフラッシュメモリ26が消費する電力のレベルを示す。図84では、電力のレベルとして以下のものが例示されている。すなわち、図84では、電力レベル(0、1、2、3)それぞれに対応付けられた設定ビット(00,01、10、11)に、さらにmax消費電流(0mA、30mA、60mA、120mA)が対応付けられている。より詳細にはこれらは各マイクロシーケンスに対応するものである。実行中のマイクロシーケンスを内部動作状態レジスタ1132にセットすることもできる。
この構成により、動作実行コマンドを受けて、内部コントローラ33により動作シーケンスを実行するフラッシュメモリ26において、内部の動作状態や電力レベル(内部動作状態レジスタ1132や電力レジスタ1133の値)が、内部コントローラ33によって生成されるたうえで、生成された内部の動作状態や電力レベルを外部へ知らせることが可能となる。これにより、フラッシュメモリコントローラ10と電源回路(高電圧発生回路)20とを備えたストレージシステムにおいて、フラッシュメモリ内部の動作状況に応じて、電源回路(高電圧発生回路)を制御することが可能となる。これによりフラッシュメモリ内部の動作で必要となる電圧発生回路のみを動作させる(内部動作に不要な電源回路を動作させない)ことで、不要な電流消費を抑制してシステムの低消費動作化を実現することができる。また、フラッシュメモリ外部での高電圧発生回路を、フラッシュメモリ26の動作モードに応じて電圧発生制御することが可能となり、ストレージシステムの低消費電力化を図ることが可能となる。
図83に示すフラッシュメモリ26の構成例においては、内部動作状態レジスタ1132や電力レジスタ1133にIO端子を設け、このIO端子を介してフラッシュメモリ26にコマンドやアドレスを入力し、かつデータを入出力してもよい。そうすれば、端子数を増加させることなしに、内部の動作状態(インフォメーションレジスタの値)や電力レベルを外部へ出力することができ、多数のフラッシュメモリを用いるストレージシステムにおいて、フラッシュメモリコントローラとフラッシュメモリ間の配線を増やすことなしに、低消費電力化を実現することができる。
また、図86に示すように、内部動作状態レジスタ1132や電力レジスタ1133の内容を、IO端子の使用状況にかかわらず自由に読み出すことができるよう、専用の読み出し端子Infoをフラッシュメモリ26に備えてもよい。そうすれば、外部から内部動作状態レジスタ1132や電力レジスタ1133に対しては、メモリ内部の動作に関係なく読み出しことができるようになり、フラッシュメモリ外部から内部の動作状態(内部動作状態レジスタ1132や電力レジスタ1133の値)を読み出すタイミング制約が緩和される。したがって、フラッシュメモリ外部のフラッシュメモリコントローラからは、内部動作状態レジスタ1132や電力レジスタ1133の内容が変更されたことを示すインフォメーションレジスタ変更通知信号CHI(図83、図86の電源割り込み出力に対応)が変化した場合のみならず、フラッシュメモリコントローラ10が必要とする時に内容を読み出すことができ、電源回路の待機状態の制御などをおこなうことができるので、より低消費電力化の動作をおこなうことが可能となる。
これにより、内部動作状態レジスタ1132からのフラッシュメモリ内部の動作状態(インフォメーションレジスタの値)の読み出しや電力レジスタ1133からの電力レベルの読み出しに関するタイミング制約をなくすことができ、高電圧発生回路制御の自由度を増すことができる。
フラッシュメモリコントローラ10は、使用するフラッシュメモリ26に応じて、各動作モードにおける電圧発生回路の制御をおこなうことができ、より低消費電力化なシステムを実現することが可能となる。また、使用するフラッシュメモリ26の電力消費特性に応じて、同時プログラムを行うフラッシュメモリ26の数を制御することにより、プログラム特性を向上することが可能となる。
なお、上述した実施例では、内部コントローラ33は、電力レジスタ1133が示す電力レベルを参照していた。しかしながら、内部コントローラ33は、メモリ外部からフラッシュメモリ26に入力される信号を参照して電力レベルを把握してもよい。そうすれば、電力レベルを、コマンドアクセスと非同期に(例えばレベル指定により)変更することが可能となる。
これまで説明してきた本願発明の各実施例の構成によれば、フラッシュメモリコントローラが電源回路から受け取る電源状態情報に基づいて、フラッシュメモリの処理を適切に実行させることができるので、不揮発性記憶システムにおける不安定動作やシステムダウンを未然に回避し、データ信頼性を向上することが可能となるとともに、安定動作を確保するための過剰な電源能力を不要とするので、システムにおいて無駄な電力消費を抑制することができる。
微細化された半導体製造プロセス技術を用いて製造されるフラッシュメモリコントローラは、大規模なロジック集積回路が主体であり、ロジック回路を構成するトランジスタの信頼性を確保するために、その動作電圧が低電圧化されており、たとえば製造上の最小パターン寸法が45ナノメートルであるような場合には動作電圧は1.2Vに設定される。
一方、不揮発性メモリは広範囲なシステムに使用される部品であり、その入出力信号振幅は汎用性を生かすために、たとえば3Vや5Vのような比較的高い電圧を使用しており、システム電源としては3Vや5Vを生成する回路が用いられる。
したがって、フラッシュメモリコントローラは、外部と入出力する信号の振幅を3Vや5Vとするために、3Vや5Vのような比較的高いVDD電圧を用いて、入出力回路を構成するとともに、ロジック回路が主体となる信号処理ブロックへ与えられる1.2Vのような比較的低い内部動作電圧VDDIを発生する降圧電圧発生回路を備えている。
大規模ロジック集積回路と同一シリコン上に形成される降圧電圧発生回路としては、一般には製造の容易性からレギュレータ型が用いられており、このレギュレータは降圧する電圧をジュール熱として放出するため、高速動作することによって多くの動作電流を消費する信号処理ブロックは1.2Vのような比較的低い動作電圧で動作するにもかかわらず、フラッシュメモリコントローラ全体としては、大きな電力消費となっている。
図87は本発明の他の実施例における不揮発性記憶システム100の構成を示すブロック図である。不揮発性記憶システム(ストレージデバイス)100は、図1に示す実施例1と同様に、フラッシュメモリコントローラ10と、電源回路20と、複数のフラッシュメモリ26からなるメモリブロック25とを備えている。メモリブロック25は、複数のフラッシュメモリ26からなる。
フラッシュメモリコントローラ10は、VDD電圧振幅での信号で外部との入出力をおこなう入出力回路12と、内部電圧VDDIで信号処理をおこなうための信号処理ブロック回路11とを備えている。
電源回路20は、入力されるVDD電圧からフラッシュメモリ26で使用されるVHHを発生する昇圧電圧発生部と、フラッシュメモリコントローラ10内の信号処理ブロックで使用されるVDDIを発生する高電圧発生部とを備えている。電源回路20は、電源線44を介してラッシュメモリ32に接続されるとともに、信号処理ブロック11へのVDDI電源を供給するために電源線45を介してフラッシュメモリコントローラ10に接続されている。
フラッシュメモリコントローラ10の信号処理ブロック11へ電源を供給するために、電源回路20内に設けられる降圧電圧発生部は、大規模ロジック集積回路との混載という制約を受けることなく、降圧動作に最適なデバイスを用いて構成することができることができる。そのため、高効率な降圧回路を実現するこができる。
図87に示す実施例によれば、信号処理ブロック11用VDDI電圧を生成するために、無駄なジュール熱を発生させることを抑制することができ、不揮発性記憶システムの低消費電力化を実現することができる。
図88は本発明のさらに他の実施例における不揮発性記憶システム用の電源回路の電圧発生部の構成を示すブロック図である。電圧発生部50は、図57に示した電圧発生部と同一構成である昇圧電圧発生部100と、降圧発生部102とを備えている。昇圧電圧発生部100と降圧発生部102とは、共にDC-DCコンバータで構成されている。
スイッチング素子106は、比較回路114からのPWM(パルス幅変調)信号の電源電圧変化信号N20に基づいてオン・オフ制御される。スイッチング素子106がオン状態では、直流電源電圧VDDが出力端子VDDIに出力されるが、チョークコイル104の自己誘導により、電源電圧VDDが打ち消され、降圧された電圧がVDDIに出力される。スイッチング素子106がオフ状態では、コンデンサ110とダイオード108との還元電流により、VDDIの電圧が保持される。
上述したように比較回路114は、分圧抵抗によって分圧された出力電圧の分圧電圧112と、基準電圧VREF_Vとを比較して、比較結果を電源電圧変化信号N20として出力している。スイッチング素子106は、比較回路114の比較結果(電源電圧変化信号N20)に基づいてオン/オフ制御される。これにより、VDDIの出力電圧は、電源電圧変化信号N20によって駆動される帰還ループでの制御により決定される。このようにしてVDDIを設定する本実施例の構成では、VDDIの出力電圧は安定に設定される。
このように、チョークコイルに流れる電流のスイッチングを用いて電圧を変換する本実施例は電力損失を少なくでき、降圧電圧をジュール熱により放出するレギュレータに比べ高い電力効率を得ることができる。
図88に示す電圧発生部50の降圧電圧発生部102の出力を図87に示すフラッシュメモリコントローラ10のVDDI電源として供給することにより、不揮発性記憶システムの低消費電力化が実現できる。
本発明による不揮発性記憶システムの技術は、複数のフラッシュメモリの処理の実行状態がダイナミックに変化する動作環境下で使用されるSSD(ソリッドステートドライブ)のような大容量・高速の不揮発性記憶システムにおいて、高い消費電力削減効果を発揮させる上で有用である。
また、本発明の技術は、SSD(ソリッドステートドライブ)などのフラッシュメモリを複数用いる不揮発性記憶システム等において、随時変化する動作種類、コマンドで指定される処理の実行状況の変化、電源回路内部状態の変化、フラッシュメモリ群での個体差などにかかわりなく、絶えざるフィードバック・フィードフォワード制御を行うことにより、リアルでダイナミックなきめの細かい電源制御を実現し、もって、オーバーロード等の不具合に起因する不安定動作やシステムダウンを未然に回避し、データ信頼性を向上させながら、システムにおいて無駄な電力消費を抑制する(安定動作確保のためにあえて過剰な電源能力をもたせなくても済む)ための技術として有用である。
2010 メモリブロック
2012 フラッシュメモリ
2014 インフォメーションレジスタ
2020 フラッシュメモリ電源回路
2021 書き込み/消去用電源回路
2022 読み出し用電源回路
2023 ベリファイ用電源回路
2030 フラッシュメモリコントローラ
2032 フラッシュメモリ内部状態管理テーブル
2033 印加電圧情報記憶部
2034 印加電圧制御回路
2035 印加時間情報記憶部
2036 供給電力制御回路
1100、1700、1800・・・フラッシュメモリ
1102・・・メモリアレイ
1104・・・ローデコーダ
1106・・・カラムデコーダ
1108・・・センスアンプ
1109・・・データレジスタ
1110・・・カラム選択回路
1112・・・入出力回路
1114・・・コントロールロジック
1116・・・コントローラ
1118・・・コマンドレジスタ
1120・・・アドレスレジスタ
1122・・・ステータスレジスタ
1130・・・電圧発生回路
1132・・・インフォメーションレジスタ
1802・・・電力情報記憶領域
10 フラッシュメモリコントローラ
12 フラッシュメモリ動作管理テーブル
14 データ制御部
16 電源制御部
20 メモリシステム用の電源回路
24 オーバーロードレジスタ
25 メモリブロック
26 フラッシュメモリ
27 内部コントローラ
40 パラメータ設定部
50 電圧発生部
51 ロジック用の電圧発生部
52 読み出し用の電圧発生部
53 書き込み/消去用の電圧発生部
54 発振回路
55 昇圧回路
56 電圧検出部
57 比較回路
60 電圧状態モニタ部
61 ロジック用の電圧状態モニタ部
62 読み出し用の電圧状態モニタ部
63 書き込み/消去用の電圧状態モニタ部
66 遅延回路
67 積分回路
68 比較回路
69 ステータスレジスタ
70 カウンタ回路
72 テーブル変換回路
73 状態遷移検知部
77 オーバーロード検出部
80 設定レジスタ
81 ロジック比較回路
100 不揮発性記憶システム(ストレージデバイス)
T1 書き込み/消去用電源端子
T2 読み出し用電源端子
T3 ベリファイ用電源端子
T4 内部状態通知信号出力端子
T5 フラッシュメモリ内部動作制御信号入力端子
T6 印加電圧通知信号出力端子
T7 ベリファイ回数通知信号出力端子
T8 パルス幅/間隔通知信号出力端子
T9 負荷電力通知信号出力端子
T10 不良ビット数信号出力端子
2012 フラッシュメモリ
2014 インフォメーションレジスタ
2020 フラッシュメモリ電源回路
2021 書き込み/消去用電源回路
2022 読み出し用電源回路
2023 ベリファイ用電源回路
2030 フラッシュメモリコントローラ
2032 フラッシュメモリ内部状態管理テーブル
2033 印加電圧情報記憶部
2034 印加電圧制御回路
2035 印加時間情報記憶部
2036 供給電力制御回路
1100、1700、1800・・・フラッシュメモリ
1102・・・メモリアレイ
1104・・・ローデコーダ
1106・・・カラムデコーダ
1108・・・センスアンプ
1109・・・データレジスタ
1110・・・カラム選択回路
1112・・・入出力回路
1114・・・コントロールロジック
1116・・・コントローラ
1118・・・コマンドレジスタ
1120・・・アドレスレジスタ
1122・・・ステータスレジスタ
1130・・・電圧発生回路
1132・・・インフォメーションレジスタ
1802・・・電力情報記憶領域
10 フラッシュメモリコントローラ
12 フラッシュメモリ動作管理テーブル
14 データ制御部
16 電源制御部
20 メモリシステム用の電源回路
24 オーバーロードレジスタ
25 メモリブロック
26 フラッシュメモリ
27 内部コントローラ
40 パラメータ設定部
50 電圧発生部
51 ロジック用の電圧発生部
52 読み出し用の電圧発生部
53 書き込み/消去用の電圧発生部
54 発振回路
55 昇圧回路
56 電圧検出部
57 比較回路
60 電圧状態モニタ部
61 ロジック用の電圧状態モニタ部
62 読み出し用の電圧状態モニタ部
63 書き込み/消去用の電圧状態モニタ部
66 遅延回路
67 積分回路
68 比較回路
69 ステータスレジスタ
70 カウンタ回路
72 テーブル変換回路
73 状態遷移検知部
77 オーバーロード検出部
80 設定レジスタ
81 ロジック比較回路
100 不揮発性記憶システム(ストレージデバイス)
T1 書き込み/消去用電源端子
T2 読み出し用電源端子
T3 ベリファイ用電源端子
T4 内部状態通知信号出力端子
T5 フラッシュメモリ内部動作制御信号入力端子
T6 印加電圧通知信号出力端子
T7 ベリファイ回数通知信号出力端子
T8 パルス幅/間隔通知信号出力端子
T9 負荷電力通知信号出力端子
T10 不良ビット数信号出力端子
Claims (93)
- 複数のフラッシュメモリの集合からなるメモリブロックと、
前記メモリブロックの外部のフラッシュメモリ電源回路と、
前記フラッシュメモリ電源回路および複数の前記フラッシュメモリを制御するフラッシュメモリコントローラと、
を備え、
前記フラッシュメモリ電源回路は、前記フラッシュメモリにおける複数種類の処理の実行にそれぞれ必要となる複数種類の電圧レベルの電源を生成して前記フラッシュメモリのそれぞれに給電可能に構成された複数種類の処理実行用電源回路を有し、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのそれぞれと連絡し合って前記各フラッシュメモリの内部状態の変化を監視し、監視しているフラッシュメモリ内部状態に従って前記フラッシュメモリ電源回路における前記処理実行用電源回路の動作および前記フラッシュメモリの処理を制御するものとして構成されている、
不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、前記各フラッシュメモリとの連絡で取得する前記各フラッシュメモリの内部状態情報を更新して記録しておくためのフラッシュメモリ内部状態管理部を有している、
請求項1に記載の不揮発性記憶システム。 - 前記内部状態情報は、スタンバイ状態か動作状態かの識別情報と、処理種類の情報とを含む、
請求項2に記載の不揮発性記憶システム。 - 前記処理種類の情報は、読み出し動作の情報と書き込み/消去動作の情報とを含み、
前記各フラッシュメモリは、その処理種類として前記読み出し動作と、前記書き込み/消去動作とを有し、
前記フラッシュメモリ電源回路は、その処理実行用電源回路として読み出し用電源回路と、書き込み/消去用電源回路とを有している、
請求項3に記載の不揮発性記憶システム。 - 前記処理種類の情報は、読み出し動作の情報と、書き込み/消去動作の情報と、書き込み/消去ベリファイ動作の情報とを含み、
前記各フラッシュメモリは、その処理種類として前記読み出し動作と、前記書き込み/消去動作と、前記書き込み/消去ベリファイ動作とを有し、
前記フラッシュメモリ電源回路は、その処理実行用電源回路として読み出し用電源回路と、書き込み/消去用電源回路と、ベリファイ用電源回路とを有している、
請求項3に記載の不揮発性記憶システム。 - 前記フラッシュメモリ内部状態は、前記フラッシュメモリの内部の動作状態が変化するときに生成され前記フラッシュメモリコントローラに通知されるフラッシュメモリ割り込み通知信号によるものである、
請求項1に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、外部のホストから動作指令を受けると、前記動作指令における指令対象に該当する指令対象フラッシュメモリの動作を一時的に停止させたうえで、前記動作指令における指令対象に該当する指令対象処理実行用電源回路の状況を、前記フラッシュメモリ内部状態管理部における前記フラッシュメモリ内部状態に従って判断し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記指令対象処理実行用電源回路が停止状態であることを示すときは、前記指令対象処理実行用電源回路を起動したうえでその給電状態が安定した後に前記指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部においてフラッシュメモリ内部状態を更新し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記指令対象処理実行用電源回路がすでに動作状態であることを示すときは、前記指令対象フラッシュメモリの動作を再開するとともに前記指令対象フラッシュメモリの内部状態を更新する、
請求項2または6に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、動作を完了した前記指令対象フラッシュメモリから動作完了を示す連絡を受け取ると、動作を完了した前記指令対象フラッシュメモリの動作を一時的に停止したうえで、前記動作を完了した指令対象フラッシュメモリに給電している前記指令対象処理実行用電源回路の使用状況を、前記フラッシュメモリ内部状態管理部における前記フラッシュメモリ内部状態に従って判断し、
前記フラッシュメモリコントローラは、前記判断の結果が、給電中の前記指令対象処理実行用電源回路が、前記動作を完了した指令対象フラッシュメモリ以外の前記フラッシュメモリによって使用されていない状態であることを示すときは、前記給電中の指令対象処理実行用電源回路を停止したうえで、その後に前記動作を完了した指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部において前記フラッシュメモリ内部状態を更新し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記給電中の指令対象処理実行用電源回路が、前記動作を完了した指令対象フラッシュメモリ以外の前記フラッシュメモリによって使用状態であることを示すときは、前記動作を完了した指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部においてフラッシュメモリ内部状態を更新する、
請求項7に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、前記フラッシュメモリが書き込み/消去動作に引き続いてベリファイ動作状態に移行すると、前記指令対象処理実行用電源回路の状況を、前記フラッシュメモリ内部状態管理部における前記フラッシュメモリ内部状態に従って判断し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記指令対象処理実行用電源回路が停止状態であることを示すときは、前記指令対象処理実行用電源回路を起動したうえでその給電状態が安定した後に前記指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部において前記フラッシュメモリ内部状態を更新し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記指令対象処理実行用電源回路がすでに動作状態であることを示すときは、前記指令対象フラッシュメモリの動作を再開するとともに前記フラッシュメモリ内部状態管理部において前記フラッシュメモリ内部状態を更新する、
請求項8に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、ベリファイ中の前記フラッシュメモリから動作完了の連絡を受け取ると、当該ベリファイ動作完了フラッシュメモリの動作を一時的に停止したうえで、前記ベリファイ動作完了フラッシュメモリに給電しているベリファイ給電中処理実行用電源回路の使用状況を、前記フラッシュメモリ内部状態管理部における前記フラッシュメモリ内部状態に従って判断し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記ベリファイ給電中処理実行用電源回路が、前記ベリファイ動作完了フラッシュメモリ以外の前記フラッシュメモリによって使用されていない状態であることを示すときは、前記ベリファイ給電中処理実行用電源回路を停止し、
前記フラッシュメモリコントローラは、前記判断の結果が、前記ベリファイ給電中処理実行用電源回路が、前記ベリファイ動作完了フラッシュメモリ以外の前記フラッシュメモリによって使用状態であることを示すときは、前記ベリファイ動作完了フラッシュメモリの動作を再開する、
請求項9に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、前記フラッシュメモリ内部状態として、前記フラッシュメモリそれぞれに固有に設定された前記処理実行用電源回路の印加電圧情報を各フラッシュメモリからの通知により取得したうえで取得した前記印加電圧情報に従って前記処理実行用電源回路の動作を制御するための印加電圧制御回路を、さらに備えている、
請求項1に記載の不揮発性記憶システム。 - 前記印加電圧制御回路は、同一の前記処理実行用電源回路の印加電圧情報を、複数の前記フラッシュメモリから取得したときは、それら印加電圧情報が示す複数の印加電圧のうちで最も高い印加電圧となるように、前記同一の処理実行用電源回路の動作を制御するように構成されている、
請求項11に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリから任意のフラッシュメモリを選択するものであり、
前記フラッシュメモリコントローラは、複数の前記フラッシュメモリから受け取った印加電圧情報を記憶しておくための印加電圧情報記憶部を、さらに有し、
前記フラッシュメモリコントローラは、前記印加電圧情報記憶部に記憶されている前記印加電圧情報を参照して、複数の前記フラッシュメモリから任意のフラッシュメモリを選択するように構成されている、
請求項11に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのうち空き状態にあるアクセス対象候補のフラッシュメモリが複数ある場合には、前記印加電圧情報記憶部に記憶されている前記印加電圧情報を参照して、印加電圧が最も低いフラッシュメモリを選択するように構成されている、
請求項13に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスすることになる場合には、前記印加電圧情報記憶部に記憶されている前記印加電圧情報を参照して、同一の前記処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに印加電圧の差がより少ないフラッシュメモリどうしを優先して選択するように構成されている、
請求項14に記載の不揮発性記憶システム。 - 前記印加電圧制御回路は、前記フラッシュメモリ内部状態として、前記フラッシュメモリのベリファイ回数情報を前記フラッシュメモリそれぞれからの通知によりさらに取得したうえで、取得した前記ベリファイ回数情報と、前記印加電圧情報とに従って前記処理実行用電源回路の動作を制御するように構成されている、請求項11に記載の不揮発性記憶システム。
- 前記印加電圧制御回路は、前記印加電圧情報に従って前記処理実行用電源回路の動作を制御するに際して、取得した印加電圧を基準電圧としたうえで、この基準電圧と、前記ベリファイ回数情報から得られるベリファイ回数と、あらかじめ設定しておいた補正電圧とを演算することで、補正された印加電圧を算出したうえで、前記補正された印加電圧に基づいて、前記処理実行用電源回路を制御するように構成されている、
請求項16に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリから受け取った前記ベリファイ回数情報と、書き込み/消去動作の電圧印加パルス幅およびパルス間隔の情報との演算に基づいて得られる印加時間情報を記憶しておく印加時間情報記憶部を、さらに備え、
前記フラッシュメモリコントローラは、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して選択対象のフラッシュメモリを決定するように構成されている、
請求項16に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのうち空き状態にあるアクセス対象候補のフラッシュメモリが複数ある場合には、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して、印加時間が最も短いフラッシュメモリを選択するように構成されている、
請求項18に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスすることになる場合には、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して、同一の処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに印加時間の差がより少ないフラッシュメモリどうしを優先して選択するように構成されている、
請求項19に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスすることになる場合には、前記印加時間情報記憶部に記憶されている前記印加時間情報を参照して、複数の前記フラッシュメモリの動作実行において互いにタイミングが重ならない状態で制御するように構成されている、
請求項18に記載の不揮発性記憶システム。 - 前記複数種類の処理実行用電源回路それぞれは、出力電力量が可変制御可能に構成されており、
前記フラッシュメモリそれぞれは、当該フラッシュメモリに固有に対応する前記処理実行用電源回路で必要となる電力量を示す負荷電力情報を、前記フラッシュメモリコントローラに通知するように構成されており、
前記フラッシュメモリコントローラは、受け取った前記負荷電力情報に基づいてその付加電力情報に対応する前記処理実行用電源回路の出力電力量を制御するための供給電力制御回路を有している、
請求項1に記載の不揮発性記憶システム。 - 前記供給電力制御回路は、複数の前記フラッシュメモリから同一の前記処理実行用電源回路の前記負荷電力情報を取得したときには、取得した前記負荷電力情報が示す複数の負荷電力の総和以上の電力が前記同一の処理実行用電源回路に供給されるように、前記同一の処理実行用電源回路の動作を制御するように構成されている、
請求項22に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリから受け取った負荷電力情報を記憶しておくための負荷電力情報記憶部を、さらに有し、
前記フラッシュメモリコントローラは、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、複数の前記フラッシュメモリから任意のフラッシュメモリを選択するように構成されている、
請求項22に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリのうち空き状態にあるアクセス対象候補のフラッシュメモリが複数ある場合には、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、負荷電力が最も低いフラッシュメモリを選択するように構成されている、
請求項24に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスすることになる場合には、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、同一の前記処理実行用電源回路から電源の供給を受けるフラッシュメモリとして、互いに負荷電力の和がより少ないフラッシュメモリどうしを優先して選択するように構成されている、
請求項25に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリに同時並行状態でアクセスし、かつ複数の前記フラッシュメモリでの負荷電力の総和が前記処理実行用電源回路の給電能力を超える場合には、前記負荷電力情報記憶部に記憶されている前記負荷電力情報を参照して、複数の前記フラッシュメモリの動作実行のタイミングが互いに重ならないように制御するように構成されている、
請求項25に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリからベリファイ時の不良ビット数情報を受け取り、受け取った不良ビット数情報に従って前記フラッシュメモリの処理の実行を制御するように構成されている、
請求項1に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、通知された不良ビット数が規定値以下になった場合に、直ちに前記フラッシュメモリの動作を停止させるように構成されている、
請求項28に記載の不揮発性記憶システム。 - 前記フラッシュメモリ電源回路は複数の電源回路グループに分割されており、
複数の前記フラッシュメモリは複数のメモリグループに分割されており、
同一の前記メモリグループ内の前記フラッシュメモリそれぞれは、互いに独立して前記電源回路グループに関連付けられている、
請求項1に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、複数の前記フラッシュメモリにアクセスする場合には、同一の前記メモリグループ内の前記フラッシュメモリを優先して選択するように構成されている、
請求項30に記載の不揮発性記憶システム。 - 複数のメモリセルが配置されたメモリセルアレイと、
前記メモリセルへの書き込みデータおよび、前記メモリセルからの読み出しデータを入出力するための第1の端子と、
メモリの動作状態を指定するためのコマンドを受け取るコマンドレジスタと、
前記コマンドレジスタの値に応じて、内部の動作シーケンスを制御するコントローラと、
前記コントローラが生成する内部動作状態を示す信号を出力するための第2の端子と、
を備える不揮発性半導体記憶装置。 - 前記コントローラが生成する内部動作状態を保持するためのレジスタをさらに備え、
前記第2の端子が、前記レジスタの保持データを出力する端子である、
請求項32に記載の不揮発性半導体記憶装置。 - 前記コントローラが生成する内部動作状態が変化したことを知らせる信号を出力する端子をさらに備える、
請求項32に記載の不揮発性半導体記憶装置。 - 内部動作シーケンスの進行を制御する信号を受け取る端子をさらに備える、
請求項32に記載の不揮発性半導体記憶装置。 - 論理回路に印加する第1の電源電圧印加端子と、
前記第1の電源電圧よりも高い第2の電源電圧印加端子と、
をさらに備える、
請求項32に記載の不揮発性半導体記憶装置。 - 前記第2の電源電圧よりも高い第3の電源電圧印加端子をさらに備える、
請求項36に記載の不揮発性半導体記憶装置。 - 前記第2の端子が、前記第1の端子との共用端子である、
請求項32に記載の不揮発性半導体記憶装置。 - 前記第2の端子が、前記第1の端子とは異なる端子である、
請求項32に記載の不揮発性半導体記憶装置。 - 前記内部動作状態を示す信号が、少なくとも読み出し、プログラム、消去状態を示す情報を含んでいる、
請求項32に記載の不揮発性半導体記憶装置。 - 前記内部動作状態を示す信号が、少なくとも読み出し、プログラム、プログラムベリファイ、消去、消去ベリファイ状態を示す情報を含んでいる、
請求項32に記載の不揮発性半導体記憶装置。 - 前記内部動作状態を示す信号が、プログラムおよび動作における動作パラメータを含んでいる、
請求項40または請求項41に記載の不揮発性半導体記憶装置。 - 前記動作パラメータが、ベリファイ回数、動作電圧レベル、印加電圧パルス幅を含んでいる、
請求項42に記載の不揮発性半導体記憶装置。 - 複数のメモリセルが配置されたメモリセルアレイと、
前記メモリセルへの書き込みデータおよび、前記メモリセルからの読み出しデータを入出力するための第1の端子と、
チップ固有情報を格納する不揮発性記憶領域と、
前記不揮発性記憶領域の記憶情報を出力するための第2の端子と、
を備える不揮発性半導体記憶装置。 - メモリの動作状態を指定するためのコマンドを受け取るコマンドレジスタと、
前記コマンドレジスタの値に応じて、内部の動作シーケンスを制御するコントローラと、
前記コントローラが生成する内部動作状態を示す信号を保持するとともに、前記不揮発性記憶領域の記憶情報を転送するためのレジスタと、
をさらに備える請求項44に記載の不揮発性半導体記憶装置。 - 論理回路に印加する第1の電源電圧印加端子と、
前記第1の電源電圧よりも高い第2の電源電圧印加端子と、
をさらに備える請求項44に記載の不揮発性半導体記憶装置。 - 前記第2の電源電圧よりも高い第3の電源電圧印加端子をさらに備える、
請求項46に記載の不揮発性半導体記憶装置。 - 前記第2の端子が、前記第1の端子との共用端子である、
請求項44に記載の不揮発性半導体記憶装置。 - 前記第2の端子が、前記第1の端子とは異なる端子である、
請求項44に記載の不揮発性半導体記憶装置。 - フラッシュメモリを複数集めたメモリブロックと、
前記複数のフラッシュメモリの処理の実行を制御するためのフラッシュメモリコントローラと、
前記複数のフラッシュメモリそれぞれに動作用の電源を供給するための電源回路と、
を備え、
前記電源回路は、その電源状態の情報を電源状態情報として前記フラッシュメモリコントローラに通知する機能を有するものとして構成され、
前記フラッシュメモリコントローラは、前記電源回路から受け取る前記電源状態情報に基づいて、アクセス対象の前記フラッシュメモリが前記電源回路の給電能力の規定の範囲内で適切な処理が実行可能であるか否かを判断し、
前記フラッシュメモリコントローラは、アクセス対象の前記フラッシュメモリが前記電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、使用電力が減少して前記給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御する機能を有するものとして構成されている、
ことを特徴とする不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、ポーリングにより前記電源回路から受け取った前記電源状態情報が特定のレベル以上であると判断する場合には、前記メモリブロックにおける特定のフラッシュメモリの処理の実行を一時停止し、次いで前記電源状態情報に基づいて前記電源回路に電力余裕が生じるようになったと判断したときは処理の実行を一時停止していた前記フラッシュメモリの処理の実行を再開する制御を行うように構成されている、
請求項50に記載の不揮発性記憶システム。 - 前記電源回路は、電源状態を監視して電源状態が特定のレベル以上となったときに割り込み信号を生成して前記フラッシュメモリコントローラに通知するように構成され、
前記フラッシュメモリコントローラは、前記電源回路から前記割り込み信号を受け取ったときは、前記メモリブロックにおける特定のフラッシュメモリの処理の実行を一時停止し、次いでポーリングにより前記電源回路から前記電源状態情報を受け取り、受け取った電源状態情報に基づいて前記電源回路に電力余裕が生じるようになったと判断すると、処理の実行を一時停止していた前記フラッシュメモリの処理の実行を再開する制御を行うように構成されている、
請求項50に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、
複数のフラッシュメモリの処理の実行を個別的に制御するデータ制御部と、
前記電源回路の電源制御を司る電源制御部と、
をさらに備え、
前記電源制御部は、前記電源回路から受け取る前記電源状態情報に基づく判断においてアクセス対象のフラッシュメモリが前記電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときには、使用電力が減少して前記給電能力の規定の範囲内で処理が適切に実行可能となるようにアクセス対象のフラッシュメモリを制御するものとして構成されている、
請求項50に記載の不揮発性記憶システム。 - 前記フラッシュメモリは、動的に動作電流を変更することが可能に構成されており、
前記フラッシュメモリコントローラは、新規アクセス対象のフラッシュメモリが前記電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、処理実行中のフラッシュメモリ群において特定のフラッシュメモリにつき、その使用電力を下げた上で処理の実行を継続しまたは処理の実行を一時停止し、その低電力変更状態で使用電力が減少して前記給電能力の規定の範囲内で処理が適切に実行可能となったときに前記新規アクセス対象のフラッシュメモリの処理の実行を開始する制御を行うように構成されている、
請求項50に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、前記複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されているとともに、前記使用電力を下げた上で処理の実行を継続しまたは処理の実行を一時停止する制御は、処理実行中のフラッシュメモリ群において優先順位が最も低いフラッシュメモリから優先的に対象とするように構成されている、
請求項54に記載の不揮発性記憶システム。 - 前記フラッシュメモリは、動的に動作電流を変更することが可能に構成されており、
前記フラッシュメモリコントローラは、ポーリングにより前記電源回路から前記電源状態情報を受け取り、受け取った電源状態情報が特定のレベル以上であると判断する場合は特定の前記フラッシュメモリの電力レベルを下げ、前記電源回路に電力余裕を生じさせて処理の実行を継続するように構成されている、
請求項50に記載の不揮発性記憶システム。 - 前記電源回路は、電源状態を監視して電源状態が特定のレベル以上となったときに割り込み信号を生成し、前記フラッシュメモリコントローラに通知するように構成され、
前記フラッシュメモリコントローラは、前記電源回路から前記割り込み信号を受け取った場合には、特定の前記フラッシュメモリの電力レベルを下げ、前記電源回路に電力余裕を生じさせて処理の実行を継続するように構成されている、
請求項50に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、前記複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されているとともに、前記使用電力を下げた上で処理の実行を継続する制御では、処理実行中のフラッシュメモリ群において優先順位が最も低いフラッシュメモリから優先的に制御対象とするように構成されている、
請求項56に記載の不揮発性記憶システム。 - 前記電源回路は、電源状態を監視して電源状態が特定のレベル以上となったときに割り込み信号を生成し、前記フラッシュメモリコントローラに通知するように構成され、
前記フラッシュメモリコントローラは、前記電源回路から前記割り込み信号を受け取った場合には特定の前記フラッシュメモリの電力レベルを下げて、前記電源回路に電力余裕を生じさせて処理を継続するように構成されている、
請求項56に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、前記フラッシュメモリにおける処理の実行の完了後に、前記電源回路でのオーバーロード発生の有無を確認し、オーバーロード発生ありのときはベリファイ動作を実行するように構成されている、
請求項50に記載の不揮発性記憶システム。 - 前記フラッシュメモリコントローラは、入出力回路等与えられる第1の電源電圧が印加される第1の電源端子および、信号処理回路等与えられ、前記第1の電源電圧よりも低い第2の電源電圧が印加される第2の電源端子を備え、
前記電源回路が、前記フラッシュメモリコントローラの前記第2の電源端子へ印加する第2の電源電圧を生成する回路を備えるよう構成されている、
請求項50に記載の不揮発性記憶システム。 - 外部のコントローラから入力される電源制御信号が示す情報に応じて外部チップの電源電圧を生成出力し、さらに生成した前記電源電圧の変化を示す電源電圧変化信号を生成する電圧発生部と、
前記電圧発生部から前記電源電圧変化信号を受け取り、受け取った電源電圧変化信号に基づいて前記電圧発生部の電源状態を示す電源状態通知信号を生成し、生成した前記電源状態通知信号を前記コントローラに向けて出力する電圧状態モニタ部と、
を備えるメモリシステム用の電源回路。 - 前記電圧発生部と前記電圧状態モニタ部とは、それぞれ、複数種類の処理実行用電源回路として複数設けられ、前記複数種類の処理実行用電源回路は互いに独立して動作するように構成されている、
請求項62に記載のメモリシステム用の電源回路。 - 前記電圧発生部は、入力電源電圧よりも高い電圧を発生する昇圧電圧発生部と、
前記入力電源電圧よりも低い電圧を発生する降圧電圧発生部と、
を備えている、
請求項62に記載のメモリシステム用の電源回路。 - 前記電圧発生部は、電源状態をオンデューティで表すパルス信号の電源電圧変化信号を生成して前記電圧状態モニタ部に出力するものとして構成され、
前記電圧状態モニタ部は、
前記電圧発生部からの前記電源電圧変化信号をそれのインアクティブ期間にわたって積分する積分回路と、
前記積分回路による積分信号を参照電圧と比較し、比較結果を電源状態情報信号として出力する比較回路と、
前記比較回路からの前記電源状態情報信号を前記電源電圧変化信号のアクティブへの変化タイミングでラッチするステータスレジスタと、
を備えたものとして構成されている、
請求項62に記載のメモリシステム用の電源回路。 - 前記電圧状態モニタ部は、前記電圧発生部からの前記電源電圧変化信号の入力部と前記積分回路の入力部との間に、前記電源電圧変化信号の周期をカウントして、複数周期分のカウントアップでリセットされるカウンタ回路を、さらに備えている、
請求項65に記載のメモリシステム用の電源回路。 - 前記比較回路は、参照電圧を異にする複数段の比較回路として構成され、
前記ステータスレジスタは、前記複数段の比較回路に対応した複数段のステータスレジスタとして構成されている、
請求項65に記載のメモリシステム用の電源回路。 - 前記電圧状態モニタ部は、前記複数段の比較回路の出力側または前記複数段のステータスレジスタの出力側に必要ビット数を減じるためのテーブル変換回路を備えている、
請求項67に記載のメモリシステム用の電源回路。 - 前記電圧状態モニタ部は、前記ステータスレジスタの内容に変化があったときに割り込み信号を生成して前記ステータスレジスタの出力側に出力する状態遷移検知部をさらに備えた構成とされている、
請求項65に記載のメモリシステム用の電源回路。 - 前記電圧状態モニタ部は、前記電圧発生部からの前記電源電圧変化信号を受け取り、受け取った前記電源電圧変化信号に基づいて前記電圧発生部のオーバーロード状態を検出してオーバーロード検出信号を生成し、生成した前記オーバーロード検出信号を前記外部のコントローラに向けて出力するオーバーロード検出部をさらに備えている、
請求項67に記載のメモリシステム用の電源回路。 - 外部から設定入力される電源状態比較値を保持する設定レジスタと、
前記複数段のステータスレジスタの内容と前記設定レジスタの内容とを比較し、前者が後者以上となったときに前記電源状態通知信号をアクティブにして前記外部のコントローラ側に出力するロジック比較回路と、
をさらに備えている、
請求項67に記載のメモリシステム用の電源回路。 - 外部から設定入力される電源状態比較値を保持する設定レジスタと、
前記テーブル変換回路の内容と前記設定レジスタの内容とを比較し、前者が後者以上となったときに前記電源状態通知信号をアクティブにして前記コントローラに出力するロジック比較回路とをさらに備えている、
請求項68に記載のメモリシステム用の電源回路。 - 前記電圧状態モニタ部は、前記電圧発生部からの前記電源電圧変化信号を受け取り、受け取った前記電源電圧変化信号に基づいて前記電圧発生部のオーバーロード状態を検出してオーバーロード検出信号を生成し、生成した前記オーバーロード検出信号を前記外部のコントローラに向けて出力するオーバーロード検出部を、さらに備えている、
請求項67に記載のメモリシステム用の電源回路。 - 前記電圧発生部は、前記電源状態通知信号として多ビット信号を生成する複数の比較回路をさらに有し、
前記電圧状態モニタ部は、前記多ビット信号の電源状態通知信号をラッチする複数段のステータスレジスタをさらに有している、
請求項62に記載のメモリシステム用の電源回路。 - 外部のフラッシュメモリコントローラによる制御で動作するフラッシュメモリであって、
当該フラッシュメモリの動作モードそれぞれで当該フラッシュメモリが消費する電力レベルを示すレジスタと、
前記レジスタが示す前記電力レベルを前記フラッシュメモリコントローラに告知する制御部と、
を備えている、
ことを特徴とするフラッシュメモリ。 - 前記制御部は、前記電力レベルを示すフィールドを有するコマンドを前記フラッシュメモリコントローラとの間で授受する、
請求項75に記載のフラッシュメモリ。 - 前記動作モードは、動作停止モードを含む、
請求項75に記載のフラッシュメモリ。 - 前記動作停止モードにおける電力レベルを指定するための制御端子をさらに有する、
請求項77に記載のフラッシュメモリ。 - 前記制御部は、前記動作停止モードでの当該フラッシュメモリの動作中でも前記レジスタへのアクセスを許容する、
請求項77に記載のフラッシュメモリ。 - 前記電力レベルそれぞれで当該フラッシュメモリが消費する動作電力値を示す第1の情報を保持する第1の記憶部をさらに備え、
前記制御部は、前記電力レベルに対応する前記第1の情報を前記第1の記憶部から読み出して前記フラッシュメモリコントローラに供与する、
請求項75に記載のフラッシュメモリ。 - 前記電力レベルそれぞれにおける当該フラッシュメモリの処理速度を示す第2の情報を保持する第2の記憶部をさらに備え、
前記制御部は、前記電力レベルに対応する前記第2の情報を前記第2の記憶部から読み出して前記フラッシュメモリコントローラに供与する、
請求項75に記載のフラッシュメモリ。 - 前記制御部は、前記レジスタが示す前記電力レベルに換えて、外部から当該フラッシュメモリに入力される信号を参照して前記電力レベルを把握する、
請求項75に記載のフラッシュメモリ。 - 前記電力レベルを示すレジスタは前記フラッシュコントローラから書き換えられれば、当該フラッシュメモリの消費電流も変更される、
請求項75に記載のフラッシュメモリ。 - 複数のフラッシュメモリの処理の実行をそれぞれ制御するフラッシュメモリコントローラであって、
当該フラッシュメモリコントローラは、前記複数のフラッシュメモリにそれぞれ電源を供給する電源回路からの電源状態情報に基づいて、前記複数のフラッシュメモリに含まれるアクセス対象のフラッシュメモリを制御する、
ことを特徴とするフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、前記電源回路の供給能力のうち所定範囲の電力まで使用電力を減少させる、
請求項84に記載のフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、前記アクセス対象のフラッシュメモリの処理の実行が、前記所定範囲の電力で不可能と判断する場合には、前記使用電力を減少させる、
請求項85に記載のフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、前記電源状態情報が特定のレベル以上であると判断した場合は、前記アクセス対象のフラッシュメモリのうち、特定のフラッシュメモリの処理の実行を一時停止し、次いで前記電源状態情報に基づいて前記電源回路に電力余裕が生じるようになったと判断したときは処理の実行を一時停止していた前記フラッシュメモリの処理の実行を再開する制御を行う、
請求項86に記載のフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、前記電源状態情報が特定のレベル以上であると判断した場合は、前記アクセス対象のフラッシュメモリのうち、特定のフラッシュメモリの電力レベルを下げ、前記電源回路に電力余裕を生じさせて処理の実行を継続する、
請求項86に記載のフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、前記電源状態情報をポーリングで監視する、
請求項87または請求項88に記載のフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、前記電源状態情報が特定のレベル以上であることを前記電源回路の割り込み信号によって通知される、
請求項87または請求項88に記載のフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、新規アクセス対象のフラッシュメモリが前記電源回路の給電能力の規定の範囲内で適切な処理が実行不可能と判断するときは、処理実行中のフラッシュメモリ群において特定のフラッシュメモリにつき、その使用電力を下げた上で処理の実行を継続しまたは処理の実行を一時停止し、その低電力変更状態で使用電力が減少して前記新規アクセス対象のフラッシュメモリが前記給電能力の規定の範囲内で処理が適切に実行可能となったときに処理の実行を開始する制御を行う、
請求項86に記載のフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、前記複数のフラッシュメモリの相互間で優先順位を定めて管理するように構成されているとともに、前記使用電力を下げた上で処理の実行を継続しまたは処理の実行を一時停止する特定の前記フラッシュメモリ制御は、処理実行中のフラッシュメモリ群において優先順位が最も低いフラッシュメモリから優先的に対象とする、
請求項91に記載のフラッシュメモリコントローラ。 - 当該フラッシュメモリコントローラは、前記フラッシュメモリにおける処理の実行の完了後に、前記電源回路でのオーバーロード発生の有無を確認し、オーバーロード発生ありのときはベリファイ動作を実行する、
請求項84に記載のフラッシュメモリコントローラ。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012522450A JP5596143B2 (ja) | 2010-06-29 | 2011-06-23 | 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 |
US13/732,089 US9405671B2 (en) | 2010-06-29 | 2012-12-31 | Process execution control based on the internal states of flash memories and power supply circuit information |
US13/940,161 US9898403B2 (en) | 2010-06-29 | 2013-07-11 | Voltage control circuit for providing two voltages generated based on a parameter corresponding to an input signal |
US15/867,429 US20180129601A1 (en) | 2010-06-29 | 2018-01-10 | Voltage control circuit for providing two voltages generated based on a parameter corresponding to an input signal |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010147849 | 2010-06-29 | ||
JP2010-147849 | 2010-06-29 | ||
JP2010155264 | 2010-07-07 | ||
JP2010-155264 | 2010-07-07 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/732,089 Continuation US9405671B2 (en) | 2010-06-29 | 2012-12-31 | Process execution control based on the internal states of flash memories and power supply circuit information |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012001917A1 true WO2012001917A1 (ja) | 2012-01-05 |
Family
ID=45401661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/003581 WO2012001917A1 (ja) | 2010-06-29 | 2011-06-23 | 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 |
Country Status (3)
Country | Link |
---|---|
US (3) | US9405671B2 (ja) |
JP (2) | JP5596143B2 (ja) |
WO (1) | WO2012001917A1 (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198861A (zh) * | 2012-01-06 | 2013-07-10 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与控制方法 |
US20130290611A1 (en) * | 2012-03-23 | 2013-10-31 | Violin Memory Inc. | Power management in a flash memory |
JP2014146390A (ja) * | 2013-01-28 | 2014-08-14 | Rohm Co Ltd | 半導体記憶装置 |
JP2017045394A (ja) * | 2015-08-28 | 2017-03-02 | 株式会社東芝 | メモリシステム |
JP2017117055A (ja) * | 2015-12-22 | 2017-06-29 | 株式会社東芝 | メモリシステムおよび制御方法 |
JP2017117054A (ja) * | 2015-12-22 | 2017-06-29 | 株式会社東芝 | メモリシステムおよび制御方法 |
KR20170115287A (ko) * | 2016-04-07 | 2017-10-17 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
JP2018036795A (ja) * | 2016-08-30 | 2018-03-08 | 東芝メモリ株式会社 | メモリシステム |
JP2019149197A (ja) * | 2019-05-09 | 2019-09-05 | 東芝メモリ株式会社 | メモリシステムの制御方法 |
TWI693601B (zh) * | 2019-04-30 | 2020-05-11 | 大陸商長江存儲科技有限責任公司 | 電子設備和管理快閃記憶體的讀取準位的方法 |
US20230010785A1 (en) * | 2021-07-08 | 2023-01-12 | Kioxia Corporation | Memory system, control method, and power control circuit |
US20230008376A1 (en) * | 2021-07-08 | 2023-01-12 | Kioxia Corporation | Memory system, control method, and power control circuit |
TWI795834B (zh) * | 2021-03-18 | 2023-03-11 | 日商鎧俠股份有限公司 | 電壓產生電路及半導體裝置 |
JP2023518242A (ja) * | 2020-03-17 | 2023-04-28 | マイクロン テクノロジー,インク. | メモリサブシステムにおける作業負荷レベルに基づく電力モードの設定 |
US11816344B2 (en) | 2020-12-16 | 2023-11-14 | Kioxia Corporation | Memory system in which information on a time in which integrity of a stored data piece is confirmed last |
Families Citing this family (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8621138B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
TWI488186B (zh) * | 2011-11-18 | 2015-06-11 | Silicon Motion Inc | 快閃記憶體控制器以及產生快閃記憶體之驅動電流之方法 |
TWI473099B (zh) * | 2011-12-23 | 2015-02-11 | Phison Electronics Corp | 記憶體儲存裝置、記憶體控制器與控制方法 |
JP5922952B2 (ja) * | 2012-03-05 | 2016-05-24 | エスアイアイ・セミコンダクタ株式会社 | 不揮発性半導体記憶装置 |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US8977890B2 (en) * | 2012-08-31 | 2015-03-10 | Kabushiki Kaisha Toshiba | Memory system and control method |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
JP2014174710A (ja) * | 2013-03-08 | 2014-09-22 | Casio Comput Co Ltd | 情報処理装置、及び情報処理方法、プログラム |
CN104050107B (zh) * | 2013-03-12 | 2017-01-25 | 光宝电子(广州)有限公司 | 固态储存装置及遭遇低电压时的数据处理方法 |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
JP2015106370A (ja) * | 2013-12-02 | 2015-06-08 | 株式会社東芝 | 半導体記憶装置 |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9690571B2 (en) * | 2013-12-31 | 2017-06-27 | Nxp Usa, Inc. | System and method for low cost patching of high voltage operation memory space |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US8929169B1 (en) * | 2014-05-13 | 2015-01-06 | Sandisk Technologies Inc. | Power management for nonvolatile memory array |
US9343116B2 (en) | 2014-05-28 | 2016-05-17 | Micron Technology, Inc. | Providing power availability information to memory |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US9093160B1 (en) * | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
KR102275497B1 (ko) * | 2014-10-20 | 2021-07-09 | 삼성전자주식회사 | 전원 경로 제어기를 포함하는 시스템 온 칩 및 전자 기기 |
CN105912483B (zh) * | 2015-02-23 | 2019-06-21 | 东芝存储器株式会社 | 存储系统 |
JP6247247B2 (ja) * | 2015-04-10 | 2017-12-13 | ファナック株式会社 | 制御システム |
US10127165B2 (en) | 2015-07-16 | 2018-11-13 | Samsung Electronics Co., Ltd. | Memory system architecture including semi-network topology with shared output channels |
KR102651724B1 (ko) * | 2015-08-03 | 2024-03-28 | 삼성전자주식회사 | 무선 통신 시스템에서 채널 할당 장치 및 방법 |
US10198061B2 (en) * | 2015-09-01 | 2019-02-05 | Toshiba Memory Corporation | Storage and storage system |
KR102445390B1 (ko) * | 2015-09-02 | 2022-09-21 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
US10599349B2 (en) | 2015-09-11 | 2020-03-24 | Samsung Electronics Co., Ltd. | Method and apparatus of dynamic parallelism for controlling power consumption of SSDs |
US10241701B2 (en) | 2015-09-16 | 2019-03-26 | Samsung Electronics Co., Ltd. | Solid state memory system with power management mechanism and method of operation thereof |
US11216323B2 (en) | 2015-09-16 | 2022-01-04 | Samsung Electronics Co., Ltd. | Solid state memory system with low power error correction mechanism and method of operation thereof |
KR102280433B1 (ko) * | 2015-09-23 | 2021-07-22 | 삼성전자주식회사 | 전력 공급 회로 및 이를 포함하는 저장 장치 |
US10088884B2 (en) * | 2015-10-23 | 2018-10-02 | Nxp B.V. | Communications for power delivery solutions |
US10545548B2 (en) * | 2016-03-07 | 2020-01-28 | Toshiba Memory Corporation | Memory device and host device |
US10331352B2 (en) | 2016-06-06 | 2019-06-25 | Toshiba Memory Corporation | Dynamic processing of storage command based on internal operations of storage system |
KR101777660B1 (ko) * | 2016-10-25 | 2017-09-12 | 주식회사 티에스피글로벌 | 플래시 스토리지 디바이스 및 그 동작 제어 방법 |
KR20180074138A (ko) * | 2016-12-23 | 2018-07-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180085605A (ko) | 2017-01-19 | 2018-07-27 | 삼성전자주식회사 | 핸드쉐이크를 이용하여 메모리의 전력을 조절하는 시스템 온 칩 및 이의 동작 방법 |
KR20180106017A (ko) * | 2017-03-17 | 2018-10-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102462385B1 (ko) * | 2017-07-17 | 2022-11-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10192626B1 (en) | 2017-08-31 | 2019-01-29 | Micro Technology, Inc. | Responding to power loss |
US10096380B1 (en) | 2017-08-31 | 2018-10-09 | Micron Technology, Inc. | Erase page check |
US20190073020A1 (en) * | 2017-09-01 | 2019-03-07 | Intel Corporation | Dynamic memory offlining and voltage scaling |
JP6502538B1 (ja) * | 2018-01-24 | 2019-04-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および解析システム |
US11199967B2 (en) * | 2018-07-13 | 2021-12-14 | Micron Technology, Inc. | Techniques for power management using loopback |
JP2020013626A (ja) | 2018-07-20 | 2020-01-23 | キオクシア株式会社 | メモリシステム |
US10733104B2 (en) * | 2018-08-03 | 2020-08-04 | Micron Technology, Inc. | Fast non-volatile storage device recovery techniques |
KR102685565B1 (ko) * | 2018-11-07 | 2024-07-17 | 안천수 | 플래시 스토리지 검증 장치, 방법 및 시스템 |
JP7278753B2 (ja) * | 2018-11-19 | 2023-05-22 | キヤノン株式会社 | ソフトウェアの改ざんを検知することが可能な情報処理装置 |
CN111399613B (zh) * | 2018-12-14 | 2023-03-03 | 华为技术有限公司 | 一种存储装置以及电子设备 |
KR102601152B1 (ko) * | 2019-05-10 | 2023-11-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11016755B2 (en) * | 2019-07-31 | 2021-05-25 | Dell Products L.P. | System and method to secure embedded controller flashing process |
KR20210038189A (ko) * | 2019-09-30 | 2021-04-07 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11169587B2 (en) * | 2020-01-10 | 2021-11-09 | Micron Technology, Inc. | Feedback for power management of a memory die using a dedicated pin |
US11693798B2 (en) | 2020-07-10 | 2023-07-04 | Samsung Electronics Co., Ltd. | Layered ready status reporting structure |
US12019898B2 (en) * | 2020-09-30 | 2024-06-25 | Seagate Technology Llc | Data storage system with workload-based dynamic power consumption |
CN116324736A (zh) * | 2020-10-08 | 2023-06-23 | 索尼半导体解决方案公司 | 存储器控制电路、存储器以及存储器模块 |
KR20220067386A (ko) * | 2020-11-17 | 2022-05-24 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20230097169A (ko) | 2021-06-01 | 2023-06-30 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 메모리 시스템의 전력 관리 |
US12067240B2 (en) | 2022-09-30 | 2024-08-20 | Silicon Motion, Inc. | Flash memory scheme capable of automatically generating or removing dummy data portion of full page data by using flash memory device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06139140A (ja) * | 1990-12-31 | 1994-05-20 | Intel Corp | 不揮発性半導体メモリのファイル構造 |
JPH11242632A (ja) * | 1998-02-26 | 1999-09-07 | Hitachi Ltd | メモリ装置 |
JP2008217147A (ja) * | 2007-02-28 | 2008-09-18 | Toshiba Corp | メモリシステム |
JP2009146541A (ja) * | 2007-12-17 | 2009-07-02 | Fujitsu Microelectronics Ltd | システム装置およびシステム装置の動作方法 |
JP2009211153A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリ装置、情報処理装置及び電力制御方法 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0793499A (ja) | 1993-09-20 | 1995-04-07 | Hitachi Ltd | メモリカード |
JP3417630B2 (ja) * | 1993-12-17 | 2003-06-16 | 株式会社日立製作所 | 半導体集積回路装置とフラッシュメモリ及び不揮発性記憶装置 |
JPH08115597A (ja) * | 1994-10-17 | 1996-05-07 | Mitsubishi Electric Corp | 半導体ディスク装置 |
US6026014A (en) * | 1996-12-20 | 2000-02-15 | Hitachi, Ltd. | Nonvolatile semiconductor memory and read method |
JP3831040B2 (ja) | 1997-01-31 | 2006-10-11 | 株式会社ルネサステクノロジ | 半導体集積回路 |
JPH11296430A (ja) | 1998-04-08 | 1999-10-29 | Hitachi Ltd | 記憶装置およびフラッシュメモリ |
JPH11297086A (ja) | 1998-04-13 | 1999-10-29 | Hitachi Ltd | 不揮発性半導体メモリおよびそれを内蔵した半導体集積回路並びにメモリの書込み時間調整方法 |
US6434044B1 (en) | 2001-02-16 | 2002-08-13 | Sandisk Corporation | Method and system for generation and distribution of supply voltages in memory systems |
US6577535B2 (en) | 2001-02-16 | 2003-06-10 | Sandisk Corporation | Method and system for distributed power generation in multi-chip memory systems |
US6819620B2 (en) * | 2003-01-23 | 2004-11-16 | Ememory Technology Inc. | Power supply device with reduced power consumption |
US20050188231A1 (en) * | 2004-02-24 | 2005-08-25 | Lai Terng H. | Method and apparatus for indicating use state of SATA external storage device |
US20050223126A1 (en) * | 2004-03-31 | 2005-10-06 | Chu Li W | Buffer controller between memories and method for the same |
US7196940B1 (en) * | 2004-10-22 | 2007-03-27 | Xilinx, Inc. | Method and apparatus for a multiplexed address line driver |
US7392429B2 (en) * | 2004-12-22 | 2008-06-24 | Microsoft Corporation | System and method for maintaining persistent state data |
JP2007005776A (ja) | 2005-05-24 | 2007-01-11 | Toshiba Microelectronics Corp | 半導体装置 |
US7646621B2 (en) * | 2005-12-09 | 2010-01-12 | Acceler Optics, LLC | Programmable power supply |
US7702935B2 (en) * | 2006-01-25 | 2010-04-20 | Apple Inc. | Reporting flash memory operating voltages |
JP2008004196A (ja) | 2006-06-23 | 2008-01-10 | Toppan Printing Co Ltd | 半導体メモリ装置 |
US7368979B2 (en) | 2006-09-19 | 2008-05-06 | Sandisk Corporation | Implementation of output floating scheme for hv charge pumps |
US7646108B2 (en) | 2006-09-29 | 2010-01-12 | Intel Corporation | Multiple output voltage regulator |
US7581198B2 (en) * | 2006-10-07 | 2009-08-25 | Active-Semi, Inc. | Method and system for the modular design and layout of integrated circuits |
KR100875978B1 (ko) * | 2007-02-06 | 2008-12-26 | 삼성전자주식회사 | 메모리 카드 및 그것을 포함한 메모리 시스템 |
JP4996277B2 (ja) * | 2007-02-09 | 2012-08-08 | 株式会社東芝 | 半導体記憶システム |
US7876621B2 (en) * | 2007-04-23 | 2011-01-25 | Sandisk Il Ltd. | Adaptive dynamic reading of flash memories |
JP2009022909A (ja) | 2007-07-20 | 2009-02-05 | Chugoku Electric Power Co Inc:The | フレキシブルコンテナバッグ |
US11133350B2 (en) * | 2007-08-29 | 2021-09-28 | Texas Instruments Incorporated | Integrated circuit with thermoelectric power supply |
JP2009122909A (ja) | 2007-11-14 | 2009-06-04 | Toshiba Corp | メモリシステム |
US7813212B2 (en) * | 2008-01-17 | 2010-10-12 | Mosaid Technologies Incorporated | Nonvolatile memory having non-power of two memory capacity |
US8194433B2 (en) * | 2008-02-20 | 2012-06-05 | Ovonyx, Inc. | Method and apparatus for accessing a bidirectional memory |
US20090231248A1 (en) * | 2008-03-14 | 2009-09-17 | Palm, Inc. | Apparatus and methods for configuring the color of a mobile computing device cover |
US7893701B2 (en) * | 2008-05-05 | 2011-02-22 | Formfactor, Inc. | Method and apparatus for enhanced probe card architecture |
WO2010011534A1 (en) * | 2008-07-23 | 2010-01-28 | Rambus Inc. | Reconfigurable memory controller |
JP5489434B2 (ja) * | 2008-08-25 | 2014-05-14 | 株式会社日立製作所 | フラッシュメモリ搭載ストレージ装置 |
US20100138684A1 (en) * | 2008-12-02 | 2010-06-03 | International Business Machines Corporation | Memory system with dynamic supply voltage scaling |
US8549329B2 (en) * | 2008-12-31 | 2013-10-01 | Intel Corporation | System power management using memory throttle signal |
WO2010123681A2 (en) * | 2009-04-22 | 2010-10-28 | Rambus Inc. | Protocol for refresh between a memory controller and a memory device |
JP2010267341A (ja) * | 2009-05-15 | 2010-11-25 | Renesas Electronics Corp | 半導体装置 |
JP2011009496A (ja) * | 2009-06-26 | 2011-01-13 | Elpida Memory Inc | 半導体装置 |
US8892931B2 (en) * | 2009-10-20 | 2014-11-18 | Empire Technology Development Llc | Power channel monitor for a multicore processor |
US9251005B2 (en) * | 2010-12-20 | 2016-02-02 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power isolation for memory backup |
-
2011
- 2011-06-23 WO PCT/JP2011/003581 patent/WO2012001917A1/ja active Application Filing
- 2011-06-23 JP JP2012522450A patent/JP5596143B2/ja not_active Expired - Fee Related
-
2012
- 2012-12-31 US US13/732,089 patent/US9405671B2/en not_active Expired - Fee Related
-
2013
- 2013-07-11 US US13/940,161 patent/US9898403B2/en active Active
-
2014
- 2014-07-10 JP JP2014142354A patent/JP5856246B2/ja not_active Expired - Fee Related
-
2018
- 2018-01-10 US US15/867,429 patent/US20180129601A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06139140A (ja) * | 1990-12-31 | 1994-05-20 | Intel Corp | 不揮発性半導体メモリのファイル構造 |
JPH11242632A (ja) * | 1998-02-26 | 1999-09-07 | Hitachi Ltd | メモリ装置 |
JP2008217147A (ja) * | 2007-02-28 | 2008-09-18 | Toshiba Corp | メモリシステム |
JP2009146541A (ja) * | 2007-12-17 | 2009-07-02 | Fujitsu Microelectronics Ltd | システム装置およびシステム装置の動作方法 |
JP2009211153A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリ装置、情報処理装置及び電力制御方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198861A (zh) * | 2012-01-06 | 2013-07-10 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与控制方法 |
CN103198861B (zh) * | 2012-01-06 | 2016-08-24 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与控制方法 |
US20130290611A1 (en) * | 2012-03-23 | 2013-10-31 | Violin Memory Inc. | Power management in a flash memory |
JP2014146390A (ja) * | 2013-01-28 | 2014-08-14 | Rohm Co Ltd | 半導体記憶装置 |
JP2017045394A (ja) * | 2015-08-28 | 2017-03-02 | 株式会社東芝 | メモリシステム |
US10289482B2 (en) | 2015-08-28 | 2019-05-14 | Toshiba Memory Corporation | Memory device that updates parameters transmitted to a host based on operational settings |
JP2017117055A (ja) * | 2015-12-22 | 2017-06-29 | 株式会社東芝 | メモリシステムおよび制御方法 |
JP2017117054A (ja) * | 2015-12-22 | 2017-06-29 | 株式会社東芝 | メモリシステムおよび制御方法 |
KR20170115287A (ko) * | 2016-04-07 | 2017-10-17 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
KR102532528B1 (ko) * | 2016-04-07 | 2023-05-17 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
JP2018036795A (ja) * | 2016-08-30 | 2018-03-08 | 東芝メモリ株式会社 | メモリシステム |
US11567701B2 (en) | 2019-04-30 | 2023-01-31 | Yangtze Memory Technologies Co., Ltd. | Electronic apparatus and method of managing read levels of flash memory |
US11016705B2 (en) | 2019-04-30 | 2021-05-25 | Yangtze Memory Technologies Co., Ltd. | Electronic apparatus and method of managing read levels of flash memory |
TWI693601B (zh) * | 2019-04-30 | 2020-05-11 | 大陸商長江存儲科技有限責任公司 | 電子設備和管理快閃記憶體的讀取準位的方法 |
JP2019149197A (ja) * | 2019-05-09 | 2019-09-05 | 東芝メモリ株式会社 | メモリシステムの制御方法 |
JP2023518242A (ja) * | 2020-03-17 | 2023-04-28 | マイクロン テクノロジー,インク. | メモリサブシステムにおける作業負荷レベルに基づく電力モードの設定 |
JP7520994B2 (ja) | 2020-03-17 | 2024-07-23 | マイクロン テクノロジー,インク. | メモリサブシステムにおける作業負荷レベルに基づく電力モードの設定 |
US11816344B2 (en) | 2020-12-16 | 2023-11-14 | Kioxia Corporation | Memory system in which information on a time in which integrity of a stored data piece is confirmed last |
TWI795834B (zh) * | 2021-03-18 | 2023-03-11 | 日商鎧俠股份有限公司 | 電壓產生電路及半導體裝置 |
US20230010785A1 (en) * | 2021-07-08 | 2023-01-12 | Kioxia Corporation | Memory system, control method, and power control circuit |
US20230008376A1 (en) * | 2021-07-08 | 2023-01-12 | Kioxia Corporation | Memory system, control method, and power control circuit |
US12027196B2 (en) * | 2021-07-08 | 2024-07-02 | Kioxia Corporation | Memory system, control method, and power control circuit |
Also Published As
Publication number | Publication date |
---|---|
US9405671B2 (en) | 2016-08-02 |
US20130124888A1 (en) | 2013-05-16 |
JP2014232540A (ja) | 2014-12-11 |
JP5856246B2 (ja) | 2016-02-09 |
JPWO2012001917A1 (ja) | 2013-08-22 |
JP5596143B2 (ja) | 2014-09-24 |
US20130336067A1 (en) | 2013-12-19 |
US9898403B2 (en) | 2018-02-20 |
US20180129601A1 (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5856246B2 (ja) | 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 | |
US7554311B2 (en) | Hybrid charge pump regulation | |
KR101484557B1 (ko) | 전압 발생부 및 이를 포함하는 메모리 장치 | |
US6724241B1 (en) | Variable charge pump circuit with dynamic load | |
US7366019B2 (en) | Nonvolatile memory | |
CN107735837B (zh) | 非易失性存储器设备的低待机功率与快速开启 | |
KR20030087979A (ko) | 반도체집적회로, 전원회로 및 정보기록매체 | |
US10296062B2 (en) | Dynamic control of power consumption based on memory device activity | |
US10218166B2 (en) | System and method for dynamic monitoring of controller current consumption | |
US11487343B2 (en) | Semiconductor storing apparatus and flash memory operation method | |
JP5808937B2 (ja) | 半導体メモリの内部電源電圧生成回路及び内部電源電圧生成方法 | |
CN111522587B (zh) | 电子装置及装置唤醒方法 | |
KR101998219B1 (ko) | 보조 전원 장치 및 그것을 포함하는 사용자 시스템 | |
KR102628764B1 (ko) | 메모리 서브 시스템 전력 사이클링을 위한 전력 관리 구성 요소 | |
TWI779641B (zh) | 斷電檢測電路及半導體儲存裝置 | |
JP2009129470A (ja) | 半導体記憶装置 | |
JP5385220B2 (ja) | 不揮発性メモリ、データ処理装置、及びマイクロコンピュータ応用システム | |
CN112783806B (zh) | 一种ssd数据存储下电控制装置及方法 | |
US11875042B2 (en) | Memory system and control method for controlling charging capacitor of a power supply circuit | |
US11941269B2 (en) | Data storage device with enhanced power mode management | |
CN117711450A (zh) | 半导体器件及其操作方法以及存储系统 | |
JP2010192023A (ja) | 強誘電体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11800389 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012522450 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11800389 Country of ref document: EP Kind code of ref document: A1 |