WO2015155860A1 - 情報記憶装置及び情報記憶装置の制御方法 - Google Patents

情報記憶装置及び情報記憶装置の制御方法 Download PDF

Info

Publication number
WO2015155860A1
WO2015155860A1 PCT/JP2014/060342 JP2014060342W WO2015155860A1 WO 2015155860 A1 WO2015155860 A1 WO 2015155860A1 JP 2014060342 W JP2014060342 W JP 2014060342W WO 2015155860 A1 WO2015155860 A1 WO 2015155860A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
write
information
erase
storage device
Prior art date
Application number
PCT/JP2014/060342
Other languages
English (en)
French (fr)
Inventor
真生 濱本
山岡 雅直
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/060342 priority Critical patent/WO2015155860A1/ja
Publication of WO2015155860A1 publication Critical patent/WO2015155860A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable

Definitions

  • the present invention relates to an information storage device using a nonvolatile memory device and an information storage device control method, and is suitable for application to an information storage device and an information storage device control method that improve the number of rewritable times.
  • a nonvolatile memory device that stores digital information
  • a NAND flash memory hereinafter simply referred to as a flash memory.
  • the flash memory has been used for various applications due to the increase in capacity thereof with the miniaturization of the semiconductor.
  • erase / write operation Data erase operation and write operation (hereinafter abbreviated as erase / write operation) to the flash memory are realized by injecting or emitting electrons to the floating gate by applying a high voltage between the substrate and the control gate. .
  • the flash memory has the characteristics that, if the erase / write operation is performed many times, the gate insulating film near the floating gate deteriorates, the reliability of the flash memory decreases, and normal data storage becomes impossible. This decrease in reliability tends to occur with a smaller number of erase / writes as a finer semiconductor process is used. Therefore, there is a big problem in increasing the capacity due to future miniaturization and using flash memory in various applications. It has become.
  • Patent Document 1 discloses a verify read voltage (hereinafter simply referred to as a verify voltage) in a verify read operation (hereinafter simply referred to as a verify operation) or a basis for an erase / write operation depending on the degree of deterioration of the flash memory.
  • a verify voltage hereinafter simply referred to as a verify voltage
  • a verify operation a verify read operation
  • a verify operation a verify operation
  • the voltage applied between the control gates also referred to as erase voltage and write voltage
  • the guaranteed period of data retention required for an information storage device composed of a non-volatile memory such as a flash memory differs depending on the application method and usage pattern. For example, when a flash memory is used as a storage for replacing a hard disk such as SSD (Solid State Drive), a warranty period of about 1 to 3 months is required. On the other hand, when a flash memory is used as a large-capacity memory that replaces a DRAM (Dynamic Random Access Memory), a lot of data only needs to be guaranteed for a retention period of one day or less.
  • the present invention has been made in consideration of the above points, and is an information storage device capable of changing a setting value relating to data erasure or data writing of a flash memory in accordance with a write data holding period requested from a host computer. And an information storage device control method.
  • a control unit that controls an erase operation or a write operation of data to a nonvolatile memory, a nonvolatile memory module having one or more nonvolatile memories, and data from a host computer
  • an input / output unit that receives guarantee period information indicating a guarantee period of the non-volatile memory in the erase operation or the write operation based on the guarantee period information of the data.
  • An information storage device is provided that is characterized by determining a condition.
  • the information storage device determines the threshold condition in the verify operation of the nonvolatile memory based on the data retention period information provided from the host computer. Thereby, the information storage device changes the erase verify voltage in the erase operation of the flash memory or the write verify voltage in the write operation so that the retention period of the data written in the storage cell approaches the required retention period, Data can be written with a minimum stress necessary for retaining data for a predetermined period, deterioration of a memory cell of the nonvolatile memory can be suppressed, and the number of rewritable times can be improved.
  • data can be written with a minimum stress necessary for retaining data for a predetermined period. Therefore, it is possible to reduce stress on a memory cell at the time of erasing and writing of a flash memory. Thus, the number of times the flash memory can be rewritten can be improved.
  • FIG. 1 is a block diagram illustrating a configuration of an information storage device according to a first embodiment of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a flash memory unit according to the same embodiment. It is a chart which shows an example of the block status information concerning the embodiment. It is a chart showing an example of a data arrangement availability determination table according to the embodiment. 4 is a chart showing an example of an erasure / write setting determination table according to the embodiment. 4 is a chart showing an example of a verify voltage determination table according to the same embodiment. It is a graph which shows an example of the applied voltage determination table concerning the embodiment. It is a flowchart explaining the write-in process of the control part concerning the embodiment.
  • FIG. 5 is a flowchart for explaining an erasing operation according to the embodiment. It is a flowchart explaining write-in operation concerning the embodiment. It is a figure explaining the time passage characteristic of the threshold distribution of the memory cell concerning the embodiment. It is a figure explaining the principle which improves the rewritable number of times concerning the embodiment.
  • FIG. 2 is a block diagram showing a configuration of a flash memory unit according to the same embodiment. It is a chart which shows an example of the fail bit number threshold value determination table concerning the embodiment.
  • 4 is a flowchart for explaining an erasing operation of the flash memory unit according to the embodiment.
  • 4 is a flowchart illustrating a write operation of the flash memory unit according to the same embodiment. It is a figure explaining the influence of the fail bit in the verify operation
  • It is a block diagram which shows the structure of the information storage device which concerns on the 3rd Embodiment of this invention. It is a chart which shows an example of the block status information concerning the embodiment. It is a flowchart explaining the write-in process of the control part concerning the embodiment.
  • the nonvolatile memory of the present invention is applied to a flash memory.
  • FIG. 12 shows a schematic diagram of the threshold voltage distribution of the memory cell of the flash memory.
  • the graph of FIG. 12 shows how the threshold voltage distribution in a predetermined number of memory cells changes over time.
  • the horizontal axis represents the value of the threshold voltage Vth of the memory cell
  • the vertical axis represents the number of memory cells corresponding to each value of the threshold voltage Vth.
  • the predetermined unit number is a size called a page (for example, 2 kbytes) that is the minimum unit of the flash memory write operation and read operation, or a block (for example, 256 kbytes) that is the minimum unit of the erase operation.
  • a block is configured as a set of a plurality of pages.
  • (A) shows the threshold voltage distribution of the memory cell when the write operation is completed.
  • Vrd is a read reference voltage. In the read operation, whether the data held in the memory cell is “0” or “1” is determined depending on whether the threshold voltage Vth of the memory cell is larger or smaller than Vrd.
  • Vev is an erase verify voltage. In the erase operation in which the threshold voltage of the memory cell is gradually lowered, it is determined that the data erase operation in the memory cell is successful when the threshold voltage becomes lower than Vev. Is done.
  • Vpv is a write verify voltage, and in a write operation in which the threshold voltage of a memory cell to which “0” is to be written is gradually increased, when the threshold voltage becomes higher than Vpv, the write operation in the memory cell is successful. It is determined that
  • the threshold voltage Vth of the memory cell at the completion of the write operation is distributed in a region of Vth ⁇ Vev or Vth> Vpv (however, Vev ⁇ Vrd ⁇ Vpv).
  • (B) shows an example of the threshold voltage distribution of the memory cell after a predetermined time has elapsed.
  • a predetermined time elapses after completion of the data write operation
  • electrons injected into the floating gate by the data write operation are discharged, and the threshold voltage Vth decreases.
  • electrons flow into the floating gate from which electrons have been released by the erasing operation due to a data write operation or a data read operation to an adjacent memory cell, and the threshold voltage Vth increases.
  • the difference from the threshold voltage of the memory cell having the largest threshold voltage becomes small.
  • the threshold voltage of the memory cell written with “0” becomes smaller than Vrd, or when the threshold voltage of the memory cell written with “1” becomes larger than Vrd, it means that the stored data is damaged. .
  • Vpv and Vrd also referred to as a margin
  • Vrd and Vev need to be set to a sufficient size to hold the stored data for a predetermined period. That is, the difference between Vpv and Vev needs to be set to a size capable of holding the stored data in the maximum holding period assumed as a usage pattern of the flash memory.
  • the information storage device 10 performs control to set the difference between Vpv and Vev as small as possible by obtaining the request holding period information from the host computer.
  • the request retention period means a retention period of write data requested by the host computer 101 to the information storage device 10, that is, a guarantee period of write data.
  • the information including the request holding period will be described as request holding period information.
  • FIG. 13 is a schematic diagram showing a verification voltage control method in the information storage device 10.
  • Graph (a) shows the relationship between the erase verify voltage Vev (1d) and the write verify voltage Vpv (1d) and the read reference voltage Vrd (1d) when the required holding period is one day.
  • the verify voltages Vpv (1d) and Vev (1d) are set so that the stored data can be held for one day and the difference between Vpv (1d) and Vev (1d) is as small as possible. .
  • Graph (b) shows the relationship between the erase verify voltage Vev (30d) and the write verify voltage Vpv (30d) and the read reference voltage Vrd (30d) when the required holding period is 30 days.
  • 30d) and Vev (30d) are set so that the stored data can be retained for 30 days and the difference between Vpv (30d) and Vev (30d) is as small as possible.
  • the information storage device 10 sets the verify voltage so that the difference between Vpv (1d) and Vev (1d) is smaller than the difference between Vpv (30d) and Vev (30d). That is, the verify voltage is set so that the difference between Vpv and Vev becomes smaller as the request holding period is shorter. As the difference between Vpv and Vev is smaller, the stress on the memory cell in the erase operation and the write operation of the flash memory can be reduced, so that deterioration of the memory cell can be suppressed and the number of rewritable times can be improved.
  • SLC single-level cell
  • MLC multi-level cell
  • the SLC has one write verify voltage
  • the MLC has two or more write verify voltages. Therefore, when storing data having a short request holding period, the stress on the memory cell can be reduced by setting the verify voltage so that the difference between the erase verify voltages becomes small for one or more write verify voltages. it can. That is, the information storage device 10 including the MLC sets the verify voltage so that the difference between the largest program verify voltage and the erase verify voltage among the plurality of program verify voltages decreases as the data request holding period is shorter. Thus, deterioration of the memory cell can be suppressed and the number of rewritable times can be improved.
  • the information storage device 10 sets the average difference between Vpv and Vev as small as possible using the request holding period information based on the above principle. Thereby, deterioration of the memory cell can be suppressed and the number of rewritable times can be improved. Further, the fact that the average potential difference between Vpv and Vev can be made smaller than before contributes to improving the average writing speed.
  • the change amount of Vth of the memory cell per unit time in the write operation and the erase operation has a feature that it increases as the absolute value of the voltage applied between the base and the control gate increases, and decreases as it decreases.
  • a control is applied to reduce the voltage applied between the base and the control gate in the writing operation and the erasing operation when the required holding period is short and increase when the required holding period is long.
  • the voltage applied to the memory cell is changed so that the time required for the write operation and the erase operation matches the predetermined target value.
  • the writing speed and the erasing speed are the same as the conventional one, but the stress on the memory cell during the writing operation and the erasing operation is larger than when the applied voltage between the substrate and the control gate is a predetermined fixed value. Can be further reduced. That is, when the applied voltage between the base and the control gate is changed based on the information on the required holding period, and the control is performed so that the write operation time and the erase operation time are constant, the stress on the memory cell can be further reduced. Thus, the number of rewritable times can be further improved.
  • the information storage device 10 is a device that stores data input in response to a data write request from the host computer 101 and outputs stored data in response to a data read request. As shown in FIG. 1, the information storage device 10 includes an input / output unit 110, a management information storage unit 120, a control unit 130, a flash memory unit 140, and the like.
  • the input / output unit 110 is a module for the information storage device 10 to communicate with an external device, and communicates with the host computer 101. Specifically, the input / output unit 110 receives the request holding period information 181 for the data together with the write data from the host computer 101 and provides it to the control unit 130.
  • the management information storage unit 120 is a storage module configured by a DRAM or the like, and includes block state information 121, a data arrangement availability determination table 122, and an erase / write setting determination table 123.
  • the block state information 121 is information in which the state of the storage area in the flash memory unit 140 is recorded for each predetermined unit.
  • the predetermined unit will be described as a block.
  • the block state information 121 includes a block number 1210, an erase / write count 1211, an erasable flag 1212, a deterioration level 1213, and an erase / write setting 1214.
  • the block number 1210 is a number for identifying a block, and is information indicated by an address in the flash memory unit 140 or the like.
  • the erase / write count 1211 is information indicating the data erase count or the data write count in the target block.
  • the erasable flag 1212 is information indicating whether or not the data stored in the target block may be erased, and is given from the host computer 101.
  • the degradation level 1213 is information indicating the degradation level of the memory cell included in the block. In this embodiment, the greater the value, the greater the degradation level.
  • the deterioration level 1213 can be determined, for example, by comparing the number of times of erasing / writing in the target block with the relationship between the number of times of erasing data in the flash memory and the degree of deterioration obtained by a prior experiment.
  • the erase / write setting 1214 is information indicating setting parameters for the data erase operation and the data write operation applied to the target block.
  • the data arrangement availability determination table 122 is a table used for determining whether or not the write data sent from the host computer 101 can be written to a block that is a write destination candidate in the flash memory unit 140. is there.
  • the data arrangement availability determination table 122 includes a request holding period 1220 corresponding to the request holding period information 181 and a deterioration level 1221 of the target block.
  • the information on the request holding period 1220 and the information on the degradation level 1221 of the target block can be used to determine whether or not data arrangement is possible.
  • FIG. 4 shows an example in which it is possible to determine that if the request holding period is 1 day, the target block can be placed if the degradation level is 2, but cannot be placed if the degradation level is 3. Yes.
  • Information in the data arrangement availability determination table 122 can be created based on prior experimental data.
  • the erase / write setting determination table 123 is a table that is referred to in order to determine parameters to be applied when performing a data erase operation and a data write operation on the flash memory unit 140.
  • the erase / write setting determination table 123 includes a degradation level 1230, a request holding period 1231 corresponding to the request holding period information 181 and an erase / write setting 1232. Using the information on the deterioration level 1230 of the block to be operated and the information on the request holding period 1231, it is possible to obtain the erase / write setting to the block to be operated.
  • the erase / write setting is 2 if the request retention period is 1 day, and the erase / write setting is 3 if the request retention period is 30 days.
  • An example is shown.
  • different erase / write settings are applied according to the deterioration level even if the request holding period is the same. This is because the ease of electron injection into the floating gate and the emission of electrons from the floating gate vary depending on the degree of deterioration of the gate insulating film, that is, the ease with which the threshold voltage of the memory cell changes.
  • the description will be given using the verify voltage and the voltage applied between the base and the control gate in the erase operation and the write operation (hereinafter, expressed as the erase voltage and the write voltage, respectively) as the set parameters.
  • the voltage application time between the substrate and the control gate during the erase operation or the write operation may be used as a parameter.
  • control unit 130 is a module that writes data to and reads data from the flash memory unit 140 in response to a request from the host computer 101.
  • the control unit 130 includes a write destination block determination unit 131, an erase / write setting determination unit 132, and a block state information update unit 133. It also has a function (not shown) for performing error correction encoding processing and decoding processing.
  • the write destination block determining means 131 is a means for determining in which block of the flash memory unit 140 the data requested to be written is to be written.
  • the erasing / writing setting determining unit 132 is a unit for determining parameters to be applied when performing a data erasing operation and a data writing operation on the flash memory unit 140.
  • the block state information update unit 133 is a unit for updating the deterioration level and erase / write setting information of the block state information 121.
  • control unit 130 transmits erase / write setting information 182 to the flash memory unit 140.
  • the flash memory unit 140 is a module (corresponding to the nonvolatile memory module of the present invention) that stores data configured as an integrated circuit chip of a flash memory. As shown in FIG. 2, the input buffer unit 210, the memory unit 220, and the like. A logic unit 230, a memory driving unit 240, and a data input / output buffer unit 250.
  • the input buffer unit 210 is a module that receives an address signal and a control signal from the control unit 130, outputs the address signal to the memory unit 220, and outputs the control signal to the logic unit 230.
  • the logic unit 230 outputs a signal for performing an erasing operation, a writing operation, and a reading operation to the memory unit 220 based on the control signal input from the input buffer unit 210 to the memory driving unit 240, and outputs the signal to the memory unit 220.
  • This module performs a verify process for determining whether or not the erase operation and the write operation are successful.
  • the write target data necessary for the write operation and the read data necessary for the verify process are input from the data input / output buffer unit 250.
  • the logic unit 230 includes a register 231, a verify voltage determination table 142, and an applied voltage determination table 143.
  • the verify voltage determination table 142 is a table that is referred to in order to determine a verify voltage in the verify process. As shown in FIG. 6, the verify voltage determination table 142 includes an erase / write setting 1420, an erase verify voltage 1421, and a write verify voltage 1422.
  • the erase verify voltage 1421 is a verify voltage (corresponding to Vev in FIG. 12) at the time of a verify read operation in the erase operation.
  • the write verify voltage 1422 is a verify voltage (corresponding to Vpv in FIG. 12) at the verify read operation in the write operation.
  • FIG. 6 shows an example in which when the erase / write setting is 2, the erase verify voltage is set to Vev2 and the write verify voltage is set to Vpv2.
  • the applied voltage determination table 143 is a table that is referred to in order to determine the erase voltage and the write voltage.
  • the applied voltage determination table 143 includes an erase / write setting 1430, an erase voltage 1431, and a write voltage 1432.
  • the erase voltage 1431 is a voltage value applied between the base and the control gate in the erase operation
  • the write voltage 1432 is a voltage value applied between the base and the control gate in the write operation.
  • FIG. 7 shows an example in which, for example, when the erase / write setting is 2, the erase voltage is set to Vers2 and the write voltage is set to Vprg2.
  • the verify voltage determination table 142 and the applied voltage determination table 143 can be created based on prior experimental data.
  • the logic unit 230 includes a register 231 that stores the erase / write setting information 182 included in the control signal. Based on the erase / write setting information 182, an applied voltage (that is, an erase operation and a write operation) Erase voltage and write voltage) and the verify voltage in the verify operation are changed.
  • an applied voltage that is, an erase operation and a write operation
  • Erase voltage and write voltage Erase voltage and write voltage
  • the memory driving unit 240 is a module that generates and supplies a voltage for driving the memory unit 220 in accordance with a signal input from the logic unit 230, and includes a verify voltage changing unit 144 and an applied voltage changing unit 145.
  • the memory unit 220 is a module that performs data erasure, data writing, and data reading on the memory cell at the address indicated by the address signal input from the input buffer unit 210, based on the signal from the memory driving unit 240. Data read from the memory unit 220 is output to the data input / output buffer unit 250.
  • the data input / output buffer unit 250 is an input / output interface that transmits / receives data to / from the control unit 130 when inputting / outputting write data and read data (corresponding to the data signal in FIG. 2), and outputs the data to the logic unit 230.
  • This module has a function to
  • FIG. 8 is a flowchart illustrating an example of the data write operation of the control unit 130 of the information storage device 10.
  • the information storage device 10 receives write data (S801). Specifically, write data and request holding period information 181 are transmitted from the host computer 101 to the information storage device 10, and the input / output unit 110 receives them and outputs them to the control unit 130. Then, the control unit 130 receives the write data and the request holding period information 181 from the input / output unit 110.
  • control unit 130 executes a write destination block determination process (S802). Specifically, the control unit 130 uses the request holding period information 181, the block state information 121, the data arrangement availability determination table 122, and the write destination block determination unit 131 to determine a write destination block for the write data.
  • the control unit 130 first determines a block that is a write destination candidate (S901).
  • a block that can be erased and has the smallest erase / write count is set as the write destination candidate. The method of doing is mentioned.
  • control unit 130 can write to the write destination candidate block using the deterioration level of the write destination candidate block in the block state information 121, the request holding period information 181 and the data arrangement availability determination table 122, that is, Then, it is determined whether data arrangement is possible (S902).
  • step S902 If it is determined in step S902 that data arrangement is possible, the control unit 130 determines a write destination block. On the other hand, when it is determined in step S902 that the data arrangement is impossible, the control unit 130 determines whether there is another write destination candidate block (S910).
  • step S910 When it is determined in step S910 that there is another write destination candidate block, the control unit 130 excludes the write destination candidate block determined immediately before from the candidate block (S911), and again writes the write destination candidate block. A determination process (S901) is executed. If it is determined that there is no other write destination candidate block, the control unit 130 outputs an error message to the host computer 101 (S920), and ends the write destination block determination process (step 802S).
  • control unit 130 executes an erasure / write setting determination process (S803).
  • the setting parameters for the erase operation and the write operation in the flash memory unit 140 are determined using the request holding period information 181, the block state information 121, and the erase / write setting determination table 123. More specifically, by referring to the erasure / write setting determination table 123 using the information on the deterioration level of the write destination block in the request holding period information 181 and the block state information 121, the erasure / write in the write data is performed. Determine the settings.
  • control unit 130 issues an erase command (S804).
  • control unit 130 transmits to the flash memory unit 140 a command for executing an erase operation including the erase / write setting information 182 determined in step S803.
  • control unit 130 receives an erasure completion notification from the flash memory unit 140 (S805).
  • step S806 a command for executing a write operation and write data including the erase / write setting information 182 determined in step S803 are transmitted to the flash memory unit 140.
  • control unit 130 receives a write completion notification indicating that the write operation has been completed from the flash memory unit 140 (S807).
  • control unit 130 determines whether writing has been completed for all data provided from the host computer 101 (S808). If it is determined in step S808 that writing of all data has not been completed, the control unit 130 repeats the processing from step S806.
  • step S808 if it is determined in step S808 that all data has been written, the control unit 130 updates the block state information (S810).
  • step S810 the control unit 130 updates the erase / write count and erase / write setting values in the block state information 121 using the applied erase / write setting information 182.
  • FIG. 10 shows a flowchart in the erase operation of the flash memory unit 140.
  • the flash memory unit 140 receives a command from the control unit 130 (S1001). Specifically, the flash memory unit 140 receives an erase command including the erase / write setting information 182 from the control unit 130 and stores the erase / write setting information 182 in the register 231.
  • the flash memory unit 140 sets an erase parameter (S1002). Specifically, the logic unit 230 uses the erase / write setting information 182, the verify voltage determination table 142, and the applied voltage determination table 143 to determine parameters for the erase operation including the erase verify voltage and the erase voltage.
  • the flash memory unit 140 executes a block erase operation (S1003). Specifically, the logic unit 230 outputs a setting parameter 291 including information on the erasing voltage to the memory driving unit 240, and the memory driving unit 240 drives the memory unit 220 based on the setting parameter 291 to perform a block erasing operation. .
  • the flash memory unit 140 performs a verify read process (S1004). Specifically, the logic unit 230 outputs a setting parameter 291 including information on the erase verify voltage to the memory driving unit 240, and the memory driving unit 240 drives the memory unit 220 based on the setting parameter 291 to perform a verify read process. .
  • the flash memory unit 140 performs data comparison (S1005). Specifically, the data read by the logic unit 230 is compared with data having all bits of “1”, and the number of bits that do not match (the number of fail bits) is measured.
  • step S1006 determines whether the number of fail bits measured in step S1005 is equal to or less than a predetermined threshold (S1006).
  • a predetermined threshold for example, 0
  • step S1006 when the number of fail bits is equal to or less than a predetermined threshold (eg, 0) in step S1006, the flash memory unit 140 outputs a notification indicating the completion of erasure to the control unit 130 (S1010), and performs the erasure operation. Complete.
  • a predetermined threshold eg, 0
  • FIG. 11 is a flowchart showing an example of the write operation of the flash memory unit 140.
  • the flash memory unit 140 receives a write command and write data including the erase / write setting information 182 from the control unit 130, and stores the erase / write setting information 182 in the register 231 (S1101). ).
  • the flash memory unit 140 sets a write parameter (S1102). Specifically, the logic unit 230 uses the erase / write setting information 182, the verify voltage determination table 142, and the applied voltage determination table 143 to determine parameters for the write operation including the write verify voltage and the write voltage.
  • the flash memory unit 140 executes a data write operation (S1103). Specifically, the logic unit 230 outputs a setting parameter 291 including information on write data and a write voltage to the memory driving unit 240, and the memory driving unit 240 drives the memory unit 220 based on the setting parameter 291 to perform the writing operation. Do.
  • the flash memory unit 140 performs a verify read process (S1104). Specifically, the logic unit 230 outputs a setting parameter 291 including information on the write verify voltage to the memory driving unit 240, and the memory driving unit 240 drives the memory unit 220 based on the setting parameter 291 to perform a verify read process. .
  • the flash memory unit 140 performs data comparison (S1105). Specifically, the logic unit 230 compares the read data with the write data, and measures the number of fail bits.
  • step S1106 when the number of fail bits is equal to or less than a predetermined threshold (S, for example, 0), the processes after step S1103 are repeated.
  • a predetermined threshold S, for example, 0
  • step S1106 when the number of fail bits is equal to or less than a predetermined threshold (eg, 0) in step S1106, the flash memory unit 140 outputs a notification indicating the completion of the write operation to the control unit 130 (S1110), and the write operation To complete.
  • a predetermined threshold eg, 0
  • the information storage device 10 can suppress the deterioration due to the erase operation and the write operation of the flash memory, and can realize the improvement in the number of rewritable times.
  • the control unit 130 transmits a read command including the erase / write setting information 182 of the read target block to the flash memory unit 140, and the flash memory unit 140 corresponds to the erase / write setting information 182.
  • the control unit 130 transmits a read command including the erase / write setting information 182 of the read target block to the flash memory unit 140, and the flash memory unit 140 corresponds to the erase / write setting information 182.
  • the implementation form in which the erase operation and the write operation are executed with separate commands in the operations of the control unit 130 and the flash memory unit 140 is not limited to this example.
  • the write operation includes the erase operation, that is, the flash memory unit 140 executes the erase operation before the write operation only by the control unit 130 transmitting a write command to the flash memory unit 140. It may be implemented.
  • the configuration example in which the erase / write setting determination table 123 is arranged in the management information storage unit 120 and the erase / write setting decision unit 132 is arranged in the control unit 130 is shown.
  • the means may be arranged in the logic unit 230 of the flash memory unit 140. That is, a mounting form in which the logic unit 230 has a part of the functions of the control unit 130 and a mounting form in which the control unit 130 has a part of the functions of the logic unit 230 are possible.
  • the flash memory unit 140 is handled as one integrated circuit chip. However, a mounting form in which the information storage device 10 is one integrated circuit chip is also possible.
  • the information storage device 20 suppresses the deterioration of the flash memory and increases the number of rewritable times will be described.
  • FIG. 19 shows a schematic diagram of the threshold voltage distribution of the memory cell of the flash memory.
  • Vrd, Vev, and Vpv are a read reference voltage, an erase verify voltage, and a write verify voltage, respectively.
  • Graph (a) shows the threshold voltage distribution at the completion of the write operation, and shows that the threshold voltage Vth of some memory cells at the completion of the write operation is distributed in the region of Vev ⁇ Vth ⁇ Vpv. It is not guaranteed whether the data of the memory cell existing in this area is read as “0” or “1” during the read operation.
  • ECC Error Correction code
  • (B) shows an example of the threshold voltage distribution of the memory cell after a predetermined time has elapsed.
  • the threshold voltage Vth of the memory cell changes due to effects such as inflow or outflow of electrons in the floating gate.
  • the greater the elapsed time the higher the probability that a memory cell having corrupted data will occur.
  • the ECC of the flash memory is required to have the ability to correct data when the maximum time assumed as a usage pattern has elapsed.
  • the information storage device stores the data.
  • the following formula (1) is established as a condition for correcting and reading correctly.
  • Nreb is a fixed value.
  • Necc is also a fixed value for each flash memory, and Npfb is also a fixed value.
  • Nreb in the formula (1) can be made variable, and the value is made as small as possible.
  • Npfb can be made as large as possible.
  • FIG. 20 is a schematic diagram showing an Npbf control method in the information storage device 20.
  • Graph (a) shows the number of fail bits Npfb (1d) when the write operation is completed when the request holding period is one day.
  • Graph (b) shows the number of fail bits Npfb (30d) when the write operation is completed when the request holding period is 30 days.
  • the information storage device 20 sets Npfb (1d) to a value larger than Npfb (30d). That is, Npfb is set to a larger value as the request holding period is shorter. Thereby, it is possible to increase the average value of the number of fail bits in the verify operation during the data erasing operation and the data writing operation as compared with the conventional case, and the erasing / writing operation can be completed at an earlier stage than before. In other words, since the number or period of voltage application to the memory cell during the erase / write operation can be reduced, the deterioration of the memory cell can be suppressed and the number of rewritable times can be improved.
  • the information storage device 20 sets Npfb as large as possible using the request holding period information using the above principle. Thereby, deterioration of the memory cell can be suppressed and the number of rewritable times can be improved.
  • the ability to increase the average value of Npfb as compared with the prior art also contributes to improving the average writing speed.
  • the information storage device 20 includes an input / output unit 110, a management information storage unit 120, a control unit 130, a flash memory unit 1410, and the like.
  • the flash memory unit 1410 having a configuration different from that of the first embodiment will be described.
  • the flash memory unit 1410 is a module for storing data configured as an integrated circuit chip of a flash memory. As shown in FIG. 15, the input buffer unit 210, the memory unit 220, the logic unit 230, the memory driving unit 1520, and the data An input / output buffer unit 250 is included.
  • the logic unit 1510 outputs a signal for performing an erase operation, a write operation, and a read operation to the memory unit 220 based on the control signal input from the input buffer unit 210 to the memory drive unit 1520 and also to the memory unit 220.
  • This is a module for performing a verify process for determining whether or not the erase operation and the write operation have succeeded.
  • the logic unit 1510 has a fail bit number threshold determination table 1411.
  • FIG. 16 shows information that the fail bit number threshold value determination table 1411 has.
  • the fail bit number threshold determination table 1411 is a table for determining a fail bit number threshold in an erase operation or a write operation.
  • the fail bit number threshold determination table 1411 includes an erase / write setting 14110, an erase fail bit number threshold 14111, and a write fail bit number threshold 14112.
  • An erase fail bit number threshold value (hereinafter also referred to as a first threshold value) 14111 is threshold value information regarding the number of memory cells that have not been successfully erased in the verify operation of the erase operation.
  • a write fail bit number threshold value (hereinafter also referred to as a second threshold value) 14112 is threshold value information relating to the number of memory cells that have not been successfully written in the verify operation of the write operation.
  • the logic unit 1510 determines that the erase operation has been completed if a memory cell that has not been successfully erased is equal to or less than the first threshold value. Similarly, for the write operation, the logic unit 1510 determines that the write operation has been completed if a memory cell that has not been successfully written in the verify operation is equal to or less than the second threshold value.
  • the threshold value of 1 is determined to be 5 and the second threshold value is determined to be 5.
  • the fail bit number threshold determination table 1411 can be created using prior experimental data.
  • the logic unit 1510 has a register 231 for storing the erase / write setting information 182 included in the control signal, and a fail bit in the verify operation of the erase / write operation based on the erase / write setting information 182. Change the number threshold.
  • the memory driving unit 1520 is a module that generates and supplies a voltage for driving the memory unit 220 in accordance with a signal input from the logic unit 1510.
  • FIG. 17 shows a flowchart in the erase operation of the flash memory unit 1410.
  • the flash memory unit 1410 receives a command from the control unit 130 (S1001). Specifically, the flash memory unit 1410 receives an erase command including the erase / write setting information 182 from the control unit 130, and stores the erase / write setting information 182 in the register 231.
  • the flash memory unit 1410 sets an erase parameter (S1702). Specifically, based on the erase / write setting information 182 and the fail bit number threshold determination table 1411, the logic unit 1510 determines the number of bits (erase fail bit number) regarding which the erase operation permitted in the erase verify operation has not been completed. A threshold value of 1 is set.
  • the flash memory unit 1410 performs block erase operation (S1003), verify read (S1004), and data comparison (S1005). Since the processing in steps S1003 to S1005 is the same as that in the first embodiment, detailed description thereof is omitted.
  • the flash memory unit 1410 determines whether the number of fail bits measured in step S1005 is equal to or less than the first threshold (S1706). If the number of fail bits is larger than the first threshold value in step S1706, the processes in and after step S1003 are repeated.
  • the flash memory unit 1410 outputs a notification indicating the completion of erasure to the control unit 130 (S101), and completes the erasure operation.
  • FIG. 18 is a flowchart illustrating an example of a write operation of the flash memory unit 1410.
  • the flash memory unit 1410 receives a write command and write data including the erase / write setting information 182 from the control unit 130, and stores the erase / write setting information 182 in the register 231 (S1101). .
  • the flash memory unit 1410 sets a write parameter (S1802). Specifically, based on the erase / write setting information 182 and the fail bit number threshold determination table 1411, the logic unit 1510 determines the number of bits (write fail bit number) regarding which the write operation permitted in the write verify operation is not completed. A threshold of 2 is set.
  • the flash memory unit 1410 performs data write operation (S1103), verify read (S1104), and data comparison (S1105). Since the processing in steps S1103 to S1105 is the same as that in the first embodiment, detailed description thereof is omitted.
  • the flash memory unit 1410 determines whether the number of fail bits measured in step S1105 is equal to or smaller than a second threshold (S1806). If the number of fail bits is larger than the second threshold value in step S1806, the processes in and after step S1103 are repeated.
  • step S1806 the flash memory unit 1410 outputs a notification indicating the completion of the write operation to the control unit 130 (S101) and completes the write operation. .
  • the information storage device 20 suppresses deterioration due to the erase / write operation of the flash memory, and realizes an increase in the number of times that data can be written. Further, since the processing time in the erase / write operation can be shortened, the erase / write operation can be speeded up.
  • the configuration example in which the fail bit number threshold determination table 1411 is arranged in the logic unit 1510 of the flash memory unit 1410 is shown, but the present invention is not limited to this example.
  • the information of the fail bit number threshold determination table 1411 is arranged in the management information storage unit 120, and the control unit 130 determines the erase fail bit number threshold (first threshold) or the write fail bit number threshold (second threshold).
  • the control unit 130 determines the erase fail bit number threshold (first threshold) or the write fail bit number threshold (second threshold).
  • an implementation in which the data is transmitted to the flash memory unit 1410 is also possible. That is, a mounting form in which the logic unit 1510 has a part of the function of the control unit 130 or a mounting form in which the control unit 130 has a part of the function of the logic unit 1510 is possible.
  • the flash memory portion 1410 is handled as one integrated circuit chip.
  • a mounting form in which the information storage device 20 is one integrated circuit chip is also possible.
  • the information storage device 10 of the first embodiment and the information storage device 20 of the second embodiment hold the request given from the host computer. Data retention for a period is guaranteed, but the correctness of the data cannot be guaranteed if information indicating that the stored data can be erased cannot be obtained from the host computer within a predetermined period (requested retention period).
  • data refresh is a technique for extending the data holding period by reading data during a period in which data can be correctly held and rewriting the read data.
  • the data refresh interval is increased by changing the erasure / write setting in the direction of extending the data retention period for the data that has been subjected to the data refresh for a predetermined number of times.
  • the data refresh can be performed efficiently in the configurations of the first and second embodiments.
  • the information storage device 30 includes an input / output unit 110, a management information storage unit 2110, a control unit 2120, a flash memory unit 140, and the like.
  • the management information storage unit 2110 is a storage module configured by a DRAM or the like, and includes block state information 2111, a data arrangement availability determination table 122, an erase / write setting determination table 123, and refresh count threshold information 2112.
  • FIG. 22 shows information included in the block state information 2111.
  • the block state information 2111 is information in which the state of the storage area in the flash memory unit 140 is recorded for each predetermined unit. As shown in FIG. 22, the block state information 2111 includes a block number 1210, an erase / write count 1211, an erasable flag 1212, a degradation level 1213 and an erase / write setting 1214, a write time 21115, and a refresh count 21116. Description of the block state information 2111 that is the same as the block state information 121 of the first embodiment is omitted.
  • the write time 21115 is information indicating the time when data is written to the target block.
  • the refresh count 21116 is information indicating how many times data refresh processing has been performed on the target data so far.
  • the refresh count threshold information 2112 is information indicating a reference value for changing the erase / write setting of the refresh target data in the data refresh process.
  • the control unit 2120 is a module for writing data to and reading data from the flash memory unit 140 in response to a request from the host computer 101, and includes a write destination block determination unit 131, an erasure / write setting determination unit 132, and a block state information update unit. 133 and request holding period correction means 2121.
  • the request holding period correcting unit 2121 is a unit that corrects the information of the request holding period based on the information on the erase / write setting of the target data in the block state information 2111 and the number of refreshes in the data refresh process.
  • the request holding period information is information for determining the erase / write setting information 182 to the flash memory unit 140, and also indicates the period during which the data written in the flash memory unit 140 is properly held. It is also treated as information to show.
  • FIG. 23 is a flowchart illustrating an example of a data refresh operation of the control unit 2120.
  • control unit 2120 executes a process of determining whether to refresh data stored in the target block (hereinafter simply referred to as target data) (S2301).
  • the determination process in step S2301 can be performed by periodically reading the erase / write setting information and the write time information of the block state information 2111 and comparing the values.
  • step S2301 first, the erasure / write setting information of the target data is compared with the erasure / write setting determination table 123, and the required retention period information of the target data, that is, the applied erasure / write is applied. Get the period for which data can be retained correctly by setting. Then, current time information (not shown) is compared with the writing time information, and the elapsed time information after the target data is written is acquired. If the difference between the two pieces of acquired information is equal to or smaller than a predetermined value, it is determined that the data refresh process for the target data is performed.
  • step S2301S the control unit 2120 executes step S2310 when the data refresh process is performed on the target data, and changes the target data of the refresh determination process when not performing the data refresh process.
  • step S2310 the data refresh process is performed on the target data
  • changes the target data of the refresh determination process when not performing the data refresh process.
  • control part 2120 performs the process which corrects request
  • the request holding period correction unit 2121 compares the refresh count information of the block state information 2111 with the refresh count threshold information 2112, and if the refresh count of the target data is equal to or greater than a predetermined value indicated by the refresh count threshold information 2112. For example, the request holding period information is corrected to a time longer than the request holding period obtained in step S2301.
  • the value is changed to 30 days. If the request holding period is 30 days, which is the maximum value that can be set in the information storage device 30, the value is not changed.
  • step S802 write destination block determination processing
  • step S807 is similar to the operation of the control unit 130 of the information storage device 10 described with reference to FIG.
  • control unit 2120 determines whether the writing process has been completed for all data in the target block for the data refresh process (S2311). If it is determined in step S211 that the writing of all data has not been completed, the control unit 2120 repeats the processes in and after step S806.
  • step S2311 when it is determined in step S2311 that all data has been written, the control unit 2120 updates the block state (S2320).
  • step S2320 using the applied erase / write setting information 182, the erase / write count and erase / write setting values in the block state information 2111, and the write time information and refresh count are updated.
  • the number of refreshes is updated to “0” if the request holding period information is corrected to a larger holding period in step S2310S, and is updated to a value obtained by adding “1” to the existing value if not corrected.
  • the information storage device 30 suppresses the deterioration of the flash memory due to the frequency of data refresh, and realizes an improvement in the number of writable times. That is, by changing the verify voltage in the verify operation of the flash memory unit 140 based on the elapsed time (holding time) information of the write data, the frequency of data refresh can be suppressed and the number of possible writes can be improved. it can.
  • the information storage device 30 has been particularly described based on the information storage device 10.
  • An implementation based on 20 is also possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】ホストコンピュータから要求された書き込みデータの保持期間に応じてフラッシュメモリのデータ消去又はデータ書込みに関する設定値を変更する。 【解決手段】情報記憶装置は、不揮発性メモリへのデータの消去操作または書込み操作を制御する制御部と、1つ以上の不揮発性メモリを有する不揮発性メモリモジュールと、ホストコンピュータからデータの保証期間を示す保証期間情報を受け取る入出力部と、を備え、前記制御部は、前記データの保証期間情報に基づいて、前記消去操作または前記書込み操作における前記不揮発性メモリのベリファイ動作の動作条件を決定する。

Description

情報記憶装置及び情報記憶装置の制御方法
 本発明は、不揮発メモリデバイスを用いた情報記憶装置及び情報記憶装置の制御方法に関し、書換え可能回数を向上する情報記憶装置及び情報記憶装置の制御方法に適用して好適なるものである。
 デジタル情報を記憶する不揮発性メモリデバイスとして、NAND型フラッシュメモリ(以下、単にフラッシュメモリと表現)がある。フラッシュメモリは、半導体微細化に伴って、その大容量化が進み、様々な応用に用いられるようになった。
 一方で、フラッシュメモリの書換え回数の低下が大きな問題となっている。フラッシュメモリに対するデータの消去操作および書込み操作(以下、消去/書込み操作と略記)は、基盤-制御ゲート間に高電圧を印加することにより、浮遊ゲートに電子を注入あるいは放出させることで実現される。
 フラッシュメモリは、消去/書込み操作を多数回行うと、浮遊ゲート付近のゲート絶縁膜が劣化し、フラッシュメモリの信頼性が低下し、正常なデータ記憶が不可能になるという特性がある。この信頼性の低下は、微細な半導体プロセスを用いるほど、少ない消去/書込み回数で発生する傾向にあるため、今後の微細化による大容量化とフラッシュメモリを様々な応用に用いる上で、大きな課題となっている。
 上記課題を解決する技術として、特許文献1に、フラッシュメモリの劣化度合いに応じてベリファイ読出し動作(以下、単にベリファイ動作)におけるベリファイ読出し電圧(以下、単にベリファイ電圧)、あるいは消去/書込み操作における基盤-制御ゲート間への印加電圧(消去電圧および書込み電圧とも称する)を変更することで、消去/書込み操作における記憶セルへのストレスを低減し、フラッシュメモリの劣化を抑制する技術が開示されている。
特開特開2012-203692号公報
 ところで、フラッシュメモリなどの不揮発性メモリで構成される情報記憶装置へ要求されるデータ保持の保証期間は、応用方法や使用形態によって異なる。例えば、SSD(Solid State Drive)のようにハードディスクを代替するストレージとしてフラッシュメモリを使用する場合には、1カ月から3カ月程度の保証期間が必要である。これに対し、DRAM(Dynamic Random Access Memory)を代替する大容量メモリとしてフラッシュメモリを用いる場合には、多くのデータは1日以下の保持期間さえ保証されていればよい。
 上記した特許文献1では、情報記憶装置の使用形態に依存せず、固定の保持期間を保証するベリファイ電圧を適用する。すなわち、1日以下などの短い保持期間しか要求されないデータの記憶に対しては、フラッシュメモリの記憶セルへ過剰なストレスを与えることになり、その書換え回数可能低下を促進するという問題があった。
 本発明は以上の点を考慮してなされたもので、ホストコンピュータから要求された書き込みデータの保持期間に応じてフラッシュメモリのデータ消去又はデータ書込みに関する設定値を変更することが可能な情報記憶装置及び情報記憶装置の制御方法を提案しようとするものである。
 かかる課題を解決するために本発明においては、不揮発性メモリへのデータの消去操作または書込み操作を制御する制御部と、1つ以上の不揮発性メモリを有する不揮発性メモリモジュールと、ホストコンピュータからデータの保証期間を示す保証期間情報を受け取る入出力部と、を備え、前記制御部は、前記データの保証期間情報に基づいて、前記消去操作または前記書込み操作における前記不揮発性メモリのベリファイ動作の動作条件を決定することを特徴とする、情報記憶装置が提供される。
 かかる構成によれば、情報記憶装置は、ホストコンピュータから提供されたデータの保持期間情報に基づいて、不揮発性メモリのベリファイ動作における閾値条件を決定する。これにより、情報記憶装置は、記憶セルへ書込まれたデータの保持期間がその要求保持期間に近づくように、フラッシュメモリの消去操作における消去ベリファイ電圧または書込み操作における書込みベリファイ電圧を変更して、所定期間データを保持するために必要最小限のストレスでデータを書き込むことができ、不揮発性メモリの記憶セルの劣化を抑制し、書換え可能回数を向上させることができる。
 本発明によれば、所定期間データを保持するために必要最小限のストレスでデータを書き込むことが可能となるため、フラッシュメモリの消去時および書込み時における記憶セルへのストレスを低減することが可能となり、フラッシュメモリの書換え可能回数を向上させることができる。
本発明の第1の実施形態に係る情報記憶装置の構成を示すブロック図である。 同実施形態にかかるフラッシュメモリ部の構成を示すブロック図である。 同実施形態にかかるブロック状態情報の一例を示す図表である。 同実施形態にかかるデータ配置可否判定テーブルの一例を示す図表である。 同実施形態にかかる消去/書込み設定決定テーブルの一例を示す図表である。 同実施形態にかかるベリファイ電圧決定テーブルの一例を示す図表である。 同実施形態にかかる印加電圧決定テーブルの一例を示す図表である。 同実施形態にかかる制御部の書込み処理を説明するフローチャートである。 同実施形態にかかる書込み先ブロック決定処理を説明するフローチャートである。 同実施形態にかかる消去操作を説明するフローチャートである。 同実施形態にかかる書込み操作を説明するフローチャートである。 同実施形態にかかるメモリセルの閾値分布の時間経過特性を説明する図である。 同実施形態にかかる書換え可能回数を向上させる原理を説明する図である。 本発明の第2の実施形態に係る情報記憶装置の構成を示すブロック図である。 同実施形態にかかるフラッシュメモリ部の構成を示すブロック図である。 同実施形態にかかるフェイルビット数閾値決定テーブルの一例を示す図表である。 同実施形態にかかるフラッシュメモリ部の消去操作を説明するフローチャートである。 同実施形態にかかるフラッシュメモリ部の書込み操作を説明するフローチャートである。 同実施形態にかかるラッシュメモリのベリファイ動作におけるフェイルビットの影響を説明する図である。 同実施形態にかかる書換え可能回数を向上させる原理を説明する図である。 本発明の第3の実施形態に係る情報記憶装置の構成を示すブロック図である。 同実施形態にかかるブロック状態情報の一例を示す図表である。 同実施形態にかかる制御部の書込み処理を説明するフローチャートである。
 以下図面について、本発明の一実施の形態を詳述する。以下の実施の形態では、本発明の不揮発性メモリをフラッシュメモリに適用して説明する。
(1)第1の実施形態
(1-1)本実施の形態の概要
 まず、図12及び図13を参照して、情報記憶装置10がフラッシュメモリの書換え可能回数を向上させる原理について説明する。
 図12に、フラッシュメモリの記憶セルの閾値電圧分布の模式図を示す。図12のグラフは、所定単位数の記憶セルにおける閾値電圧分布が時間経過によってどのように変化するかについて示している。
 グラフ(a)及び(b)の横軸は記憶セルの閾値電圧Vthの値であり、縦軸は閾値電圧Vthの各値に対応する記憶セル数を示している。所定単位数とは、フラッシュメモリの書込み操作および読出し操作の最小単位であるページ(例えば2kバイト)、または、消去操作の最小単位であるブロック(例えば256kバイト)と呼ばれるサイズである。ブロックは複数のページの集合として構成される。
 (a)は書込み操作完了時における、記憶セルの閾値電圧分布を示している。Vrdは読出し基準電圧であり、読出し操作において記憶セルの閾値電圧VthがVrdより大きいか小さいかによって該記憶セルに保持されているデータが「0」であるか「1」であるかが判定される。
 本実施の形態では、記憶セルの閾値電圧VthがVrdより大きければデータが「0」、小さければデータが「1」であるとして以下説明する。グラフ(a)のVevは消去ベリファイ電圧であり、記憶セルの閾値電圧を徐々に下げていく消去操作において、その閾値電圧がVevより小さくなったとき該記憶セルにおけるデータ消去操作は成功したと判定される。また、Vpvは書込みベリファイ電圧であり、「0」を書込みたい記憶セルの閾値電圧を徐々に上げていく書込み操作において、その閾値電圧がVpvより大きくなったとき、該記憶セルにおける書込み操作は成功したと判定される。
 このため、グラフ(a)に示すように、書込み操作完了時における記憶セルの閾値電圧Vthは、Vth<VevあるいはVth>Vpvの領域に分布する(但し、Vev<Vrd<Vpv)。
 (b)は所定時間経過後における、記憶セルの閾値電圧分布の例を示している。データ書込み操作完了後から所定時間が経過すると、データ書込み操作によって浮遊ゲートに注入された電子が放電し、閾値電圧Vthが減少する。また、消去操作によって電子を放出した浮遊ゲートは、隣接記憶セルへのデータ書込み操作やデータ読出し操作などによって電子が流入し、閾値電圧Vthが増加する。
 そのため、「0」を書き込まれた記憶セルのうち最も閾値電圧が小さな記憶セルの閾値電圧とVrdとの差分、およびVrdと「1」を書き込まれた(「0」を書き込まれなかった)記憶セルのうち、最も閾値電圧が大きな記憶セルの閾値電圧との差分が小さくなる。「0」を書き込まれた記憶セルの閾値電圧がVrdより小さくなった場合、あるいは「1」を書き込まれた記憶セルの閾値電圧がVrdより大きくなった場合、記憶データが破損したことを意味する。
 そのため、VpvとVrdとの差分(マージンとも称する)、およびVrdとVevとの差分は、記憶データを所定期間保持するために十分な大きさに設定される必要がある。すなわち、VpvとVevとの差分は、フラッシュメモリの使用形態として想定される最大の保持期間において記憶データを保持可能な大きさに設定される必要がある。
 本実施の形態における情報記憶装置10は、ホストコンピュータから要求保持期間情報を得ることによって、VpvとVevとの差分をできるだけ小さく設定する制御を行う。ここで、要求保持期間とは、ホストコンピュータ101が情報記憶装置10に要求する書き込みデータの保持期間、すなわち、書き込みデータの保証期間を意味する。以下では、この要求保持期間を含む情報を、要求保持期間情報と称して説明する。
 図13に、情報記憶装置10におけるベリファイ電圧の制御方式を示す模式図を示す。グラフ(a)は、要求保持期間が1日間である場合の消去ベリファイ電圧Vev(1d)及び書込みベリファイ電圧Vpv(1d)と読出し基準電圧Vrd(1d)との関係を示している。ベリファイ電圧Vpv(1d)とVev(1d)は、記憶データを1日間保持することが可能であり、かつ、できるだけVpv(1d)とVev(1d)との差分が小さくなるように設定されている。
 また、グラフ(b)は、要求保持期間が30日間である場合の消去ベリファイ電圧Vev(30d)および書込みベリファイ電圧Vpv(30d)と読出し基準電圧Vrd(30d)の関係を示しており、Vpv(30d)とVev(30d)は、記憶データを30日間保持することが可能であり、かつできるだけVpv(30d)とVev(30d)との差分が小さくなるように設定されている。
 情報記憶装置10は、Vpv(1d)とVev(1d)との差分がVpv(30d)とVev(30d)との差分よりも小さくなるようにベリファイ電圧を設定する。すなわち、要求保持期間が短いほど、VpvとVevとの差分が小さくなるようにベリファイ電圧を設定する。VpvとVevとの差分が小さいほど、フラッシュメモリの消去操作および書込み操作における記憶セルへのストレスを小さくできるため、記憶セルの劣化を抑制し、書換え可能回数を向上させることができる。
 なお、ここでは説明を簡単にするために、1つのメモリセルあたり1ビットの情報を記憶するSingle-level cell(SLC)のフラッシュメモリを用いた例を示しているが、1つのメモリセルあたり複数ビットの情報を記憶するMulti-level cell(MLC)の場合でも同様である。SLCの書込みベリファイ電圧は1つであるのに対し,MLCでは2つ以上書込みベリファイ電圧を有する。そのため、要求保持期間が短いデータを記憶する場合、1つ以上の書込みベリファイ電圧について、消去ベリファイ電圧の差分が小さくなるようにベリファイ電圧を設定することで、記憶セルへのストレスを低減することができる。すなわち、MLCを備える情報記憶装置10は、データの要求保持期間が短いほど、複数の書込みベリファイ電圧のうち最も大きい書込みベリファイ電圧と、消去ベリファイ電圧の差分が小さくなるようにベリファイ電圧を設定することで、記憶セルの劣化を抑制し、書換え可能回数を向上させることができる。
 このように、本発明における情報記憶装置10は、上記原理により、要求保持期間情報を利用してVpvとVevとの平均差分をできるだけ小さく設定している。これにより、記憶セルの劣化を抑制し、書換え可能回数を向上させることができる。また、VpvとVevの平均電位差を従来よりも小さくできることは、平均書込み速度を向上させることにも寄与する。
 一方、書込み操作および消去操作における単位時間当たりの記憶セルのVthの変化量は基盤-制御ゲート間への印加電圧の絶対値が大きいほど大きくなり、小さいほど小さくなる特徴がある。この特徴を利用し、書込み操作および消去操作における基盤-制御ゲート間への印加電圧を、要求保持期間が短い場合には小さくし、要求保持期間が長い場合には大きくする制御を加える。言い換えれば、書込み操作および消去操作に要する時間を所定の目標値とそれぞれ一致するように記憶セルへの印加電圧を変更する。この場合、書込み速度および消去速度は従来と同等であるが、基盤-制御ゲート間への印加電圧を所定の固定値とした場合に比べて、書込み操作時および消去操作時における記憶セルへのストレスをさらに低減することができる。すなわち、要求保持期間の情報に基づいて基盤-制御ゲート間への印加電圧を変更し、書込み操作時間および消去操作時間を一定とするように制御した場合、記憶セルへのストレスをさらに低減することができ、書換え可能回数をさらに向上させることが可能となる。
(1-2)情報記憶装置の構成
 次に、情報記憶装置10の構成について説明する。まず、図1を参照して、情報記憶装置10の構成例について説明する。
 情報記憶装置10は、ホストコンピュータ101からのデータ書込み要求に応じて入力されたデータを記憶したり、データ読出し要求に応じて記憶したデータを出力したりする装置である。図1に示すように、情報記憶装置10は、入出力部110、管理情報記憶部120、制御部130及びフラッシュメモリ部140などを備える。
 入出力部110は、情報記憶装置10が外部の装置と通信を行うためのモジュールであり、ホストコンピュータ101と通信を行う。具体的に、入出力部110は、ホストコンピュータ101から書込みデータと共に該データに対する要求保持期間情報181を受け取って制御部130に提供する。
 管理情報記憶部120は、DRAMなどで構成される記憶モジュールであり、ブロック状態情報121、データ配置可否判定テーブル122及び消去/書込み設定決定テーブル123を有する。
 図3を参照して、ブロック状態情報121の詳細について説明する。ブロック状態情報121は、フラッシュメモリ部140内の記憶領域の状態を所定単位ごとに記録した情報である。以下では、所定単位をブロックとして説明する。
 図3に示すように、ブロック状態情報121は、ブロック番号1210、消去/書き込み回数1211、消去可能フラグ1212、劣化度レベル1213及び消去/書き込み設定1214を含む。
 ブロック番号1210は、ブロックを識別する番号であり、フラッシュメモリ部140内のアドレスなどで示される情報である。消去/書込み回数1211は、対象ブロックにおけるデータ消去回数またはデータ書込み回数を示す情報である。消去可能フラグ1212は、対象ブロックに記憶されたデータを消去して良いか否かを示す情報であり、ホストコンピュータ101から与えられる。
 劣化度レベル1213は、ブロックに含まれる記憶セルの劣化度合いを示す情報であり、本実施の形態ではこの値が大きいほど劣化度合いが大きいとする。劣化度レベル1213は、例えば対象ブロックにおける消去/書込み回数と、事前の実験によって得られたフラッシュメモリのデータ消去回数と劣化度合いの関係と比較することによって決定することができる。消去/書込み設定1214は、対象ブロックに適用されたデータ消去操作およびデータ書込み操作の設定パラメータを示した情報である。
 次に、図4を参照して、データ配置可否判定テーブル122の詳細について説明する。データ配置可否判定テーブル122は、ホストコンピュータ101から送られてきた書込みデータを、フラッシュメモリ部140内の書込み先候補となるブロックへ書込むことができるか否かを判定するために用いられるテーブルである。
 図4に示すように、データ配置可否判定テーブル122は、要求保持期間情報181に対応する要求保持期間1220及び対象ブロックの劣化度レベル1221を含む。要求保持期間1220の情報及び対象ブロックの劣化度レベル1221の情報を用いて、データ配置の可否を判定することができる。
 例えば、図4では、要求保持期間が1日間である場合、対象ブロックの劣化度レベルが2であれば配置可能であるが、劣化度レベルが3であれば配置できないと判定できる例を示している。データ配置可否判定テーブル122の情報は、事前の実験データを元に作成することができる。
 次に、図5を参照して、消去/書込み設定決定テーブル123の詳細について説明する。消去/書込み設定決定テーブル123は、フラッシュメモリ部140へのデータ消去操作およびデータ書込み操作を行う際に適用するパラメータを決定するために参照されるテーブルである。
 図5に示すように、消去/書込み設定決定テーブル123は、劣化度レベル1230、要求保持期間情報181に対応する要求保持期間1231及び消去/書き込み設定1232を含む。操作対象となるブロックの劣化度レベル1230の情報と要求保持期間1231の情報を用いて、操作対象となるブロックへの消去/書込み設定を得ることができる。
 例えば、図4では、劣化度レベルが1の場合、要求保持期間が1日間であれば消去/書込み設定は2であり、要求保持期間が30日間であれば消去/書込み設定は3であるとする例を示している。情報記憶装置10では、要求保持期間が同一であっても劣化度レベルに応じて異なる消去/書込み設定が適用される。これは、浮遊ゲートへの電子注入および浮遊ゲートからの電子放出の容易性がゲート絶縁膜の劣化度合いによって変化するため、すなわち、記憶セルの閾値電圧の変化のし易さが変わるためである。
 本実施の形態では、設定されるパラメータとして、ベリファイ電圧及び消去操作および書込み操作における基盤-制御ゲート間への印加電圧(以下、消去電圧および書込み電圧とそれぞれ表現する。)を用いて説明するが、消去操作または書込み操作時における基盤-制御ゲート間への電圧印加時間などをパラメータとして用いても良い。
 図1に戻り、制御部130は、ホストコンピュータ101の要求に応じて、フラッシュメモリ部140へデータ書込みとデータ読出しを行うモジュールである。図1に示すように、制御部130は、書込み先ブロック決定手段131、消去/書込み設定決定手段132及びブロック状態情報更新手段133を有する。また、エラー訂正符号化処理および復号処理を行う機能(図示せず)も有する。
 書込み先ブロック決定手段131は、書込み要求があったデータをフラッシュメモリ部140のどのブロックに書込むかを決定する手段である。
 消去/書込み設定決定手段132は、フラッシュメモリ部140へのデータ消去操作およびデータ書込み操作を行う際に適用するパラメータを決定するための手段である。
 ブロック状態情報更新手段133はブロック状態情報121の劣化度レベルおよび消去/書込み設定の情報を更新するための手段である。
 また、制御部130は、消去/書込み設定情報182をフラッシュメモリ部140へ送信する。
 ここで、図2を参照して、フラッシュメモリ部140の詳細について説明する。フラッシュメモリ部140は、フラッシュメモリの集積回路チップとして構成されるデータを記憶するモジュール(本発明の不揮発性メモリモジュールに該当)であり、図2に示すように、入力バッファ部210、メモリ部220、論理部230、メモリ駆動部240及びデータ入出力バッファ部250を有する。
 入力バッファ部210は、制御部130からアドレス信号および制御信号を受信するモジュールであり、アドレス信号をメモリ部220へ出力し、制御信号を論理部230へ出力する。
 論理部230は入力バッファ部210から入力された制御信号に基づいてメモリ部220への消去操作、書込み操作、読出し操作を行うための信号をメモリ駆動部240に出力するとともに、メモリ部220への消去操作および書込み操作が成功したか否かを判定するためのベリファイ処理を行うモジュールである。
 書込み操作に必要な書込み対象データとベリファイ処理に必要な読出しデータは、データ入出力バッファ部250から入力される。
 論理部230は、レジスタ231、ベリファイ電圧決定テーブル142及び印加電圧決定テーブル143を有する。
 図6を参照して、ベリファイ電圧決定テーブル142の詳細について説明する。ベリファイ電圧決定テーブル142は、ベリファイ処理におけるベリファイ電圧を決定するために参照されるテーブルである。図6に示すように、ベリファイ電圧決定テーブル142は、消去/書込み設定1420、消去ベリファイ電圧1421及び書込みベリファイ電圧1422から構成される。
 消去ベリファイ電圧1421は、消去操作におけるベリファイ読出し動作時のベリファイ電圧(図12におけるVevに相当)である。書込みベリファイ電圧1422は、書込み操作におけるベリファイ読出し動作時のベリファイ電圧(図12におけるVpvに該当)である。図6では、消去/書込み設定が2であるときには、消去ベリファイ電圧をVev2に設定し、書込みベリファイ電圧をVpv2に設定する例を示している。
 次に、図7を参照して、印加電圧決定テーブル143の詳細について説明する。印加電圧決定テーブル143は、消去電圧および書込み電圧を決定するために参照されるテーブルである。
 図7に示すように、印加電圧決定テーブル143は、消去/書込み設定1430、消去電圧1431及び書込み電圧1432を含む。消去電圧1431は、消去操作における基盤-制御ゲート間への印加電圧値であり、書込み電圧1432は、書込み操作における基盤-制御ゲート間へ印加電圧値である。図7では、例えば、消去/書込み設定が2であるときには、消去電圧をVers2に設定し、書込み電圧をVprg2に設定する例を示している。
 ベリファイ電圧決定テーブル142および印加電圧決定テーブル143は事前の実験データを元に作成可能である。
 図2に戻り、論理部230は、制御信号に含まれる消去/書込み設定情報182を格納するレジスタ231を有し、消去/書込み設定情報182に基づいて消去操作および書込み操作における印加電圧(すなわち、消去電圧および書込み電圧)とそのベリファイ動作におけるベリファイ電圧を変更する。
 メモリ駆動部240は、論理部230から入力される信号に従って、メモリ部220を駆動するための電圧を生成し、供給するモジュールであり、ベリファイ電圧変更手段144及び印加電圧変更手段145を有する。
 メモリ部220は、入力バッファ部210から入力されるアドレス信号によって示されるアドレスの記憶セルに対し、メモリ駆動部240からの信号に基づいてデータ消去、データ書込みおよびデータ読出しを行うモジュールである。メモリ部220から読出されたデータはデータ入出力バッファ部250へ出力される。
 データ入出力バッファ部250は、書込みデータ及び読出しデータ(図2のデータ信号に相当)の入出力に際して、制御部130とデータを送受信する入出力インタフェースであるとともに、論理部230へそれらデータを出力する機能を有するモジュールである。
(1-3)情報記憶装置の動作
 次に、情報記憶装置10の動作の詳細について説明する。図8は、情報記憶装置10の制御部130のデータ書込み動作の例を示すフローチャートである。
 図8に示すように、まず、情報記憶装置10は、書込みデータを受信する(S801)。具体的には、ホストコンピュータ101から情報記憶装置10に書込みデータと要求保持期間情報181が送信され、入出力部110がこれらを受信して制御部130へ出力する。そして、制御部130が、書込みデータと要求保持期間情報181を入出力部110から受信する。
 続いて、制御部130は、書込み先ブロック決定処理を実行する(S802)。具体的に、制御部130は、要求保持期間情報181、ブロック状態情報121、データ配置可否判定テーブル122及び書込み先ブロック決定手段131を用いて、書込みデータの書込み先ブロックを決定する。
 ここで、図9を参照して、書込み先ブロック決定手段131の処理手順について説明する。図9に示すように、制御部130は、まず、書込み先候補となるブロックを決定する(S901)。書込み先候補ブロック決定手段の例として、例えばブロック状態情報121にある消去/書込み回数と消去可能フラグの情報を参照し、消去可能であり、かつ最も消去/書込み回数が少ないブロックを書込み先候補とする方法が挙げられる。
 次に、制御部130は、ブロック状態情報121にある書込み先候補ブロックの劣化度レベルと要求保持期間情報181とデータ配置可否判定テーブル122を用いて、書込み先候補ブロックに書込みが可能か、すなわち、データ配置が可能かを判定する(S902)。
 ステップS902において、データ配置が可能であると判定された場合には、制御部130は、書込み先ブロックを決定する。一方、ステップS902において、データ配置が不可能であると判定された場合には、制御部130は、他に書込み先候補ブロックがあるかを判定する(S910)。
 ステップS910において、他に書込み先候補ブロックがあると判定された場合には、制御部130は、直前に決定された書込み先候補ブロックを候補ブロックから除外して(S911)、再度書込み先候補ブロック決定処理(S901)を実行する。他に書込み先候補ブロックがないと判定された場合には、制御部130は、ホストコンピュータ101へエラーメッセージを出力し(S920)、書込み先ブロック決定処理(ステップ802S)を終了する。
 図8に戻り、制御部130は、ステップS802で書込み先ブロックを決定した後、消去/書込み設定決定処理を実行する(S803)。
 ステップS803における消去/書込み設定決定処理では、要求保持期間情報181、ブロック状態情報121及び消去/書込み設定決定テーブル123を用いてフラッシュメモリ部140における消去操作および書込み操作の設定パラメータを決定する。より具体的には、要求保持期間情報181とブロック状態情報121にある書込み先ブロックの劣化度レベルの情報を用いて、消去/書込み設定決定テーブル123を参照することで、書込みデータにおける消去/書込み設定を決定する。
 続いて、制御部130は、消去コマンドを発行する(S804)。ステップS804では、制御部130は、ステップS803で決定された消去/書込み設定情報182を含む消去操作を実行するためのコマンドをフラッシュメモリ部140へ送信する。
 そして、制御部130は、フラッシュメモリ部140から、消去完了通知を受信する(S805)。
 そして、制御部130は、書込みコマンドを発行する(S806)。ステップS806では、ステップS803で決定された消去/書込み設定情報182を含む、書込み操作を実行するためのコマンドと書込みデータをフラッシュメモリ部140へ送信する。
 そして、制御部130は、フラッシュメモリ部140から書込み操作が完了したことを示す書込み完了通知を受信する(S807)。
 そして、制御部130は、ホストコンピュータ101から提供されたすべてのデータについて書込みが完了しているかを判定する(S808)。ステップS808において、すべてのデータの書込みが完了していないと判定された場合には、制御部130は、ステップS806以降の処理を繰り返す。
 一方、ステップS808において、すべてのデータの書込みが完了していると判定された場合には、制御部130は、ブロック状態情報を更新する(S810)。ステップS810では、制御部130は、適用した消去/書込み設定情報182を用いて、ブロック状態情報121にある消去/書込み回数と消去/書込み設定の値を更新する。
 次に、図10を参照して、制御部130の動作の詳細について説明する。図10は、フラッシュメモリ部140の消去操作におけるフローチャートを示している。
 図10に示すように、フラッシュメモリ部140は、制御部130からコマンドを受信する(S1001)。具体的に、フラッシュメモリ部140は、制御部130から消去/書込み設定情報182を含む消去コマンドを受信し、レジスタ231に消去/書込み設定情報182を格納する。
 続いて、フラッシュメモリ部140は、消去パラメータを設定する(S1002)。具体的に、論理部230が、消去/書込み設定情報182、ベリファイ電圧決定テーブル142及び印加電圧決定テーブル143を用いて、消去ベリファイ電圧と消去電圧を含む消去操作のパラメータを決定する。
 そして、フラッシュメモリ部140は、ブロック消去操作を実行する(S1003)。具体的に、論理部230が消去電圧の情報を含む設定パラメータ291をメモリ駆動部240へ出力し、メモリ駆動部240が設定パラメータ291に基づいてメモリ部220を駆動して、ブロック消去操作を行う。
 そして、フラッシュメモリ部140は、ベリファイ読出し処理を行う(S1004)。具体的に、論理部230が消去ベリファイ電圧の情報を含む設定パラメータ291をメモリ駆動部240へ出力し、メモリ駆動部240が設定パラメータ291に基づいてメモリ部220を駆動し、ベリファイ読出し処理を行う。
 そして、フラッシュメモリ部140は、データ比較を行う(S1005)。具体的に、論理部230が読出されたデータと全てのビットが「1」であるデータとを比較し、データが一致しないビット数(フェイルビット数)を計測する。
 そして、フラッシュメモリ部140は、ステップS1005で計測されたフェイルビット数が所定の閾値以下かを判定する(S1006)。ステップS1006において、フェイルビット数が所定の閾値(例えば0)より大きい場合には、ステップS1003以降の処理を繰り返す。
 一方、ステップS1006において、フェイルビット数が所定の閾値(例えば0)以下である場合には、フラッシュメモリ部140は、消去完了を示す通知を制御部130へ出力して(S1010)、消去操作を完了する。
 次に図11を参照して、フラッシュメモリ部140の書込み操作の詳細について説明する。図11はフラッシュメモリ部140の書込み操作の例を示すフローチャートである。
 図11に示すように、まず、フラッシュメモリ部140は、制御部130から消去/書込み設定情報182を含む書込みコマンドと書込みデータを受信し、レジスタ231に消去/書込み設定情報182を格納する(S1101)。
 続いて、フラッシュメモリ部140は、書込みパラメータを設定する(S1102)。具体的に、論理部230は、消去/書込み設定情報182、ベリファイ電圧決定テーブル142及び印加電圧決定テーブル143を用いて、書込みベリファイ電圧及び書込み電圧を含む書込み操作のパラメータを決定する。
 そして、フラッシュメモリ部140は、データ書込み操作を実行する(S1103)。具体的に、論理部230が書込みデータと書込み電圧の情報を含む設定パラメータ291をメモリ駆動部240へ出力し、メモリ駆動部240が設定パラメータ291に基づいてメモリ部220を駆動し、書込み操作を行う。
 そして、フラッシュメモリ部140は、ベリファイ読出し処理を行う(S1104)。具体的に、論理部230が書込みベリファイ電圧の情報を含む設定パラメータ291をメモリ駆動部240へ出力し、メモリ駆動部240が設定パラメータ291に基づいてメモリ部220を駆動し、ベリファイ読出し処理を行う。
 そして、フラッシュメモリ部140は、データ比較を行う(S1105)。具体的に、論理部230が読出されたデータと書込みデータとを比較し、フェイルビット数を計測する。
 そして、フラッシュメモリ部140は、フェイルビット数が所定の閾値以下かを判定する(S1106)。ステップS1106において、フェイルビット数が所定の閾値(S例えば0)より大きい場合には、ステップS1103以降の処理を繰り返す。
 一方、ステップS1106において、フェイルビット数が所定の閾値(例えば0)以下である場合には、フラッシュメモリ部140は、書込み操作完了を示す通知を制御部130へ出力して(S1110)、書込み操作を完了する。
 上記説明した情報記憶装置10の構成及び動作によって、情報記憶装置10は、フラッシュメモリの消去操作および書込み操作による劣化を抑制し、書換え可能回数向上を実現することができる。
 なお、フラッシュメモリの劣化に大きく影響を与えるのは消去操作および書込み操作であるため、本実施の形態では、情報記憶装置10のデータ読出し操作については詳述しない。しかし、消去/書込み操作と同様に、制御部130はフラッシュメモリ部140へ読出し対象ブロックの消去/書込み設定情報182を含む読出しコマンドを送信し、フラッシュメモリ部140は消去/書込み設定情報182に対応する読出し基準電圧を用いてメモリ部220への読出し操作を行うことによって、情報記憶装置10のデータ読出し操作を実現できる。
 また本実施の形態では、制御部130とフラッシュメモリ部140の動作において消去操作と書込み操作を別々のコマンドで実行する実装形態を示したが、かかる例に限定されない。例えば、フラッシュメモリ部140において書込み操作が消去操作を内包する動作、すなわち、制御部130がフラッシュメモリ部140へ書込みコマンドを送信するだけで、フラッシュメモリ部140が書込み操作前に消去操作を実行する実装形態であってもよい。
 また、本実施の形態では、消去/書込み設定決定テーブル123を管理情報記憶部120に配置し、消去/書込み設定決定手段132を制御部130に配置した構成例を示したが、これらの情報と手段はフラッシュメモリ部140の論理部230に配置することも可能である。すなわち、制御部130の一部の機能を論理部230が有する実装形態や、論理部230の一部の機能を制御部130が有する実装形態も可能である。また、本実施の形態では、フラッシュメモリ部140を1つの集積回路チップとして扱ったが、情報記憶装置10を1つの集積回路チップとする実装形態も可能である。
(2)第2の実施形態
(2-1)本実施の形態の概要
 上記した第1の実施形態では、要求保持期間情報に基づいて、ベリファイ電圧および消去電圧、書込み電圧を制御する手段によって、フラッシュメモリの劣化を抑制する情報記憶装置10について説明した。本実施の形態では、要求保持期間情報に基づいて、ベリファイ動作における消去/書込み成功条件を変更することによって、フラッシュメモリの劣化を抑制する情報記憶装置20について説明する。
 まず、図19及び図20を参照して、情報記憶装置20がフラッシュメモリの劣化を抑制し、その書換え可能回数を向上させる原理について説明する。
 図19に、フラッシュメモリの記憶セルの閾値電圧分布の模式図を示す。Vrd、Vev、Vpvはそれぞれ読出し基準電圧、消去ベリファイ電圧、書込みベリファイ電圧である。
 グラフ(a)は、書込み操作完了時の閾値電圧分布を示しており、書込み操作完了時における一部の記憶セルの閾値電圧VthがVev<Vth<Vpvの領域に分布することを示している。この領域に存在する記憶セルのデータは、読出し操作時において「0」と「1」のどちらとして読み出されるかは保証されない。
 しかし、近年のフラッシュメモリにおいては、記憶セルの劣化進行特性やデータ保持特性のばらつきなどを補償するために数十ビットのエラー訂正能力を有するECC(Error Correction code)が採用されている。そのため、このECC機能を利用することで、上記したVev<Vth<Vpvの領域に分布するデータを訂正することが可能となる。これにより、消去操作または書込み操作において、閾値電圧が変化しにくい特性を有する極めて少数の記憶セルを有するために、既に操作が完了した記憶セルへ不要なストレスがかかることや、全体の操作時間が増加することを回避できる。
 (b)は、所定時間経過後における、記憶セルの閾値電圧分布の例を示している。データ書込み操作完了後から時間が経過すると、浮遊ゲート中の電子の流入または流出などの効果によって記憶セルの閾値電圧Vthが変化する。このとき、経過時間が大きいほどデータを破損した記憶セルが発生する確率が高くなる。そのため、フラッシュメモリのECCは使用形態として想定される最大の時間経過時において、データ訂正可能である能力が必要となる。
 すなわち、ECCのエラー訂正可能ビット数をNecc、(a)に示した書込み操作完了時のフェイルビット数をNpfb、保持期間中に発生するエラービット数をNrebと表現すると、情報記憶装置がデータを訂正して正しく読出すための条件として次の数式(1)が成り立つ。
 Necc≧Npfb+Nreb・・・(1)
 従来の技術では、データを保持すべき期間に関する情報が与えられないため、Nrebは固定値となる。また、Neccもフラッシュメモリごとに固定値であり、Npfbも固定値となる。
 一方、本実施の形態にかかる情報記憶装置20では、ホストコンピュータから要求保持期間情報を得ることによって、数式(1)のNrebを可変とすることができ、当該値をできるだけ小さな値とすることによって、Npfbをできるだけ大きな値にすることを可能とする。
 図20は、情報記憶装置20におけるNpbfの制御方式を示す模式図である。グラフ(a)は、要求保持期間が1日間である場合の書込み操作完了時のフェイルビット数Npfb(1d)を示している。また、グラフ(b)は、要求保持期間が30日間である場合の書込み操作完了時のフェイルビット数Npfb(30d)を示している。
 情報記憶装置20は、Npfb(1d)をNpfb(30d)よりも大きな値に設定する。すなわち、要求保持期間が短いほど、Npfbを大きな値に設定する。これにより、従来よりもデータ消去操作時およびデータ書込み操作時のベリファイ動作におけるフェイルビット数の平均値を増やすことが可能となり、従来よりも早い段階で消去/書込み操作を完了することができる。すなわち、消去/書込み操作時に記憶セルへ電圧が印加される回数または期間を小さくすることができるため、記憶セルの劣化を抑制し、その書換え可能回数を向上させることができる。
 このように、本実施の形態にかかる情報記憶装置20は、上記原理を用いて、要求保持期間情報を利用してNpfbをできるだけ大きく設定する。これにより、記憶セルの劣化を抑制し、書換え可能回数を向上させることができる。また、Npfbの平均値を従来よりも大きくできることは、平均書込み速度を向上させることにも寄与する。
(2-2)情報記憶装置の構成
 次に、情報記憶装置20の構成について説明する。まず、図14を参照して、情報記憶装置20の構成例について説明する。なお、図14の情報記憶装置20のうち、図1を用いて既に説明した構成、機能および情報については同一の符号を付し、その説明を省略する。
 図14に示すように、情報記憶装置20は、入出力部110、管理情報記憶部120、制御部130及びフラッシュメモリ部1410などを備える。
 以下では、第1の実施の形態と異なる構成を有するフラッシュメモリ部1410について説明する。フラッシュメモリ部1410は、フラッシュメモリの集積回路チップとして構成されるデータを記憶するモジュールであり、図15に示すように、入力バッファ部210、メモリ部220、論理部230、メモリ駆動部1520及びデータ入出力バッファ部250を有する。
 論理部1510は、入力バッファ部210から入力された制御信号に基づいてメモリ部220への消去操作、書込み操作、読出し操作を行うための信号をメモリ駆動部1520に出力すると共に、メモリ部220への消去操作および書込み操作が成功したか否かを判定するためのベリファイ処理を行うモジュールである。
 また、論理部1510はフェイルビット数閾値決定テーブル1411を有する。図16に、フェイルビット数閾値決定テーブル1411が有する情報を示す。フェイルビット数閾値決定テーブル1411は、消去操作または書込み操作におけるフェイルビット数閾値を決定するためのテーブルである。
 図16に示すように、フェイルビット数閾値決定テーブル1411は、消去/書込み設定14110、消去フェイルビット数閾値14111及び書込みフェイルビット数閾値14112から構成される。消去フェイルビット数閾値(以下、第1の閾値と称して説明する場合もある)14111は、消去操作のベリファイ動作における消去が成功していない記憶セルの個数に関する閾値の情報である。書込みフェイルビット数閾値(以下、第2の閾値と称して説明する場合もある)14112は、書込み操作のベリファイ動作における書込みが成功していない記憶セルの個数に関する閾値の情報である。
 論理部1510は、消去操作のベリファイ動作において、消去が成功していない記憶セルが第1の閾値以下であれば消去操作を完了したと判定する。また、論理部1510は、書込み操作についても同様に、ベリファイ動作において書込みが成功していない記憶セルが第2の閾値以下であれば書込み操作を完了したと判定する。
 図16では、例えば、エラー訂正可能ビット数Neccが20ビットであり、消去/書込み設定の値が2(すなわち、劣化度レベルが1であり、要求保持期間が1日間)であったとき、第1の閾値は5、第2の閾値は5と決定される例を示している。フェイルビット数閾値決定テーブル1411は事前の実験データを用いて作成可能である。
 本実施の形態にかかる論理部1510は、制御信号に含まれる消去/書込み設定情報182を格納するレジスタ231を有し、消去/書込み設定情報182に基づいて消去/書込み操作のベリファイ動作におけるフェイルビット数閾値を変更する。
 図15に戻り、メモリ駆動部1520は論理部1510から入力される信号に従って、メモリ部220を駆動するための電圧を生成し、供給するモジュールである。
(2-3)情報記憶装置の動作
 次に、情報記憶装置20の動作の詳細について説明する。制御部130の動作の詳細は、第1の実施の形態の情報記憶装置10と同様のため、詳細な説明は省略する。
 図17及び図18を参照して、フラッシュメモリ部1410の動作の詳細について説明する。図17は、フラッシュメモリ部1410の消去操作におけるフローチャートを示している。
 図17に示すように、フラッシュメモリ部1410は、制御部130からコマンドを受信する(S1001)。具体的に、フラッシュメモリ部1410は、制御部130から消去/書込み設定情報182を含む消去コマンドを受信し、レジスタ231に消去/書込み設定情報182を格納する。
 続いて、フラッシュメモリ部1410は、消去パラメータを設定する(S1702)。具体的に、論理部1510は、消去/書込み設定情報182及びフェイルビット数閾値決定テーブル1411に基づいて、消去ベリファイ動作において許容する消去操作が完了していないビット数(消去フェイルビット数)に関する第1の閾値を設定する。
 そして、フラッシュメモリ部1410は、ブロック消去操作(S1003)、ベリファイ読出し(S1004)、データ比較(S1005)を行う。ステップS1003~ステップS1005の処理は、第1の実施の形態と同様のため、詳細な説明は省略する。
 そして、フラッシュメモリ部1410は、ステップS1005で計測されたフェイルビット数が第1の閾値以下かを判定する(S1706)。ステップS1706において、フェイルビット数が第1の閾値より大きい場合には、ステップS1003以降の処理を繰り返す。
 一方、ステップS1706において、フェイルビット数が第1の閾値以下である場合には、フラッシュメモリ部1410は、消去完了を示す通知を制御部130へ出力して(S101)、消去操作を完了する。
 次に、図18を参照して、フラッシュメモリ部1410の書込み操作の詳細について説明する。図18は、フラッシュメモリ部1410の書込み操作の例を示すフローチャートである。
 図18に示すように、まずフラッシュメモリ部1410は、制御部130から消去/書込み設定情報182を含む書込みコマンドと書込みデータを受信し、レジスタ231に消去/書込み設定情報182を格納する(S1101)。
 続いて、フラッシュメモリ部1410は、書込みパラメータを設定する(S1802)。具体的に、論理部1510は、消去/書込み設定情報182及びフェイルビット数閾値決定テーブル1411に基づいて、書込みベリファイ動作において許容する書込み操作が完了していないビット数(書込みフェイルビット数)に関する第2の閾値を設定する。
 そして、フラッシュメモリ部1410は、データ書込み操作(S1103)、ベリファイ読出し(S1104)、データ比較(S1105)を行う。ステップS1103~ステップS1105の処理は、第1の実施の形態と同様のため、詳細な説明は省略する。
 そして、フラッシュメモリ部1410は、ステップS1105で計測されたフェイルビット数が第2の閾値以下かを判定する(S1806)。ステップS1806において、フェイルビット数が第2の閾値より大きい場合には、ステップS1103以降の処理を繰り返す。
 一方、ステップS1806において、フェイルビット数が第2の閾値以下である場合には、フラッシュメモリ部1410は、書込み操作完了を示す通知を制御部130へ出力して(S101)、書込み操作を完了する。
 上記説明した情報記憶装置20の構成及び動作によって、情報記憶装置20は、フラッシュメモリの消去/書込み操作による劣化を抑制し、書込み可能回数向上を実現する。また、消去/書込み操作における処理時間短縮が可能となるため、消去/書込み操作の高速化を実現する。
 本実施の形態では、フェイルビット数閾値決定テーブル1411をフラッシュメモリ部1410の論理部1510に配置した構成例を示したがかかる例に限定されない。例えば、フェイルビット数閾値決定テーブル1411の情報を管理情報記憶部120に配置し、制御部130が消去フェイルビット数閾値(第1の閾値)または書込みフェイルビット数閾値(第2の閾値)を決定し、フラッシュメモリ部1410へ送信する実装形態も可能である。すなわち、制御部130の一部の機能を論理部1510が有する実装形態や、論理部1510の一部の機能を制御部130が有する実装形態が可能である。また、本実施の形態では、フラッシュメモリ部1410を1つの集積回路チップとして扱ったが、情報記憶装置20を1つの集積回路チップとする実装形態も可能である。
(3)第3の実施形態
(3-1)本実施の形態の概要
 第1の実施形態の情報記憶装置10及び第2の実施形態の情報記憶装置20は、ホストコンピュータから与えられた要求保持期間についてのデータ保持を保証するが、保持データのデータ消去可能を示す情報が所定期間(要求保持期間)内にホストコンピュータから得られなかった場合には、そのデータの正しさを保証できない。
 これを解決する手段として、データリフレッシュという技術がある。これは、正しくデータ保持可能な期間中にデータを読出し、読出したデータを再度書込むことでデータ保持期間を延長する技術である。
 しかし、情報記憶装置10および情報記憶装置20において要求保持期間が数時間であるなど、要求保持期間が短いケースにおいては、データリフレッシュ処理が頻発し、フラッシュメモリの劣化が促進されて書込み可能回数が減少する課題がある。また、データリフレッシュ処理中はフラッシュメモリへアクセスできなくなるため、データリフレッシュ処理の頻発は処理性能を低下させる課題がある。
 そこで、本実施の形態では、データリフレッシュが所定回数以上行われたデータについては、そのデータ保持期間を長くする方向へ消去/書込み設定を変更することにより、データリフレッシュの間隔を大きくしている。これにより、第1の実施形態及び第2の実施形態の構成において、効率よくデータリフレッシュを行うことを可能としている。
(3-2)情報記憶装置の構成
 次に、情報記憶装置30の構成について説明する。まず、図21を参照して、情報記憶装置30の構成例について説明する。なお、図21の情報記憶装置20のうち、図1を用いて既に説明した構成、機能および情報については同一の符号を付し、その説明を省略する。
 図21に示すように、情報記憶装置30は、入出力部110、管理情報記憶部2110、制御部2120及びフラッシュメモリ部140などを備える。
 管理情報記憶部2110は、DRAMなどで構成される記憶モジュールであり、ブロック状態情報2111、データ配置可否判定テーブル122、消去/書込み設定決定テーブル123及びリフレッシュ回数閾値情報2112を有する。
 図22に、ブロック状態情報2111が有する情報を示す。ブロック状態情報2111は、フラッシュメモリ部140内の記憶領域の状態を所定単位ごとに記録した情報である。図22に示すように、ブロック状態情報2111は、ブロック番号1210、消去/書き込み回数1211、消去可能フラグ1212、劣化度レベル1213及び消去/書き込み設定1214、書込み時刻21115及びリフレッシュ回数21116を含む。ブロック状態情報2111のうち、第1の実施形態のブロック状態情報121と同様の情報については説明を省略する。
 書込み時刻21115は、対象ブロックへデータを書き込んだ時刻を示す情報である。リフレッシュ回数21116は、現在までに対象データへのデータリフレッシュ処理が何回されたかを示す情報である。
 図21に戻り、リフレッシュ回数閾値情報2112は、データリフレッシュ処理においてリフレッシュ対象データの消去/書込み設定を変更する基準値を示す情報である。
 制御部2120は、ホストコンピュータ101の要求に応じて、フラッシュメモリ部140へデータ書込みとデータ読出しを行うモジュールであり、書込み先ブロック決定手段131、消去/書込み設定決定手段132、ブロック状態情報更新手段133及び要求保持期間修正手段2121を有する。
 要求保持期間修正手段2121は、データリフレッシュ処理において、ブロック状態情報2111の対象データの消去/書込み設定とリフレッシュ回数の情報に基づいて、要求保持期間の情報を修正する手段である。データリフレッシュ処理において、要求保持期間情報は、フラッシュメモリ部140への消去/書込み設定情報182を決定するための情報であるともに、フラッシュメモリ部140に書き込まれているデータが正しく保持される期間を示す情報としても扱われる。
(3-2)情報記憶装置の動作
 図23を参照して、制御部2120の書込み処理の詳細について説明する。図23は、制御部2120のデータリフレッシュ動作の例を示したフローチャートである。
 図23に示すように、制御部2120は、対象ブロックに格納されているデータ(以下、単に対象データと称して説明する。)をリフレッシュするかを判定する処理を実行する(S2301)。ステップS2301における判定処理は、ブロック状態情報2111の消去/書込み設定情報と書込み時刻情報を定期的に読出し、その値を比較することにより行うことができる。
 そのステップS2301の判定処理の一例としては、まず、対象データの消去/書込み設定情報と消去/書込み設定決定テーブル123とを比較して、対象データの要求保持期間情報、すなわち、適用した消去/書込み設定によって正しくデータを保持可能な期間を取得する。そして、現在の時刻情報(図示せず)と書込み時刻情報とを比較して、対象データを書き込んでからの経過時間情報を取得する。そして、取得したこれら2つの情報の差分が所定値以下であれば、対象データのデータリフレッシュ処理を行うと判定する。
 そして、制御部2120は、ステップS2301Sの判定結果に基づいて、対象データにデータリフレッシュ処理を実施する場合にはステップS2310を実行し、実施しない場合にはリフレッシュ判定処理の対象データを変更してステップS2301以降の処理を繰り返す。
 そして、制御部2120は、要求保持期間修正手段2121を用いて要求保持期間情報を修正する処理を行う(S2310)。具体的に、要求保持期間修正手段2121は、ブロック状態情報2111のリフレッシュ回数情報とリフレッシュ回数閾値情報2112とを比較し、対象データのリフレッシュ回数がリフレッシュ回数閾値情報2112で示される所定値以上であれば、要求保持期間情報をステップS2301で得られた要求保持期間よりも大きい時間へ修正する。
 本実施の形態では、例えば、要求保持期間情が1日間である場合には、その値が30日間に変更される。また、要求保持期間が情報記憶装置30において設定可能な最大値である30日間であった場合には、その値は変更されない。
 続くステップS802(書込み先ブロック決定処理)からステップS807の処理は、図8を用いて説明した情報記憶装置10の制御部130の動作と同様の処理のため説明を省略する。
 そして、制御部2120は、データリフレッシュ処理の対象ブロックにおける全てのデータについて書込み処理が完了しているかを判定する(S2311)。ステップS211において、すべてのデータの書込みが完了していないと判定された場合には、制御部2120は、ステップS806以降の処理を繰り返す。
 一方、ステップS2311において、すべてのデータの書込みが完了していると判定された場合には、制御部2120は、ブロック状態を更新する(S2320)。ステップS2320では、適用した消去/書込み設定情報182を用いてブロック状態情報2111にある消去/書込み回数と消去/書込み設定の値、さらに書込み時刻情報とリフレッシュ回数を更新する。リフレッシュ回数は、ステップS2310Sにおいて要求保持期間情報がより大きな保持期間へ修正されたならば「0」に更新し、修正されていなければ既存値に「1」を加算した値に更新する。
 フラッシュメモリ部140の動作は情報記憶装置10と同一であるため、説明を省略する。
 上記説明した情報記憶装置30の構成及び動作によって、情報記憶装置30は、データリフレッシュの頻度によるフラッシュメモリの劣化を抑制し、書込み可能回数の向上を実現する。すなわち、書込みデータの経過時間(保持時間)情報に基づいて、フラッシュメモリ部140のベリファイ動作におけるベリファイ電圧を変更することによって、データリフレッシュの頻度を抑制し、書込み可能回数の向上を実現することができる。
 本実施の形態では、特に情報記憶装置10をベースとして情報記憶装置30の説明を行ったが、情報記憶装置30のフラッシュメモリ部140をフラッシュメモリ部1410に変更した実施形態、すなわち、情報記憶装置20をベースとした実装形態も可能である。
 10、20、30  情報記憶装置
 101  ホストコンピュータ
 110  入出力部
 120  管理情報記憶部
 121  ブロック状態情報
 122  データ配置可否判定テーブル
 123  設定決定テーブル
 130  制御部
 131  先ブロック決定手段
 132  設定決定手段
 133  ブロック状態情報更新手段
 140  フラッシュメモリ部
 142  ベリファイ電圧決定テーブル
 143  印加電圧決定テーブル
 144  ベリファイ電圧変更手段
 145  印加電圧変更手段
 

Claims (10)

  1.  不揮発性メモリへのデータの消去操作または書込み操作を制御する制御部と、
     1つ以上の不揮発性メモリを有する不揮発性メモリモジュールと、
     ホストコンピュータからデータの保証期間を示す保証期間情報を受け取る入出力部と、
     を備え、
     前記制御部は、
     前記データの保証期間情報に基づいて、前記消去操作または前記書込み操作における前記不揮発性メモリのベリファイ動作の動作条件を決定する
     ことを特徴とする、情報記憶装置。
  2.  前記制御部は、
     前記データの保証期間情報に基づいて、前記ベリファイ動作のベリファイ電圧を設定する
     ことを特徴とする、請求項1に記載の情報記憶装置。
  3.  前記制御部は、
     前記保証期間情報が示す保証期間が短いほど、前記消去操作におけるベリファイ電圧と前記書込み操作におけるベリファイ電圧との差分が小さくなるように、前記消去操作におけるベリファイ電圧または前記書込み操作におけるベリファイ電圧のうち、少なくとも一方を設定する
     ことを特徴とする、請求項2に記載の情報記憶装置。
  4.  前記制御部は、
     前記データの保証期間情報に基づいて、前記ベリファイ動作の成否を判定するための条件として、前記消去操作または前記書込み操作が成功していない前記不揮発性メモリの記憶セルの許容数を設定する
     ことを特徴とする、請求項3に記載の情報記憶装置。
  5.  前記制御部は、
     前記保証期間情報が示す保証期間が短いほど、前記許容数が大きくなるように設定する
     ことを特徴とする、請求項4に記載の情報記憶装置。
  6.  不揮発性メモリへのデータの消去操作または書込み操作を制御する制御部と、1つ以上の不揮発性メモリを有する不揮発性メモリモジュールと、ホストコンピュータとデータを送受信する入出力部と、を備える制御装置の制御方法であって、
     前記入出力部が、前記ホストコンピュータからデータの保証期間を示す保証期間情報を受け取る第1のステップと、
     前記制御部が、前記データの保証期間情報に基づいて、前記消去操作または前記書込み操作における前記不揮発性メモリのベリファイ動作の動作条件を決定する第2のステップと、
     を含むことを特徴とする、情報記憶装置の制御方法。
  7.  前記第2のステップにおいて、
     前記制御部が、前記データの保証期間情報に基づいて、前記ベリファイ動作のベリファイ電圧を設定する
     ことを特徴とする、請求項6に記載の情報記憶装置の制御方法。
  8.  前記第2のステップにおいて、
     前記制御部が、前記保証期間情報が示す保証期間が短いほど、前記消去操作におけるベリファイ電圧と前記書込み操作におけるベリファイ電圧との差分が小さくなるように、前記消去操作におけるベリファイ電圧または前記書込み操作におけるベリファイ電圧のうち、少なくとも一方を設定する
     ことを特徴とする、請求項7に記載の情報記憶装置の制御方法。
  9.  前記第2のステップにおいて、
     前記制御部が、前記データの保証期間情報に基づいて、前記ベリファイ動作の成否を判定するための条件として、前記消去操作または前記書込み操作が成功していない前記不揮発性メモリの記憶セルの許容数を設定する
     ことを特徴とする、請求項8に記載の情報記憶装置の制御方法。
  10.  前記第2のステップにおいて、
     前記制御部が、前記保証期間情報が示す保証期間が短いほど、前記許容数が大きくなるように設定する
     ことを特徴とする、請求項9に記載の情報記憶装置の制御方法。
     
PCT/JP2014/060342 2014-04-09 2014-04-09 情報記憶装置及び情報記憶装置の制御方法 WO2015155860A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/060342 WO2015155860A1 (ja) 2014-04-09 2014-04-09 情報記憶装置及び情報記憶装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/060342 WO2015155860A1 (ja) 2014-04-09 2014-04-09 情報記憶装置及び情報記憶装置の制御方法

Publications (1)

Publication Number Publication Date
WO2015155860A1 true WO2015155860A1 (ja) 2015-10-15

Family

ID=54287462

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/060342 WO2015155860A1 (ja) 2014-04-09 2014-04-09 情報記憶装置及び情報記憶装置の制御方法

Country Status (1)

Country Link
WO (1) WO2015155860A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017228287A (ja) * 2016-06-20 2017-12-28 三星電子株式会社Samsung Electronics Co.,Ltd. フラッシュメモリの割当方法及びそれを用いたソリッドステートドライブ
CN108140408A (zh) * 2015-10-19 2018-06-08 硅存储技术公司 用于闪存存储器的动力驱动优化
US10002670B2 (en) 2016-04-18 2018-06-19 Fujitsu Limited Memory and memory control method
US11513879B2 (en) 2019-02-20 2022-11-29 Seagate Technologies Llc Detection and mitigation for solid-state storage device read failures due to weak erase

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197880A (ja) * 2000-12-27 2002-07-12 Sharp Corp 不揮発性半導体記憶装置
JP2009537055A (ja) * 2006-05-12 2009-10-22 アノビット テクノロジーズ リミテッド 適応能力を有するメモリ素子
JP2009301680A (ja) * 2008-06-17 2009-12-24 Panasonic Corp 半導体記憶装置及びホスト装置
JP2013041642A (ja) * 2011-08-16 2013-02-28 Renesas Electronics Corp 半導体装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197880A (ja) * 2000-12-27 2002-07-12 Sharp Corp 不揮発性半導体記憶装置
JP2009537055A (ja) * 2006-05-12 2009-10-22 アノビット テクノロジーズ リミテッド 適応能力を有するメモリ素子
JP2009301680A (ja) * 2008-06-17 2009-12-24 Panasonic Corp 半導体記憶装置及びホスト装置
JP2013041642A (ja) * 2011-08-16 2013-02-28 Renesas Electronics Corp 半導体装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108140408A (zh) * 2015-10-19 2018-06-08 硅存储技术公司 用于闪存存储器的动力驱动优化
JP2018536960A (ja) * 2015-10-19 2018-12-13 シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. フラッシュメモリの動力駆動最適化
US10002670B2 (en) 2016-04-18 2018-06-19 Fujitsu Limited Memory and memory control method
JP2017228287A (ja) * 2016-06-20 2017-12-28 三星電子株式会社Samsung Electronics Co.,Ltd. フラッシュメモリの割当方法及びそれを用いたソリッドステートドライブ
CN107526543A (zh) * 2016-06-20 2017-12-29 三星电子株式会社 形性存储设备
CN107526543B (zh) * 2016-06-20 2022-02-01 三星电子株式会社 形性存储设备
KR20230004358A (ko) * 2016-06-20 2023-01-06 삼성전자주식회사 모픽 스토리지 장치
KR102546244B1 (ko) * 2016-06-20 2023-06-22 삼성전자주식회사 모픽 스토리지 장치
US11513879B2 (en) 2019-02-20 2022-11-29 Seagate Technologies Llc Detection and mitigation for solid-state storage device read failures due to weak erase

Similar Documents

Publication Publication Date Title
JP6249504B1 (ja) 半導体記憶装置
JP5596791B2 (ja) エラーを管理するための書き込み後読み出しおよび適応再書き込みを伴う不揮発性メモリおよび方法
US7660166B2 (en) Method of improving programming precision in flash memory
JP5259481B2 (ja) 不揮発性半導体記憶装置
KR100873825B1 (ko) 비휘발성 메모리의 멀티 비트 프로그래밍 장치 및 방법
KR101532754B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
US9361024B1 (en) Memory cell programming method, memory control circuit unit and memory storage apparatus
JP4510072B2 (ja) 不揮発性半導体記憶装置とその書き込み方法
JP2008257773A (ja) 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード
JP2008123330A (ja) 不揮発性半導体記憶装置
US9384839B2 (en) Write sequence providing write abort protection
US9361221B1 (en) Write amplification reduction through reliable writes during garbage collection
JP2008108297A (ja) 不揮発性半導体記憶装置
CN106297883B (zh) 解码方法、存储器存储装置及存储器控制电路单元
JP5804584B1 (ja) Nand型フラッシュメモリのプログラム方法
JP4491000B2 (ja) メモリシステム
WO2015155860A1 (ja) 情報記憶装置及び情報記憶装置の制御方法
US8081517B2 (en) Solid state storage system for uniformly using memory area and method controlling the same
KR101991437B1 (ko) 반도체 메모리 장치 및 그의 동작방법
KR100866626B1 (ko) 스페어 영역을 갖는 비휘발성 메모리 장치 및 그의 블록소거 방법
KR20220072380A (ko) 컨트롤러 및 컨트롤러의 동작방법
CN106205699B (zh) 存储器管理方法、存储器存储装置与存储器控制电路单元
JP5731622B2 (ja) フラッシュメモリ、バッドブロックの管理方法および管理プログラム
KR20090083204A (ko) 메모리 장치 및 메모리 데이터 읽기 방법
JP2013069367A (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: 14888769

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14888769

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP