WO2009107268A1 - Semiconductor storage device - Google Patents

Semiconductor storage device Download PDF

Info

Publication number
WO2009107268A1
WO2009107268A1 PCT/JP2008/067597 JP2008067597W WO2009107268A1 WO 2009107268 A1 WO2009107268 A1 WO 2009107268A1 JP 2008067597 W JP2008067597 W JP 2008067597W WO 2009107268 A1 WO2009107268 A1 WO 2009107268A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
management table
data
monitored
error count
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2008/067597
Other languages
English (en)
French (fr)
Inventor
Toshikatsu Hida
Shinichi Kanno
Hirokuni Yano
Kazuya Kitsunai
Shigehiro Asano
Junji Yano
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to US12/529,282 priority Critical patent/US8060797B2/en
Priority to EP08872498A priority patent/EP2245542B1/en
Priority to CN2008800063643A priority patent/CN101622607B/zh
Publication of WO2009107268A1 publication Critical patent/WO2009107268A1/en
Anticipated expiration legal-status Critical
Priority to US13/270,788 priority patent/US8219861B2/en
Priority to US13/486,718 priority patent/US8583972B2/en
Priority to US14/049,742 priority patent/US8793555B2/en
Priority to US14/309,611 priority patent/US9037947B2/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Definitions

  • the present invention relates to a semiconductor storage device.
  • the present invention relates to a semiconductor storage device that includes, for example, an NAND flash memory.
  • An NAND flash memory is a non-volatile memory that can retain information even when power supply is stopped.
  • the NAND flash memory is widely popular because it has better per-bit cost than other types of non-volatile memory.
  • influence of aged deterioration in written data and read-disturb have been becoming actualized in the NAND flash memory.
  • the read-disturb refers to data corruption accompanying a reading process.
  • the aged deterioration is a phenomenon in which a floating gate that accumulates electric charge gradually loses electric charge with time progress, thereby causing data error.
  • the read-disturb is a phenomenon in which an error occurs in stored data, because a minute amount of electric charge is accumulated in a floating gate of the memory cell adjacent to a memory cell from which data is read out.
  • NAND flash memory is performed after stored data is read out and error correction is performed.
  • a method of extending the data retaining period for data stored in the NAND flash memory by a refresh operation as mentioned above, for example, a method can be considered in which a number of times data is read out from the NAND flash memory and the like is counted. Then a refresh operation is performed when the number of times of readout reaches a specified number. Alternatively, a method can be considered in which a refresh operation is performed when an error count ( the number of errors) increases (refer to, for example, Patent
  • the NAND flash memory is a device such that the number of rewriting is limited, life of the NAND flash memory is shortened by the refresh operation being needlessly performed.
  • Patent Document 1 Japanese Patent Application Laid-open No. 2004-326867
  • the present invention provides a semiconductor storage device that can efficiently perform a refresh operation.
  • a semiconductor storage device comprising: a non-volatile semiconductor memory storing data in blocks, the block being a unit of data erasing; and a controlling unit monitoring an error count of data stored in a monitored block selected from the blocks and refreshing data in the monitored block in which the error count is equal to or larger than a threshold value.
  • Fig. 1 is a block diagram of an overall configuration of a semiconductor storage device according to a first embodiment of the present invention
  • Fig. 2 is a diagram explaining a configuration of a first management table in the semiconductor storage device according to the first embodiment
  • Fig. 3 is a flowchart of a monitored block selecting process performed in the semiconductor storage device according to the first embodiment
  • Fig. 4 is a flowchart of a monitored block registering process for registering a monitored block to the first management table in the semiconductor storage device according to the first embodiment
  • Fig. 5 is a flowchart of a registering process for registering a block to the first management table in the semiconductor storage device according to the first embodiment
  • Fig. 6 is a flowchart of an error count monitoring process performed on a block registered to the first management table in the semiconductor storage device according to the first embodiment
  • Fig. 7 is a flowchart of a deleting process for deleting a block on which a refresh operation has been performed from the first management table in the semiconductor storage device according to the first embodiment
  • Fig. 8 is a diagram explaining a configuration of a second management table in the semiconductor storage device according to the first embodiment
  • Fig. 9 is a flowchart of a monitored block selecting process performed in the semiconductor storage device according to the first embodiment
  • Fig. 10 is a diagram explaining a configuration of a third management table in the semiconductor storage device according to the first embodiment
  • Fig. 11 is a flowchart of a monitored block selecting process performed in the semiconductor storage device according to the first embodiment
  • Fig . 12 is a diagram explaining a configuration of a fourth management table in the semiconductor storage device according to the first embodiment
  • Fig. 13 is a flowchart of a monitored block selecting process performed in the semiconductor storage device according to the first embodiment
  • Fig. 14 is a diagram explaining a configuration of a fifth management table in the semiconductor storage device according to the first embodiment
  • Fig. 15 is a flowchart of a registering process for registering a block to the first management table in the semiconductor storage device according to the first embodiment
  • Fig. 16 is a diagram explaining a configuration of a sixth management table in the semiconductor storage device according to the first embodiment
  • Fig. 17 is a flowchart of a deleting process for deleting a block excluded from error count monitoring from a first management table of a semiconductor storage device according to a sixth embodiment
  • Fig. 18 is a diagram explaining a configuration of a seventh management table in the semiconductor storage device according to the first embodiment
  • Fig. 19 is a flowchart of an error count monitoring process performed on a monitored block registered to a first management table in a semiconductor storage device according to a seventh embodiment ;
  • Fig. 20 is a block diagram of a configuration of an SSD in an example of the present invention.
  • Fig. 21 is a block diagram of a configuration of a drive controlling circuit in the example.
  • Fig. 22 is a block diagram of a configuration of a processor in the example of the present invention.
  • Fig. 23 is a perspective view of an example of a portable computer on which the SSD is mounted in the example
  • Fig. 24 is a diagram of an example of a system configuration of the portable computer on which the SSD is mounted in the example of the present invention.
  • FIG. 1 is a block diagram of an overall configuration of a semiconductor storage device 1 according to a first embodiment.
  • the semiconductor storage device 1 shown in Fig. 1 is an embodiment of the present invention. The present invention is not limited to the configuration.
  • the semiconductor storage device 1 according to the first embodiment includes a controlling unit 3 and an NAND flash memory 10.
  • the controlling unit 3 includes a central processing unit (CPU) 4, a random access memory (RAM) 5, a host interface
  • the CPU 4 runs programs.
  • the RAM 5 stores therein data, programs, and the like.
  • the host I/F 6 communicates with a host device 2 connected to the semiconductor storage device 1.
  • the NAND I/F 8 controls data transfer performed between the controlling unit 3 and the NAND flash memory 10.
  • the bus 9 connects the CPU 4, the RAM 5, the host I/F 6, the timer 7, and the NAND I/F 8 in a manner allowing communication.
  • the NAND flash memory 10 is configured by arraying a plurality of blocks.
  • a block is a unit by which data is erased.
  • a block includes a plurality of pages .
  • a page is a unit by which data is written and read.
  • the semiconductor storage device 1 communicates with the host device 2, via the host I/F 6, thereby performing data transfer between the host device 2 and the semiconductor storage device 1 in response to a request from the host device 2.
  • Interpretation of the request from the host device 2 and control of the semiconductor storage device 1 itself are realized by the CPU 4 interpreting a program stored in the RAM 5 within the controlling unit 3.
  • Data provided by the host device 2 is stored in the NAND flash memory 10.
  • the controlling unit 3 mediates data transfer between the host device 2 and the NAND flash memory 10.
  • the controlling unit 3 within the semiconductor storage device 1 communicates with the host device 2, via the host I/F 6, thereby performing data transfer between the RAM 5 within the controlling unit 3 and the host device 2.
  • Data transferred from the host device 2 is temporarily retained in the RAM 5 within the controlling unit 3.
  • the data is written to the NAND flash memory 10, via the NAND I/F 8.
  • the controlling unit 3 the data is read from the NAND flash memory 10 in response to an instruction from the CPU 4, and the read data is stored in the RAM 5 within the controlling unit 3.
  • the controlling unit 3 then transfers the data stored in the RAM 5 to the host device 2, via the host I/F 6.
  • the NAND I/F 8 used when the data is written to and read from the NAND flash memory 10 includes an error correcting unit 21 and an error count detecting unit 22.
  • the error correcting unit 21 and the error count detecting unit 22 serve as an error correcting circuit.
  • the error correcting unit 21 provides a function for correcting an error in data read out from an arbitrary block within the NAND flash memory 10.
  • the error count detecting unit 22 provides a function for detecting an error count of errors corrected by the error correcting unit 21.
  • a correction capability of an error correcting code attached by the error correcting unit 21 is two bits or more.
  • the present embodiment is described under a premise that the correction capability is eight bits. However, the present invention is not limited to this error correction capability.
  • the error correcting unit 21 calculates the error correcting code of the data to be written in, and writes the error correcting code in the NAND flash memory 10 with the data.
  • the error correcting unit 21 uses the data read out from the NAND flash memory 10 and the error correcting code stored with the data in the NAND flash memory 10 to correct an error in the read data.
  • the error count detecting unit 22 detects an error count of corrected errors and stores therein the detected error count.
  • the error count of corrected errors is stored in the error count detecting unit 22.
  • a location in which the error count of corrected errors is stored is not limited thereto.
  • the NAND I/F 8 When the error correcting unit 21 corrects the error, the NAND I/F 8 generates an interrupt to the CPU 4, thereby giving notification that an error has occurred in the data stored in the NAND flash memory 10. The CPU 4 then accesses the error count detecting unit 22 in the NAND I/F 8 and obtains the count of corrected errors.
  • the timer 7 when an arbitrary amount of time is set, then internally measures time.
  • the timer 7 generates an interrupt to the CPU 4 when the set amount of time elapses.
  • the CPU 4 is notified of the elapse of the set amount of time by the interrupt from the timer 7.
  • the NAND flash memory 10 stores therein data provided by the host device 2 and error correcting codes calculated from the data by the error correcting unit 21 in combination.
  • the RAM 5 includes a first management table 31.
  • the first management table 31 records therein information on blocks requiring a refresh operation to be performed in a near future.
  • Fig. 2 is a diagram explaining a configuration of the first management table 31.
  • the first management table 31 includes a plurality of entries .
  • a block number in the NAND flash memory 10 is registered to each entry.
  • the first management table 31 is accessed by an entry number.
  • a block recorded in each entry is treated as a block in which an error count of storing data is to be monitored (referred to, hereinafter, as a monitored block) .
  • the RAM 5 also may include a second management table 32, a third management table 33, a fourth management table 34, a fifth management table 35, a sixth management table 36, and a seventh management table 37.
  • the second management table 32 to the seventh management table 37 will be described hereafter.
  • Fig. 3 is a flowchart of a process for selecting a monitored block according to the first embodiment.
  • the error correcting section 21 corrects the error in the read data.
  • the error count detecting unit 22 detects the count of errors corrected and stores therein the detected error count.
  • the CPU 4 accesses the error count detecting unit 22, acquires the error count of the errors that have occurred in the read data, and checks the error count (Step SlOl) .
  • the CPU 4 then checks whether the error count is equal to a first threshold value or more (Step S102) .
  • the first threshold value is a threshold value of the error count used to select a block to be monitored.
  • the first threshold value is a two-bit.
  • the CPU 4 selects the block in which the error has occurred (the block in which the data read out from the NAND flash memory 10 is stored) as the monitored block and registers the block to the first management table 31 (Step S103) .
  • the CPU 4 completes the process without registering the block to the first management table 31.
  • the data stored in the block registered to the first management table 31 has a high error count. It is very likely that the error count will further increase due to the influence of the aged deterioration and the read-disturb. Therefore, the CPU 4 periodically reads out the data in the block registered to the first management table 31 from the NAND flash memory 10, checks the error count, and monitors increasing tendency in the error count of the data. The CPU 4 performs a refresh operation on the block when the error count of errors that have occurred in the data stored in the block exceeds a specified number.
  • the error count is detected from only the data read out from the NAND flash memory 10 in response to a read request by the host device 2, the aged deterioration occurring in data stored in a block that is rarely read out from the NAND flash memory 10 cannot be detected. Therefore, it is preferable that data in all areas of the first management table 31 in the NAND flash memory 10 is read at an arbitrary timing and the error count of the data is checked.
  • the arbitrary timing can be when power is turned on, an interval of once every few months, and the like. As a result, the increasing tendency in the error count can be monitored for the data stored in blocks that are rarely read out.
  • Fig. 4 is a flowchart of a process for checking whether a block newly selected as the monitored block is already registered to the first management table 31.
  • the CPU 4 checks content registered in an Nth entry (N is an entry number in the first management table 31) in the first management table 31 (Step Sill) .
  • the CPU 4 judges whether a block registered to the Nth entry is the same as the block newly selected as the monitored block (Step S112) .
  • the CPU 4 completes the process.
  • the CPU 4 checks whether the Nth entry is a last entry (Step S113) .
  • the CPU 4 returns to Step Sill and increments the entry number by one.
  • the CPU 4 completes the process.
  • Fig. 5 is a flowchart of a process for registering the monitored block to the first management table 31.
  • the CPU 4 checks the Nth entry (N is an entry number in the first management table 31) (Step S121) in the first management table 31 and judges whether the Nth entry is a blank entry (Step S122) .
  • the CPU 4 registers the monitored block to the blank entry (Step S126) and completes the process.
  • the CPU 4 checks whether the Nth entry is the last entry (Step S123) .
  • the CPU 4 returns to Step S121 and increments the entry number by one.
  • Step S123 the CPU 4 forcibly performs the refresh operation on a block registered to the first management table 31 and creates a blank entry in the first management table 31 (Step S124) . Since the error count of the data in the refreshed block decreases, the CPU 4 deletes the block from the first management table 31. The CPU 4 then registers the new monitored block to the blank entry (Step S125) and completes the process.
  • Fig. 6 is a flowchart of a process for monitoring the error count of the block registered to the first management table 31.
  • the CPU 4 checks the Nth entry (N is an entry number in the first management table 31) in the first management table 31 (Step S131) .
  • the CPU 4 judges whether a block is already registered to the Nth entry (Step S132) .
  • the CPU 4 checks whether the Nth entry is the last entry (Step S136) .
  • the CPU 4 returns to Step S131 and increments the entry number by one.
  • the CPU 4 completes the process .
  • Step S132 when a block is already registered (Yes at Step S132) , the CPU 4 reads out the data in the block registered to the Nth entry from the NAND flash memory 10 to the RAM 5 within the controlling unit 3.
  • the error correcting unit 21 corrects an error in the read data.
  • the error count detecting unit 22 detects the count of corrected errors and stores therein the detected error count.
  • the CPU 4 accesses the error count detecting unit 22, obtains the error count of the errors that have occurred in the read data, and checks the error count (Step S133) .
  • the CPU 4 judges whether the error count of the read data is equal to a second threshold value or more (Step S134) .
  • the second threshold value is a threshold value of the error count used to select a block in which data is to be rewritten (refreshed) by a predetermined method.
  • the second threshold value is a four-bit.
  • the second threshold value is set taking into consideration the correction capability of the error correcting code.
  • the CPU 4 checks whether the Nth entry is the last entry (Step S136) . When the Nth entry is not the last entry (No at Step 136) , the CPU 4 returns to Step S131 and increments the entry number by one. When the Nth entry is the last entry (Yes at Step S136) , the CPU 4 completes the process.
  • Step S134 when the error count is equal to the second threshold value or more (four bits or more) (Yes at Step S134) , the CPU 4 performs a refresh operation on the block registered to the Nth entry (Step S135) .
  • the CPU 4 then checks whether the Nth entry is the last entry (Step S136) . When the Nth entry- is not the last entry (No at Step S136) , the CPU 4 returns to Step S131 and increments the entry number by one. When the Nth entry is the last entry (Yes at Step S131) , the CPU 4 completes the process.
  • an error count threshold value (second threshold value) for refreshing the monitored block registered in the first management table 31 is set to be greater than an error count threshold value (first threshold value) for registering a block as the monitored block to the first management table 31.
  • Fig. 7 is a flowchart of a process for deleting the refreshed block from the first management table 31.
  • the CPU 4 checks the Nth (N is an entry number in the first management table 31) entry in the first management table 31 (Step S141) .
  • the CPU 4 judges whether the registered block is a subject block, namely a refreshed block (Step S142) .
  • the CPU 4 checks whether the entry is the last entry (Step S144) .
  • the CPU 4 returns to Step S141 and increments the entry number by one.
  • the CPU 4 completes the process.
  • Step S142 when the registered block is the subject block (Yes at Step S142) , the CPU 4 deletes the block registered in the Nth entry from the first management table 31 (Step S143) and completes the process.
  • the data can be rewritten in another empty block rather than being rewritten in the block in which the data had originally been written.
  • the block in the NAND flash memory 10 storing the data that will require the refresh operation to be performed in the near future, due to the influence of the aged deterioration and the read-disturb, is selected based on the error count of errors occurring in the data stored in the block.
  • the selected block is registered in the first management table 31 as the monitored block of which the error count of the data is monitored.
  • the data in the block registered to the first management table 31 is periodically read and the error count is checked.
  • the refresh operation is performed.
  • an interval at which the refresh operation is performed on the block can be extended within a range of the correction capability of the error correcting code, thereby reducing the number of refresh operation performed.
  • the number of times the NAND flash memory 10 is rewritten can be controlled.
  • data corruption caused by the aged deterioration and the read-disturb can be prevented with more certainty by the refresh operation being less frequently performed.
  • a semiconductor storage device can be actualized in which an amount of processing and power consumption during the refresh operation is suppressed.
  • the error count threshold value (second threshold value) for refreshing the monitored block registered to the first management table 31 is greater than the error count threshold value (first threshold value) for registering a block as the monitored block to the first management table 31.
  • first threshold value the error count threshold value for registering a block as the monitored block to the first management table 31.
  • Fig. 8 is a diagram explaining a configuration of a second management table 32.
  • the second management table 32 is a management table storing therein a read-out amount of data in a block in the NAND flash memory 10.
  • the second management table 32 is configured in the RAM 5.
  • the second management table 32 stores each of the block numbers in the NAND flash memory 10 and read-out amounts of data read from the blocks.
  • the CPU 4 Whenever the CPU 4 reads out data from a block in the NAND flash memory 10, the CPU 4 counts a read-out amount of the data by a number of pages.
  • the CPU 4 stores a page count in the second management table 32 and updates the page count.
  • the read-out amount stored in the second management table 32 is a read-out amount counted after the data is stored in the block in the NAND flash memory 10. A value of the read-out amount is cleared whenever the data in the block is erased.
  • An integrated quantity of data volume or a read-out frequency can be used as the read-out amount of the data.
  • Fig. 9 is a flowchart of a monitored block selecting process according to the second embodiment.
  • the CPU 4 updates a read-out amount in the second management table 32 of the data in the block (Step S151) -
  • the CPU 4 checks whether the updated read-out amount of the data is equal to a third threshold value or more (Step S152) .
  • the third threshold value is a threshold value of the read-out amount of the data from the block used to select a block to be monitored.
  • the third threshold value is a read-out amount of ICTlO pages.
  • the CPU 4 registers the block from which the data is read out to the first management table 31 as the monitored block (Step S153) .
  • the CPU 4 completes the process without registering the block to the first management table 31.
  • a method of monitoring the error count of the data in the blocks registered to the first management table 31 is similar to that according to the first embodiment. Detailed descriptions thereof are omitted.
  • the block in the NAND flash memory 10 storing the data that will require a refresh operation to be performed in the near future, due to the influence of the aged deterioration and the read-disturb, is selected based on the read-out amount of the data stored in the block.
  • the selected block is registered in the first management table 31 as the monitored block of which the error count of the data is monitored. Then, the data in the block registered to the first management table 31 is periodically read and the error count is checked. When the error count of the data exceeds a specified number, the refresh operation is performed.
  • a third embodiment a case that a monitored block is selected based on a writing time at which data is written in a block in the NAND flash memory 10 in the semiconductor storage device 1 of Fig. 1 is described.
  • a method of registering the monitored block according to the third embodiment differs from that according to the first embodiment.
  • Other aspects according to the third embodiment are the same as those according to the first embodiment.
  • Fig. 10 is a diagram explaining a configuration of a third management table 33.
  • the third management table 33 is a management table storing therein a writing time at which data is written in a block in the NAND flash memory 10.
  • the third management table 33 is configured in the RAM 5.
  • the third management table 33 stores each of the block numbers in the NAND flash memory 10 and writing times at which data are written in the blocks.
  • the CPU 4 When the CPU 4 writes data in the block in the NAND flash memory 10, the CPU 4 stores a writing time in the third management table 33.
  • a value of the writing time stored in the third management table 33 is cleared whenever the data in the block in the NAND flash memory is erased.
  • the writing time stored in the third management table 33 is merely required to indicate a time difference between a point in time at which the data is written and a current time, through use of a total number of erasures in the NAND flash memory and the like, in addition to an operating time of the semiconductor storage device 1.
  • Fig. 11 is a flowchart of a monitored block selecting process according to the third embodiment.
  • the CPU 4 calculates a difference between a writing time stored in the third management table 33 at which a last writing operation has been performed on the block from which the data is to be read, and a current time. In other words, the CPU 4 calculates an amount of elapsed time from the writing time of the block from which the data is to be read (Step S161) . The CPU 4 then checks whether the elapsed time from the writing time of the block is equal to a fourth threshold value or more (Step S162) .
  • the fourth threshold value is a threshold value of an amount of time elapsed from a writing time of the block used to select the block to be monitored. Here, for example, the fourth threshold value is one month.
  • the CPU 4 registers the block from which the data is read to the first management table 31 as the monitored block (Step S163) .
  • the CPU 4 completes the process without registering the block to the first management table 31.
  • a method of monitoring the error count of the data in the blocks registered to the first management table 31 is similar to that according to the first embodiment. Detailed descriptions thereof are omitted.
  • the elapsed time from the writing time of the block is checked only for the data read out from the NAND flash memory 10 in response to a read request by the host device 2, the aged deterioration occurring in data stored in a block that is rarely read out from the NAND flash memory 10 cannot be detected. Therefore, it is preferable that data in all areas of the first management table 31 in the NAND flash memory 10 is read at an arbitrary timing and the elapsed time from the writing time of the blocks is checked.
  • the arbitrary timing can be when power is turned ON, an interval of once every few months, and the like. As a result, the increasing tendency in the error count can be monitored for the data stored in blocks that are rarely read.
  • the block in the NAND flash memory 10 storing the data that will require a refresh operation to be performed in the near future, due to the influence of the aged deterioration and the read-disturb, is selected based on the elapsed time from a last writing time of the block.
  • the selected block is registered in the first management table 31 as the monitored block of which the error count of the data is monitored. Then, the data in the block registered to the first management table 31 is periodically read and the error count is checked. When the error count of the data exceeds a specified number, the refresh operation is performed.
  • a fourth embodiment a case that a monitored block is selected based on a sequence in which data is written in blocks in the NAND flash memory 10 in the semiconductor storage device 1 of Fig. 1 is described.
  • a method of registering the monitored block according to the fourth embodiment differs from that according to the first embodiment.
  • Other aspects according to the fourth embodiment are the same as those according to the first embodiment.
  • Fig. 12 is a diagram explaining a configuration of a fourth management table 34.
  • the fourth management table 34 is a management table storing therein a sequence in which data is written in the blocks in the NAND flash memory 10.
  • the fourth management table 34 is configured in the RAM 5.
  • the fourth management table 34 stores each of the block numbers in the NAND flash memory 10 and corresponding sequence numbers in which data is written in the NAND flash memory 10.
  • the CPU 4 When the CPU 4 writes data in a block in the NAND flash memory 10, the CPU 4 stores the sequence number in which the data is written in the NAND flash memory 10 in the fourth management table 34 and updates the fourth management table 34.
  • the fourth management table 34 is preferably actualized by a linked structure or the like, such that processes to be performed do not increase even when writing sequence numbers are updated whenever a writing process is performed. As a result, processing load placed on the CPU 4 can be reduced and processing time can be shortened.
  • a writing process for writing data in the NAND flash memory 10 in response to a request from the host device 2 is performed, a sequence number in which data is written in the blocks in the NAND flash memory 10 is stored and the sequence numbers are updated through procedures shown in Fig. 13. A block of which the error count is to be monitored is decided based on the writing sequence number.
  • Fig. 13 is a flowchart of a monitored block selecting process according to the fourth embodiment.
  • the CPU 4 stores the writing sequence number in the fourth management table 34 and updates the writing sequence numbers (Step S171) .
  • the CPU 4 then checks a block corresponding to an Nth writing sequence number (N is a writing sequence number in the fourth management table 34) in the fourth management table 34 (Step S172) .
  • the CPU 4 checks whether the writing sequence number is equal to a fifth threshold value or less or, in other words, whether the block is older than the fifth threshold value (Step S173) .
  • the fifth threshold value is a threshold value of a writing sequence used to select the block to be monitored.
  • the fifth threshold value is ten blocks from a block with an oldest (smallest) writing sequence number.
  • the CPU 4 checks whether the block is registered to the first management table 31 (Step S174) .
  • the CPU registers the block to the first management table 31 as the monitored block (Step S175) .
  • the CPU registers the block that has been written further in the past than the fifth threshold value in the first management table 31 as the monitored block, and checks the error count of the data.
  • Step S174 when the block is already registered to the first management table 31 (Yes at Step S174), the CPU 4 checks whether the Nth writing sequence number is a last writing sequence number (Step S176) .
  • the CPU 4 returns to Step S172 and increments the writing sequence number by one.
  • the Nth writing sequence number is the last writing sequence number (Yes at Step S176)
  • the CPU 4 completes the process.
  • Step S173 when the writing sequence number is not equal to the fifth threshold value or less or, in other words, is a newer block than the fifth threshold value (No at Step S173) , the CPU 4 checks whether the Nth writing sequence number is the last writing sequence number (Step S176) .
  • Step S176 the CPU 4 returns to Step S172 and increments the writing sequence number by one.
  • the Nth writing sequence number is the last writing sequence number (Yes at Step S176)
  • the CPU 4 completes the process.
  • a method of monitoring the error count of the data in the blocks registered to the first management table 31 is similar to that according to the first embodiment. Detailed descriptions thereof are omitted.
  • the block in the NAND flash memory 10 storing the data that will require a refresh operation to be performed in the near future, due to the influence of the aged deterioration and the read-disturb, is selected based on the sequence in which the data are written in the blocks in the NAND flash memory 10.
  • the selected block is registered in the first management table 31 as the monitored block of which the error count in the data is monitored. Then, the data in the block registered to the first management table 31 is periodically read and the error count is checked. When the error count of the data exceeds a specified number, the refresh operation is performed.
  • an interval at which the refresh operation is performed on the block can be extended within a range of the correction capability of the error correcting code, thereby reducing a number of refresh operations performed.
  • the number of times the NAND flash memory 10 is rewritten can be controlled.
  • data corruption due to the aged deterioration and the read-disturb can be prevented with more certainty by the refresh operation being less frequently performed.
  • a semiconductor storage device can be actualized in which an amount of processing and power consumption during the refresh operation is suppressed.
  • a process performed when a blank entry is not available when a block is registered to the first management table 31 in the semiconductor storage device 1 according to the first embodiment to the fourth embodiment is described.
  • Fig. 14 is a diagram explaining a configuration of a fifth management table 35.
  • the fifth management table 35 is a management table storing therein a registration sequence of monitored blocks registered to the first management table 31.
  • the fifth management table 35 is configured in the RAM 5.
  • the fifth management table 35 stores numbers of monitored blocks registered to the first management table 31 and sequence numbers of a sequence in which the monitored blocks are registered to the first management table 31 (registration sequence number) .
  • registration sequence number the monitored blocks are registered to the first management table 31
  • the monitored blocks are sequentially stored such that a monitored block that is registered earlier has a lower entry number in the first management table 31.
  • the CPU 4 registers a block number of the monitored block to the fifth management table 35.
  • the fifth management table 35 is preferably actualized by a linked list because the CPU 4 updates the registration sequence numbers whenever a monitored block is registered to or deleted from the first management table 31. As a result, processing load placed on the CPU 4 can be reduced and processing time can be shortened.
  • Fig. 15 is a flowchart of a registering process for registering the monitored block to the first management table 31 according to the fifth embodiment.
  • the CPU 4 checks whether a registered block count of blocks registered to the fifth management table 35 is less than a sixth threshold value (Step S181) .
  • the sixth threshold value is a maximum number of blocks that can be registered to the first management table 31 and a maximum number of blocks that can be registered to the fifth management table 35.
  • the registered block count of the blocks registered to the fifth management table 35 being less than the sixth threshold value indicates that a blank entry is available in the first management table 31.
  • the registered block count of the blocks registered to the fifth management table 35 not being less than the sixth threshold value indicates than a blank entry is not available in the first management table 31.
  • the CPU 4 registers the monitored block to the blank entry in the first management table 31 (Step S184) .
  • the CPU 4 further registers the block number of the monitored block to the fifth management table 35 and completes the process.
  • the CPU 4 references the fifth management table 5 and refreshes data in the monitored block of which the registration sequence number in the fifth management table 35 is earliest (Step S182) .
  • the CPU 4 refreshes data in the block that has been registered to the first management table 31 and the fifth management table 35 earliest.
  • the CPU 4 then deletes the refreshed block from the first management table 31 and the fifth management table 35 (Step S183) .
  • the CPU 4 registers the new monitored block to the blank entry in the first management table 31.
  • the CPU 4 then registers the monitored block registered to the blank entry in the first management table 31 to the fifth management table 35 (Step S184) .
  • a new monitored block can be registered to the first management table 31 even when a blank entry is not available when the monitored block is registered to the first management table 31.
  • the monitored blocks storing data of which the error count is monitored can be managed.
  • a process performed when a block that has become excluded from data error count monitoring is deleted from the first management table 31 in the semiconductor storage device 1 according to the first embodiment to the fifth embodiment is described.
  • Fig. 16 is a diagram explaining a configuration of a sixth management table 36.
  • the sixth management table 36 is a management table storing therein blocks in the NAND flash memory 10 in which data to be retained is not stored.
  • the sixth management table 36 is configured in the RAM 5.
  • a block number of a block that does not store therein data to be retained, among block numbers of blocks in the NAND flash memory 10 is registered in each entry.
  • the sixth management table 36 is accessed by entry numbers.
  • the CPU 4 acquires information from the sixth management table 36 on a block that does not store therein data to be retained and, as a result, can write a new data in the block.
  • the CPU 4 also registers the block in which the data to be retained is no longer present to the sixth management table 36. A state in which the data to be retained is no longer present occurs mainly when a new data is written.
  • Fig. 17 is a flowchart of a deleting process for deleting a block excluded from error count monitoring from the first management table according to the sixth embodiment.
  • N is an entry number in the first management table 31
  • the CPU 4 judges whether a block registered to the Nth entry is a subject block (a block excluded from monitoring in which the data to be retained is no longer present) (Step S192) .
  • the CPU 4 judges whether the entry is a last entry (Step S193) .
  • Step S193 when the entry is not the last entry (No at Step S193), the CPU 4 returns to Step S191 and increments the entry number by one.
  • the entry is the last entry (Yes at Step S193) , the CPU 4 completes the process.
  • Step S192 when the block is the subject block (Yes at Step S192) , the CPU 4 performs a deleting process to delete the block from the first management table 31.
  • the CPU 4 registers the block number of the block to the sixth management table 36 and completes the process (Step S194).
  • the block registered to the sixth management table 36 is not required to be updated because the block does not store therein data to be retained.
  • the semiconductor storage device 1 when a block is generated that is excluded from monitoring and in which data to be retained is no longer present when, for example, new data is written in the block in the NAND flash memory in which the data is stored, the block that is excluded from monitoring can be deleted from the first management table 31 with certainty, and blank entries in the first management table 31 can be managed.
  • a method of monitoring a monitored block registered to the first management table 31 in the semiconductor storage device 1 according to the first embodiment to the sixth embodiment is described.
  • Fig. 18 is a diagram explaining a configuration of a seventh management table 37.
  • the seventh management table 37 is a management table storing therein error counts of blocks in the NAND flash memory 10 registered to the first management table 31.
  • the seventh management table 37 is configured in the RAM 5.
  • the seventh management table 37 includes a plurality of entries. A block number of a block registered to the first management table 31 and an error count detected from data stored in the block are registered to each entry.
  • the seventh management table 37 is accessed by an entry number. Values of the error counts registered to the seventh management table 37 are updated whenever error count monitoring is performed.
  • Fig. 19 is a flowchart of an error count monitoring process performed on the monitored block registered to the first management table 31.
  • the CPU 4 sets a monitoring interval period in the timer
  • the error count monitoring process on the monitored block registered to the first management table 31 is performed whenever an interrupt is generated by the timer 7.
  • the timer 7 internally measures time when the CPU sets the monitoring interval period. After the set period elapses, the timer 7 generates an interrupt to the CPU 4.
  • the CPU 4 checks an Nth entry (N is an entry number in the seventh management table 37) of the seventh management table 37 (Step S201) .
  • the CPU 4 judges whether a block is already registered to the Nth entry (Step S202) .
  • the CPU 4 judges whether the Nth entry is a last entry (Step S206) .
  • the CPU 4 returns to Step S201 and increments the entry number by one.
  • the CPU 4 completes the error count monitoring process .
  • Step S202 when a block is already registered (Yes at Step S202) , the CPU 4 checks an error count (number of bits) of the block registered to the seventh management table 37 (Step S203) .
  • the CPU 4 judges whether the error count is equal to a seventh threshold value or more (Step S204).
  • the seventh threshold value is used to select a block on which an error count detecting process is to be performed, among the monitored blocks .
  • the seventh threshold value is, for example, four bits of error.
  • the CPU 4 checks whether the Nth entry is the last entry (Step S206) . When the Nth entry is not the last entry (No at Step S206) , the CPU 4 returns to Step S201 and increments the entry number by one. When the Nth entry is the last entry (Yes at Step S206) , the CPU 4 completes the error count monitoring process.
  • Step S204 when the error count is the seventh threshold value or more (four bits or more) (Yes at Step S204), the CPU 4 reads out the data in the block from the NAND flash memory 10 to the RAM 5 within the controlling unit 3 and performs an error count detecting process on the data (Step S205) .
  • the CPU 4 updates the seventh management table 37 with a detected error count. Based on the detected error count, the CPU 4 performs the refresh operation according to the first embodiment, described with reference to Fig. 6.
  • Step S206 the CPU 4 checks whether the Nth entry is the last entry.
  • the CPU 4 returns to Step S201 and increments the entry number by one.
  • the CPU 4 completes the error count monitoring process.
  • a value set as the above-described seventh threshold value decreases whenever the error count detecting process is performed, gradually facilitating error count detection to be performed on blocks with a low error count. As a result, the error count detection is performed each time on the blocks with a high error count over a short cycle. The error count detection is performed on the blocks with a low error count over a long cycle.
  • the value set as the seventh threshold value returns to an original value after the value is decreased to a predetermined, specified value.
  • the semiconductor storage device 1 determines whether an error count detecting process is newly performed on a monitored block based on the error counts registered to the seventh management table 37.
  • the error count detection is performed on the blocks with a high error count over a short cycle.
  • the error count detection is performed on the blocks with a low error count over a long cycle.
  • the monitoring intervals of the monitored blocks registered to the first management table 31 can be changed based on the error counts registered to the seventh management table 37.
  • the error count of the data in a block that will most likely require updating in the near future, among the monitored blocks registered to the first management table 31, can be monitored with certainty. At the same time, frequency of the error count monitoring can be reduced.
  • an error count monitoring cycle according to the seventh embodiment will be described.
  • an upper limit is set for a monitoring cycle (monitoring interval period set in the timer 7) of blocks having a low error count.
  • the upper limit of the monitoring cycle is set to be shorter than an amount of time required from when an error count of data stored in a block exceeds the first threshold value until the error count of the data stored in the block reaches an upper limit of a correction capability of the error correcting section 21.
  • the monitoring cycle can be set in advance to a period predicted from an error occurrence state and various conditions, such as a range of ambient temperature, of the semiconductor storage device 1.
  • Fig. 20 is a block diagram of a configuration of a SSD 100.
  • the SSD 100 includes a plurality of NAND flash memories (NAND memory) 10, a dynamic random access memory (DRAM) 101, a drive controlling circuit 102, and a power supply circuit 103.
  • the NAND memories 10 are used to store data.
  • the DRAM 101 is used for data transfer and as a work area.
  • the drive controlling circuit 102 controls the NAND memories 10 and the DRAM 101.
  • the drive controlling circuit 102 outputs a control signal for controlling a light-emitting diode (LED) provided outside of the SSD 100. The LED is used to indicate status.
  • LED light-emitting diode
  • the SSD 100 transmits and receives data to and from a host device, such as a personal computer, via an advanced technology attachment (ATA) interface (I/F) .
  • a host device such as a personal computer
  • I/F advanced technology attachment
  • the SSD 100 transmits and receives data to and from a debugging device, via an RS-232C interface (I/F) .
  • I/F RS-232C interface
  • the power supply circuit 103 receives external power supply and generates a plurality of internal power supplies using the external power supply.
  • the internal power supplies are supplied to each section within the SSD 100.
  • the power supply circuit 103 detects a rise or fall of the external power supply and generates a power-ON reset signal.
  • the power-ON reset signal is sent to the drive controlling circuit 102.
  • Fig. 21 is a block diagram of a configuration of the drive controlling circuit 102.
  • the drive controlling circuit 102 includes a data access bus 104, a first circuit controlling bus 105, and a second circuit controlling bus 106.
  • the first circuit controlling bus 105 is connected to a processor 107 that controls the overall drive controlling circuit 102.
  • a boot read-only memory (ROM) 108 is also connected to the first circuit controlling bus 105, via a ROM controller 109.
  • the boot ROM 108 stores a boot program of each management program (firmware [FW] ) .
  • a clock controller 110 is also connected to the first circuit controlling bus 105. The clock controller 110 receives the power-ON reset signal from the power supply circuit 103 and supplies each section with a reset signal and a clock signal.
  • the second circuit controlling bus 106 is connected to the first circuit controlling bus 105.
  • a parallel IO (PIO) circuit 111 and a serial IO (SIO) circuit 112 are connected to the second circuit controlling bus 106.
  • the PIO circuit 111 supplies a status indicating signal to the LED used to indicate the status.
  • the SIO circuit 112 controls the RS-232C interface.
  • An ATA interface controller (ATA controller) 113 An ATA interface controller (ATA controller) 113, a first error check and correct (ECC) circuit 114, an NAND controller
  • the ATA controller 113 transmits and receives data to and from the host device, via the ATA interface.
  • a static random access memory (SRAM) 120 is connected to the data access bus 104, via a SRAM controller 121.
  • the SRAM 120 is used as a data work area
  • the NAND controller 115 includes an NAND interface (I/F)
  • the NAND interface 118, a second ECC circuit 117, and a direct memory access (DMA) transfer controlling DMA controller 116.
  • DMA direct memory access
  • the DMA transfer controlling DMA controller 116 performs access control between the NAND memories 10 and the DRAM 101.
  • Fig. 22 is a block diagram of a configuration of a processor 107.
  • the processor 107 includes a data managing unit 122, an ATA command processing unit 123, a security managing unit 124, a boot loader 125, an initialization managing unit 126, and a debug supporting unit 127.
  • the data managing unit 122 controls data transfer between the NAND memories 10 and the DRAM 101, and various functions related to an NAND chip, via the NAND controller 115 and the first ECC circuit 114.
  • the ATA command processing unit 123 performs a data transfer process in cooperation with the data managing unit 122, via the ATA controller 113 and the DRAM controller 119.
  • the security managing unit 124 manages various pieces of security information in cooperation with the data managing unit 122 and the ATA command processing unit 123.
  • the boot loader 125 loads each management program (FW) from the NAND memory 10 to the SRAM 120 when power is turned ON.
  • the initialization managing unit 126 performs initialization of each controller and circuit within the drive controlling circuit 102.
  • the debug supporting unit 127 processes debugging data supplied from an external source via the RS-232C interface.
  • Fig. 23 is a perspective view of an example of a portable computer 2000 on which the SSD 100 is mounted.
  • the portable computer 200 includes a main body 201 and a display unit 202.
  • the display unit 202 includes a display housing 203 and a display device 204 housed within the display housing 203.
  • the main body 201 includes a casing 205, a keyboard (KB) 206, and a touch pad 207 serving as a pointing device.
  • the casing 205 houses therein a main circuit board, an optical disk drive (ODD), a card slot, the SSD 100, and the like.
  • the card slot is provided adjacent to a peripheral wall of the casing 205.
  • An opening 208 facing the card slot is provided on the peripheral wall. A user can insert and remove an additional device into and from the card slot from outside of the casing 205, through the opening 208.
  • the SSD 100 can be used mounted within the portable computer 22 in place of a conventional hard disk drive (HDD) .
  • the SSD 100 can be used as an additional device by being inserted into the card slot provided in the portable computer 200.
  • Fig. 24 is a diagram of an example of a system configuration of the portable computer 200 on which the SSD 100 is mounted.
  • the portable computer 200 includes a CPU 301, a north bridge 302, a main memory 303, a video controller 304, an audio controller 305, a south bridge 309, a basic input output system read-only memory (BIOS-ROM) 310, the SSD 100, an ODD unit 311, an embedded controller/keyboard controller integrated chip (IC) (EC/KBC) 312, a network controller 313 and the like.
  • the CPU 301 is a processor provided to control operation of the portable computer 200.
  • the CPU 301 runs an operating system (OS) loaded onto a main memory 303 from the SSD 100.
  • OS operating system
  • the CPU 301 when the ODD unit 311 can perform at least one process between reading from loaded optical disc and writing to the loaded optical disc, the CPU 301 performs the processes.
  • the CPU 301 also runs a system BIOS stored in the BIOS-ROM 310.
  • the system BIOS is a program for performing hardware control within the portable computer 200.
  • the north bridge 302 is a bridge device connecting a local bus of the CPU 301 and the south bridge 309.
  • a memory controller that access-controls the main memory 303 is also included in the north bridge 302.
  • the north bridge 302 also provides a function for communicating with the video controller 304 and the audio controller 305 via an accelerated graphics port (AGP) bus and the like.
  • AGP accelerated graphics port
  • the main memory 303 temporarily stores programs and data, and functions as a work area.
  • the main memory 303 is, for example, configured by a DRAM.
  • the video controller 304 is a video reproduction controller that controls a liquid crystal display (LCD) 316 of the display unit 202 used as a display monitor of the portable computer 200.
  • the audio controller 305 is an audio reproduction controller that controls a speaker 306 on the portable computer 200.
  • the south bridge 309 controls each device on a low pin count bus 314 and each device on a peripheral component interconnect bus 315.
  • the south bridge 309 also controls the SSD 100 via the ATA interface.
  • the SSD 100 is a memory device storing various software and data
  • the portable computer 200 accesses the SSD 100 in sector units.
  • the portable computer 200 inputs a writing command, a read-out command, a flash command, and the like into the SSD 100, via the ATA interface.
  • the south bridge 309 also provides a function for access-controlling the BIOS-ROM 310 and the ODD unit 311.
  • the EC/KBD 312 is a single chip microcomputer in which an embedded controller for power management and a keyboard controller for controlling the KB 206 and the touch pad 207 are integrated.
  • the EC/KBD 312 provides a function for turning ON and OFF the power supply of the portable computer 200 in response to operation of a power button by the user.
  • the network controller 313 is a communication device that communicates with an external network, such as the Internet.
  • the semiconductor storage device 1 is not limited to the SSD.
  • the semiconductor storage device 1 can be configured as a memory card, represented by a Secure Digital (SD) card (registered trademark) .
  • SD Secure Digital
  • the semiconductor storage device 1 can be applied to various electronic devices, such as a mobile phone, a personal digital assistant (PDA) , a digital still camera, and a digital video camera, in addition to the portable computer.
  • PDA personal digital assistant

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
PCT/JP2008/067597 2008-02-29 2008-09-22 Semiconductor storage device Ceased WO2009107268A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US12/529,282 US8060797B2 (en) 2008-02-29 2008-09-22 Semiconductor storage device
EP08872498A EP2245542B1 (en) 2008-02-29 2008-09-22 Semiconductor storage device
CN2008800063643A CN101622607B (zh) 2008-02-29 2008-09-22 半导体存储装置
US13/270,788 US8219861B2 (en) 2008-02-29 2011-10-11 Semiconductor storage device
US13/486,718 US8583972B2 (en) 2008-02-29 2012-06-01 Method of controlling a semiconductor storage device
US14/049,742 US8793555B2 (en) 2008-02-29 2013-10-09 Method of controlling a semiconductor storage device
US14/309,611 US9037947B2 (en) 2008-02-29 2014-06-19 Method of controlling a semiconductor storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-049193 2008-02-29
JP2008049193A JP4489127B2 (ja) 2008-02-29 2008-02-29 半導体記憶装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/529,282 A-371-Of-International US8060797B2 (en) 2008-02-29 2008-09-22 Semiconductor storage device
US13/270,788 Continuation US8219861B2 (en) 2008-02-29 2011-10-11 Semiconductor storage device

Publications (1)

Publication Number Publication Date
WO2009107268A1 true WO2009107268A1 (en) 2009-09-03

Family

ID=41015678

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/067597 Ceased WO2009107268A1 (en) 2008-02-29 2008-09-22 Semiconductor storage device

Country Status (7)

Country Link
US (5) US8060797B2 (enExample)
EP (1) EP2245542B1 (enExample)
JP (1) JP4489127B2 (enExample)
KR (1) KR101012445B1 (enExample)
CN (1) CN101622607B (enExample)
TW (1) TWI397916B (enExample)
WO (1) WO2009107268A1 (enExample)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8243525B1 (en) * 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
GB2490198A (en) * 2011-03-21 2012-10-24 Denso Corp Error correction of non-volatile NAND flash memory
CN102765256A (zh) * 2012-06-21 2012-11-07 珠海艾派克微电子有限公司 记录芯片使用状态信息的方法、成像盒的芯片及成像盒
JP2013125303A (ja) * 2011-12-13 2013-06-24 Lapis Semiconductor Co Ltd 半導体メモリ制御装置及び制御方法
JP2016071893A (ja) * 2014-09-30 2016-05-09 イーエムシー コーポレイションEmc Corporation 持続性記憶装置を管理する方法およびシステム、ならびに非一時的コンピュータ読み取り可能媒体
US9762246B2 (en) 2011-05-20 2017-09-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device with a storage circuit having an oxide semiconductor
JP2019164859A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム、および、メモリ制御方法

Families Citing this family (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090109755A1 (en) * 2007-10-24 2009-04-30 Mori Edan Neighbor block refresh for non-volatile memory
US7859932B2 (en) * 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
JP5317690B2 (ja) * 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
JP5221332B2 (ja) * 2008-12-27 2013-06-26 株式会社東芝 メモリシステム
WO2010093056A1 (en) 2009-02-12 2010-08-19 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
US8683456B2 (en) * 2009-07-13 2014-03-25 Apple Inc. Test partitioning for a non-volatile memory
JP5521488B2 (ja) * 2009-10-29 2014-06-11 アイシン・エィ・ダブリュ株式会社 記憶媒体に記憶される情報の管理方法及びプログラム
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
JP2011128998A (ja) 2009-12-18 2011-06-30 Toshiba Corp 半導体記憶装置
US8325531B2 (en) * 2010-01-07 2012-12-04 Spansion Llc Memory device
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US8645776B2 (en) * 2010-03-24 2014-02-04 Apple Inc. Run-time testing of memory locations in a non-volatile memory
US8650446B2 (en) * 2010-03-24 2014-02-11 Apple Inc. Management of a non-volatile memory based on test quality
JP2010160816A (ja) * 2010-03-29 2010-07-22 Toshiba Corp 半導体記憶装置の制御方法
US8412882B2 (en) 2010-06-18 2013-04-02 Microsoft Corporation Leveraging chip variability
JP2012008651A (ja) 2010-06-22 2012-01-12 Toshiba Corp 半導体記憶装置、その制御方法および情報処理装置
US8751903B2 (en) * 2010-07-26 2014-06-10 Apple Inc. Methods and systems for monitoring write operations of non-volatile memory
JP2012128645A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012128643A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP5535128B2 (ja) 2010-12-16 2014-07-02 株式会社東芝 メモリシステム
JP2012199724A (ja) * 2011-03-19 2012-10-18 Fujitsu Ltd データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法
WO2012147136A1 (en) * 2011-04-28 2012-11-01 Hitachi, Ltd. Semiconductor storage apparatus and method for controlling semiconductor storage apparatus
JP5762139B2 (ja) * 2011-05-30 2015-08-12 株式会社メガチップス 情報処理端末及び管理サーバ
US8650353B2 (en) * 2011-07-01 2014-02-11 Intel Corporation Apparatus, system, and method for refreshing non-volatile memory
TWI471862B (zh) * 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
JP2013069183A (ja) * 2011-09-26 2013-04-18 Toshiba Corp コントローラおよびメモリシステム
KR101830808B1 (ko) * 2011-11-04 2018-02-22 삼성전자주식회사 메모리 시스템 및 그것의 데이터 저장 방법
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
JP2013164888A (ja) 2012-02-10 2013-08-22 Toshiba Corp 半導体記憶装置
US8924636B2 (en) 2012-02-23 2014-12-30 Kabushiki Kaisha Toshiba Management information generating method, logical block constructing method, and semiconductor memory device
US9251055B2 (en) 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system
US8739000B2 (en) * 2012-03-15 2014-05-27 Broadcom Corporation Multi-modal signal processing with linearization
US9337865B2 (en) 2012-05-04 2016-05-10 Seagate Technology Llc Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
US9235346B2 (en) 2012-05-04 2016-01-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic map pre-fetching for improved sequential reads of a solid-state media
TWI467376B (zh) * 2012-06-11 2015-01-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
US20140013031A1 (en) * 2012-07-09 2014-01-09 Yoko Masuo Data storage apparatus, memory control method, and electronic apparatus having a data storage apparatus
US9064579B2 (en) * 2012-07-16 2015-06-23 Kabushiki Kaisha Toshiba Semiconductor memory apparatus, data transmission device, and recording method
CN108595345B (zh) 2012-07-25 2021-11-23 慧荣科技股份有限公司 管理闪存中所储存的数据的方法及相关记忆装置与控制器
US8873323B2 (en) * 2012-08-16 2014-10-28 Transcend Information, Inc. Method of executing wear leveling in a flash memory device according to ambient temperature information and related flash memory device
JP2014086062A (ja) * 2012-10-29 2014-05-12 Sony Corp 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
JP5483378B1 (ja) * 2012-11-01 2014-05-07 東芝情報システム株式会社 フラッシュメモリの劣化検査装置、劣化検査方法及劣化検査用プログラム
US8930778B2 (en) 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
JP6044316B2 (ja) * 2012-12-12 2016-12-14 株式会社デンソー 車載電子制御装置
US9063879B2 (en) * 2012-12-13 2015-06-23 Sandisk Technologies Inc. Inspection of non-volatile memory for disturb effects
US9324398B2 (en) 2013-02-04 2016-04-26 Micron Technology, Inc. Apparatuses and methods for targeted refreshing of memory
JP6184121B2 (ja) * 2013-02-08 2017-08-23 株式会社メガチップス 記憶装置検査システム、記憶装置検査方法および不揮発性半導体記憶装置
JP2014157391A (ja) * 2013-02-14 2014-08-28 Sony Corp 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
JP6062768B2 (ja) * 2013-03-01 2017-01-18 Necプラットフォームズ株式会社 メモリ検査装置、メモリ検査方法、およびメモリ検査プログラム
US9092310B2 (en) 2013-03-15 2015-07-28 Seagate Technology Llc Host command based read disturb methodology
KR102039537B1 (ko) * 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US10372551B2 (en) * 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
US9330787B2 (en) * 2013-03-18 2016-05-03 Kabushiki Kaisha Toshiba Memory system and memory controller
JP6102515B2 (ja) * 2013-05-24 2017-03-29 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
US9263158B2 (en) * 2013-08-16 2016-02-16 Seagate Technology Llc Determining data retention time in a solid-state non-volatile memory
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
CN110232942B (zh) 2013-09-13 2023-01-03 铠侠股份有限公司 存储装置及其控制方法
US9372750B2 (en) * 2013-11-01 2016-06-21 Qualcomm Incorporated Method and apparatus for non-volatile RAM error re-mapping
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
US9785499B2 (en) 2014-02-12 2017-10-10 Seagate Technology Llc Hot-read data aggregation and code selection
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
KR20150104858A (ko) * 2014-03-06 2015-09-16 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
US9495232B2 (en) * 2014-03-28 2016-11-15 Intel IP Corporation Error correcting (ECC) memory compatibility
DE102014104717B4 (de) * 2014-04-03 2019-08-01 Hyperstone Gmbh Verfahren und Vorrichtung zur Datenerneuerung für eine Erhöhung der Zuverlässigkeit von Flashspeichern
US20150331732A1 (en) * 2014-05-13 2015-11-19 Rambus Inc. Memory device having storage for an error code correction event count
JP2015219938A (ja) 2014-05-21 2015-12-07 マイクロン テクノロジー, インク. 半導体装置
US9478315B2 (en) * 2014-06-03 2016-10-25 Sandisk Technologies Llc Bit error rate mapping in a memory system
DE102014211111A1 (de) * 2014-06-11 2015-12-17 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
JP6448254B2 (ja) * 2014-08-19 2019-01-09 ラピスセミコンダクタ株式会社 メモリ制御装置及びメモリ制御方法
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9583219B2 (en) * 2014-09-27 2017-02-28 Qualcomm Incorporated Method and apparatus for in-system repair of memory in burst refresh
US9251909B1 (en) 2014-09-29 2016-02-02 International Business Machines Corporation Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory
US9563373B2 (en) * 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
CN107077430B (zh) * 2014-10-24 2020-06-30 索尼公司 存储器控制器、存储器系统以及存储器控制器控制方法
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
JP2016118815A (ja) * 2014-12-18 2016-06-30 パナソニックIpマネジメント株式会社 不揮発性メモリ装置
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
JP5989156B2 (ja) * 2015-02-10 2016-09-07 株式会社日立製作所 フラッシュメモリモジュール
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
CN104636674B (zh) * 2015-03-17 2017-06-09 浪潮集团有限公司 一种用于受损数据恢复的线性估计方法
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) * 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9836349B2 (en) * 2015-05-29 2017-12-05 Winbond Electronics Corp. Methods and systems for detecting and correcting errors in nonvolatile memory
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
DE102015215401B4 (de) 2015-08-12 2020-10-01 Infineon Technologies Ag Speichervorrichtung und Verfahren zum Korrigieren einer gespeicherten Bitfolge
JP6577302B2 (ja) * 2015-08-28 2019-09-18 東芝メモリ株式会社 メモリシステム
US9977615B2 (en) * 2015-09-28 2018-05-22 Qualcomm Incorporated Smart refresh of data on flash devices
KR20170076883A (ko) * 2015-12-24 2017-07-05 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US9847105B2 (en) * 2016-02-01 2017-12-19 Samsung Electric Co., Ltd. Memory package, memory module including the same, and operation method of memory package
KR102512448B1 (ko) * 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
JP2017182854A (ja) 2016-03-31 2017-10-05 マイクロン テクノロジー, インク. 半導体装置
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
JP2018041154A (ja) * 2016-09-05 2018-03-15 東芝メモリ株式会社 ストレージシステムおよび処理方法
JP2018041204A (ja) * 2016-09-06 2018-03-15 東芝メモリ株式会社 メモリ装置及び情報処理システム
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10481798B2 (en) * 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10482983B2 (en) * 2016-12-22 2019-11-19 Seagate Technology Llc Read disturb detection based on dynamic bit error rate estimation
US10885991B2 (en) * 2017-04-04 2021-01-05 Sandisk Technologies Llc Data rewrite during refresh window
CN108877856B (zh) 2017-05-10 2021-02-19 慧荣科技股份有限公司 储存装置、记录方法以及预载方法
CN108877858B (zh) * 2017-05-10 2021-02-19 慧荣科技股份有限公司 储存装置以及刷新方法
JP2019046530A (ja) 2017-09-07 2019-03-22 東芝メモリ株式会社 メモリシステム
US10297304B1 (en) * 2017-11-12 2019-05-21 Nanya Technology Corporation Memory device and operating method thereof
US11048581B2 (en) 2017-11-17 2021-06-29 Samsung Electronics Co., Ltd. Storage device telemetry for provisioning I/O
US10446243B2 (en) * 2017-12-18 2019-10-15 Macronix International Co., Ltd. Storage device and associated control method to determine target memory blocks for probe operation
KR102507302B1 (ko) 2018-01-22 2023-03-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
US10839922B2 (en) * 2018-05-26 2020-11-17 Sandisk Technologies Llc Memory disturb detection
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
KR102777472B1 (ko) * 2018-11-15 2025-03-10 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
JP7291640B2 (ja) * 2020-01-24 2023-06-15 ラピスセミコンダクタ株式会社 半導体記憶装置及び半導体記憶装置のリフレッシュ方法
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
KR20220096077A (ko) 2020-12-30 2022-07-07 삼성전자주식회사 Ecc 데이터를 이용하여 신뢰성 검사를 수행하는 스토리지 장치
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
KR20230090598A (ko) 2021-12-15 2023-06-22 삼성전자주식회사 히스토리 데이터를 사용하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법
KR20230096304A (ko) 2021-12-23 2023-06-30 삼성전자주식회사 비휘발성 메모리 장치의 리프로그램 방법, 프로그램 방법 및 이를 수행하는 비휘발성 메모리 장치
US12165687B2 (en) 2021-12-29 2024-12-10 Micron Technology, Inc. Apparatuses and methods for row hammer counter mat
US11928354B2 (en) * 2022-01-21 2024-03-12 Dell Products L.P. Read-disturb-based read temperature determination system
KR102537770B1 (ko) 2022-06-08 2023-05-30 삼성전자주식회사 기입 스로틀링을 이용한 스토리지 장치의 데이터 기입 방법 및 이를 수행하는 스토리지 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279295A (ja) * 1995-04-05 1996-10-22 Toshiba Corp 不揮発性半導体記憶部を含む記憶システム
JP2003058432A (ja) * 2001-08-09 2003-02-28 Hitachi Ltd メモリカード及びメモリコントローラ

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JPH0932253A (ja) 1995-07-13 1997-02-04 Koichi Miura 二重床構造体および二重床式空調装置
JPH09204367A (ja) * 1996-01-25 1997-08-05 Mitsubishi Electric Corp フラッシュディスクカードにおけるフラッシュメモリデータのリフレッシュ方法
WO1997032253A1 (fr) 1996-02-29 1997-09-04 Hitachi, Ltd. Dispositif de memoire a semi-conducteur presentant des cellules defaillantes
US5715193A (en) * 1996-05-23 1998-02-03 Micron Quantum Devices, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
DE69716233T2 (de) 1996-08-16 2003-02-20 Tokyo Electron Device Ltd., Yokohama Halbleiterspeicheranordnung mit fehlerdetektion und -korrektur
US5909449A (en) 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6493270B2 (en) * 1999-07-01 2002-12-10 Micron Technology, Inc. Leakage detection in programming algorithm for a flash memory device
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US6728913B1 (en) * 2000-02-25 2004-04-27 Advanced Micro Devices, Inc. Data recycling in memory
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
KR100526186B1 (ko) * 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
JP4256198B2 (ja) 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
US7509526B2 (en) * 2004-09-24 2009-03-24 Seiko Epson Corporation Method of correcting NAND memory blocks and to a printing device employing the method
JP2007058966A (ja) 2005-08-23 2007-03-08 Renesas Technology Corp 半導体装置
JP4413840B2 (ja) 2005-09-20 2010-02-10 株式会社東芝 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP4575288B2 (ja) 2005-12-05 2010-11-04 株式会社東芝 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2008090778A (ja) 2006-10-05 2008-04-17 Matsushita Electric Ind Co Ltd 不揮発性メモリ用メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、不揮発性メモリのメモリ制御方法
KR100824779B1 (ko) * 2007-01-11 2008-04-24 삼성전자주식회사 반도체 메모리 장치의 데이터 출력 경로 및 데이터 출력방법
JP2008217857A (ja) 2007-02-28 2008-09-18 Toshiba Corp メモリコントローラ及び半導体装置
US8060798B2 (en) * 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
JP4538034B2 (ja) 2007-09-26 2010-09-08 株式会社東芝 半導体記憶装置、及びその制御方法
TWI381390B (zh) * 2008-04-10 2013-01-01 Phison Electronics Corp 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器
US8411519B2 (en) * 2010-06-04 2013-04-02 Apple Inc. Selective retirement of blocks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279295A (ja) * 1995-04-05 1996-10-22 Toshiba Corp 不揮発性半導体記憶部を含む記憶システム
JP2003058432A (ja) * 2001-08-09 2003-02-28 Hitachi Ltd メモリカード及びメモリコントローラ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2245542A4 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8243525B1 (en) * 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
GB2490198B (en) * 2011-03-21 2013-11-13 Denso Corp Method for initiating a refresh operation in a solid-state nonvolatile memory device
GB2490198A (en) * 2011-03-21 2012-10-24 Denso Corp Error correction of non-volatile NAND flash memory
US10897258B2 (en) 2011-05-20 2021-01-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US11750194B2 (en) 2011-05-20 2023-09-05 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US9762246B2 (en) 2011-05-20 2017-09-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device with a storage circuit having an oxide semiconductor
US10505547B2 (en) 2011-05-20 2019-12-10 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US12283954B2 (en) 2011-05-20 2025-04-22 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
JP2013125303A (ja) * 2011-12-13 2013-06-24 Lapis Semiconductor Co Ltd 半導体メモリ制御装置及び制御方法
CN102765256A (zh) * 2012-06-21 2012-11-07 珠海艾派克微电子有限公司 记录芯片使用状态信息的方法、成像盒的芯片及成像盒
JP2016071893A (ja) * 2014-09-30 2016-05-09 イーエムシー コーポレイションEmc Corporation 持続性記憶装置を管理する方法およびシステム、ならびに非一時的コンピュータ読み取り可能媒体
US9690655B2 (en) 2014-09-30 2017-06-27 EMC IP Holding Company LLC Method and system for improving flash storage utilization by predicting bad m-pages
JP2018085122A (ja) * 2014-09-30 2018-05-31 イーエムシー コーポレイションEmc Corporation 持続性記憶装置を管理する方法およびシステム、ならびに非一時的コンピュータ読み取り可能媒体
US10339001B2 (en) 2014-09-30 2019-07-02 EMC IP Holding Company LLC Method and system for improving flash storage utilization by predicting bad M-pages
JP2019164859A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム、および、メモリ制御方法
US11727998B2 (en) 2018-03-19 2023-08-15 Kioxia Corporation Memory system and memory control method
US11189353B2 (en) 2018-03-19 2021-11-30 Toshiba Memory Corporation Memory system and memory control method

Also Published As

Publication number Publication date
US8060797B2 (en) 2011-11-15
EP2245542A4 (en) 2011-04-13
US20140304567A1 (en) 2014-10-09
KR20090131285A (ko) 2009-12-28
US20140040664A1 (en) 2014-02-06
US8583972B2 (en) 2013-11-12
US20120030528A1 (en) 2012-02-02
TWI397916B (zh) 2013-06-01
US9037947B2 (en) 2015-05-19
US8793555B2 (en) 2014-07-29
TW200941488A (en) 2009-10-01
US8219861B2 (en) 2012-07-10
EP2245542A1 (en) 2010-11-03
CN101622607A (zh) 2010-01-06
US20120239992A1 (en) 2012-09-20
EP2245542B1 (en) 2012-09-12
US20100313084A1 (en) 2010-12-09
KR101012445B1 (ko) 2011-02-08
JP4489127B2 (ja) 2010-06-23
CN101622607B (zh) 2012-10-31
JP2009205578A (ja) 2009-09-10

Similar Documents

Publication Publication Date Title
EP2245542B1 (en) Semiconductor storage device
US11995348B2 (en) Data and power management of partitioned buffer in a storage device
US11036421B2 (en) Apparatus and method for retaining firmware in memory system
JP2010160816A (ja) 半導体記憶装置の制御方法
TWI515742B (zh) 偵測不穩定記憶胞之分佈的記憶體系統與方法
US8271515B2 (en) System and method for providing copyback data integrity in a non-volatile memory system
US20120066568A1 (en) Storage device, electronic device, and data error correction method
US10599345B2 (en) Memory device that writes data into a block based on time passage since erasure of data from the block
KR102179829B1 (ko) 런 타임 배드 셀을 관리하는 스토리지 시스템
CN112015332A (zh) 控制器及其操作方法
US8976589B2 (en) Storage device
JP6190488B2 (ja) 情報記録システム
JP6403130B2 (ja) 情報記録システム
JP2021177401A (ja) 情報処理装置
JP6972243B1 (ja) メモリドライブ装置、情報処理装置、及び制御方法
TWI903962B (zh) 記憶體管理方法、記憶體儲存裝置與記憶體控制電路單元
JP2019008814A (ja) 半導体記憶装置
TW202311956A (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880006364.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2008872498

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020097017907

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08872498

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12529282

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE