[go: up one dir, main page]

JP2008191701A - Method of recovery from error and information processor - Google Patents

Method of recovery from error and information processor Download PDF

Info

Publication number
JP2008191701A
JP2008191701A JP2007022085A JP2007022085A JP2008191701A JP 2008191701 A JP2008191701 A JP 2008191701A JP 2007022085 A JP2007022085 A JP 2007022085A JP 2007022085 A JP2007022085 A JP 2007022085A JP 2008191701 A JP2008191701 A JP 2008191701A
Authority
JP
Japan
Prior art keywords
data
error
block
flash memory
information
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.)
Pending
Application number
JP2007022085A
Other languages
Japanese (ja)
Inventor
Keisuke Yasui
啓介 安井
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 JP2007022085A priority Critical patent/JP2008191701A/en
Publication of JP2008191701A publication Critical patent/JP2008191701A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that it takes time to replace an error block of a NAND-type flash memory, thereby hindering high-speed reading of data stored in the flash memory. <P>SOLUTION: If the read data contains an error, it is corrected using redundant data stored together with the data, and error correction information is output including the data corrected and information for specifying the block that stores the data. A second application that is started later writes, in an available, unused block of the flash memory, the corrected data included in the error correction information, and replaces this error block with the unused block. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、NANDフラッシュメモリで発生したエラーを回復するための方法に関し、特に、記憶したデータの読み出し処理を優先する場合のエラーの回復処理方法に関する。   The present invention relates to a method for recovering an error that has occurred in a NAND flash memory, and more particularly to an error recovery processing method when priority is given to a process for reading stored data.

情報機器の半導体記憶媒体として、大容量化が容易なNAND型フラッシュメモリが利用されている。この型のフラッシュメモリは、データの記憶、読出し、消去はブロック単位で行われる。また、NAND型フラッシュメモリは構造上、書き換えできる回数に制限がある。このため記憶するデータを補償するためにECC(Error Correcting Code)を付加して、読み出したデータにエラーが発見された場合には修復できるような仕組みを備えている。エラーが発見されたブロックは、以後データ記憶に使用しないよう別のブロックに代替える処理が必要となる。   As a semiconductor storage medium for information equipment, a NAND flash memory that can easily be increased in capacity is used. In this type of flash memory, data is stored, read and erased in units of blocks. In addition, NAND flash memory has a limited number of rewrites due to its structure. For this reason, an ECC (Error Correcting Code) is added in order to compensate for stored data, and a mechanism is provided that can recover when an error is found in the read data. A block in which an error is found needs to be replaced with another block so that it is not used for data storage.

しかしながら、フラッシュメモリから読み出したときでないと、そのブロックにエラーがあることが分からないうえ、エラーが発見されたブロックの代替え処理には読み込み操作とは別に書き込み操作も必要となり余計に時間がかかる。読み出しの際エラーが発見されたからといってその都度代替え処理をしていては、必要なデータを全て読み出すまでに多くの時間がかかってしまい、高速処理の妨げになる場合がある。   However, it is not known that there is an error in the block unless it is read from the flash memory, and the replacement process for the block in which the error is found requires a write operation separately from the read operation, which takes extra time. Even if an error is detected at the time of reading, if a substitute process is performed each time, it takes a long time to read all necessary data, which may hinder high-speed processing.

また、OS立ち上げ時など書き込み機能を省いたフットプリントの小さい読み出しソフトウェアが必要な場合、代替え処理そのものが実装できず、以後別の手段により読み出しが行われなければ修復される機会も失われ、結果、信頼性の低下を招く場合も考えられる。   In addition, when reading software with a small footprint that omits the writing function, such as when starting up the OS, is necessary, the replacement process itself cannot be implemented, and if it is not read by another means after that, the opportunity to be restored is lost, As a result, there may be a case where reliability is lowered.

NAND型フラッシュメモリの記憶するデータにエラーが発見された場合、ECCによりデータを修復しながらデータを読み出す発明が開示されている(特許文献1を参照)。
特開2005−190201号公報
An invention has been disclosed in which, when an error is found in data stored in a NAND flash memory, data is read while the data is restored by ECC (see Patent Document 1).
JP-A-2005-190201

NAND型フラッシュメモリのエラーブロックの代替え処理には時間がかかり、このフラッシュメモリが記憶するデータを高速に読み出す妨げになる。   The error block replacement process of the NAND flash memory takes time, and prevents data stored in the flash memory from being read at high speed.

本発明は上記問題に鑑みてなされたもので、発見されたエラーブロックの代替え処理を省くことなく、NANDフラッシュメモリに格納されたデータの読み出しを高速に行えるエラー回復処理方法および情報処理装置を提供する。   The present invention has been made in view of the above problems, and provides an error recovery processing method and an information processing apparatus capable of reading data stored in a NAND flash memory at a high speed without omitting a replacement process of a found error block. To do.

本発明のエラー回復処理方法は、
ブロック単位にアクセスされるフラッシュメモリにおける、エラーブロックのエラー回復処理方法であって、第1のアプリケーションは、第1のアクセスドライバにより前記フラッシュメモリに記憶したデータを読み出し、読み出したデータにエラーがあった場合、第1のアクセスドライバは、このデータと共に記憶された冗長データを用いて訂正し、この訂正データとこのデータが記憶されていたブロックを特定する情報とを含むエラー訂正情報を出力し、前記エラー訂正情報が存在する場合、前記第1のアプリケーションの後に起動された第2のアプリケーションは、第2のアクセスドライバにより前記フラッシュメモリの使用可能な未使用のブロックにこのエラー訂正情報に含まれる前記訂正データを書き込むと共に、このエラー訂正情報に基づいて特定される前記フラッシュメモリのブロックを該未使用のブロックに置き換えるエラーブロック回復処理を行うことを特徴とする。
The error recovery processing method of the present invention
An error recovery processing method for an error block in a flash memory accessed in units of blocks, wherein the first application reads data stored in the flash memory by a first access driver, and the read data has an error. The first access driver corrects using the redundant data stored together with the data, and outputs error correction information including the correction data and information specifying the block in which the data is stored, If the error correction information exists, the second application started after the first application is included in the error free information in the unused block of the flash memory that is used by the second access driver. Write the correction data and correct this error And performing error block recovery process to replace the block of the flash memory that is identified in the block of the unused based on distribution.

また本発明の情報処理装置とすれば、
ブロック単位にアクセスされ、読み出したあるブロックのデータに誤りが発見された場合、そのブロックの回復処理を必要とするフラッシュメモリを搭載した情報処理装置であって、前記フラッシュメモリに記憶したデータを読み出す機能を備え、この読み出したデータにエラーが発見された場合、このデータを正しく訂正すると共に、このデータが記憶されていたブロックを特定する情報と訂正後の訂正データとを含むエラー訂正情報を出力する第1のアクセスドライバと、前記第1のアクセスドライバを介して前記フラッシュメモリから所定のデータを読み出す処理手段と、前記エラー訂正情報が存在する場合、前記フラッシュメモリの使用可能な未使用のブロックにこのエラー訂正情報に含まれる前記訂正データを書き込むと共に、このエラー訂正情報に基づいて特定される前記フラッシュメモリのブロックを該未使用のブロックに置き換えるエラーブロック回復処理を行う第2のアクセスドライバとを具備し、前記処理手段による読み出し処理の後に、前記第2のアクセスドライバによるエラーブロック回復処理をすることを特徴とする情報処理装置が提供される。
If the information processing apparatus of the present invention is used,
When an error is found in the data of a block that has been accessed and read in block units, the information processing apparatus is equipped with a flash memory that requires recovery processing of the block, and reads the data stored in the flash memory If an error is found in the read data, this function corrects this data correctly and outputs error correction information including information that identifies the block in which this data was stored and the corrected data after correction A first access driver, processing means for reading predetermined data from the flash memory via the first access driver, and an unused block in the flash memory when the error correction information is present The correction data included in the error correction information is written in A second access driver that performs error block recovery processing for replacing the block of the flash memory specified based on error correction information with the unused block, and after the read processing by the processing means, An information processing apparatus is provided that performs error block recovery processing by the access driver.

エラーが発見されたメモリブロックの代替え処理を省くことなくデータの読み出しを高速に行えるエラー回復処理方法および情報処理装置が提供される   Provided are an error recovery processing method and an information processing apparatus capable of reading data at high speed without omitting a replacement process of a memory block in which an error is found.

図1は、本実施形態にかかる情報処理装置のブロック構成図の一例を示す図である。図1では、CPU100、NORフラッシュメモリ101、RAM102、NANDフラッシュメモリ104、IOコントローラ105および内部バス106が示されている。   FIG. 1 is a diagram illustrating an example of a block configuration diagram of the information processing apparatus according to the present embodiment. In FIG. 1, a CPU 100, a NOR flash memory 101, a RAM 102, a NAND flash memory 104, an IO controller 105, and an internal bus 106 are shown.

CPU100は、このCPU(Central Processing Unit)用に作成されたプログラムコードに従い、所定の処理をする演算処理部である。   The CPU 100 is an arithmetic processing unit that performs predetermined processing in accordance with a program code created for the CPU (Central Processing Unit).

NORフラッシュメモリ101は、不揮発性のNOR型のフラッシュメモリである。NORフラッシュメモリは、NAND型フラッシュメモリと比べてアクセス速度が高速で、さらに1バイト単位でのランダムアクセスが可能となっている。本実施形態では、HDD(Hard Disk Drive)などの大容量の記憶装置の代わりに小容量のNORフラッシュメモリ101にCPU100が処理するプログラムコードなどを記憶しておき、省電力化、耐震性、耐環境性を向上させる。このような構成は、特定機器への組込み用やPDA(Personal Digital Assistant)などのモバイル機器で有利である。   The NOR flash memory 101 is a nonvolatile NOR flash memory. The NOR flash memory has a higher access speed than the NAND flash memory and can be randomly accessed in units of 1 byte. In this embodiment, a program code processed by the CPU 100 is stored in a small-capacity NOR flash memory 101 instead of a large-capacity storage device such as an HDD (Hard Disk Drive), thereby reducing power consumption, earthquake resistance, Improve the environment. Such a configuration is advantageous in mobile devices such as those for incorporation into specific devices and PDAs (Personal Digital Assistants).

RAM102は、たとえばDRAM(Dynamic Random Access Memory)などの揮発性の半導体メモリで構成されている。大容量、高速アクセスが可能な反面、電源を遮断すると記憶内容が消失する。主にCPU100がプログラムコードを処理する際の一時記憶領域として利用される。   The RAM 102 is composed of a volatile semiconductor memory such as DRAM (Dynamic Random Access Memory). While large capacity and high-speed access are possible, the stored contents are lost when the power is turned off. It is mainly used as a temporary storage area when the CPU 100 processes the program code.

NANDフラッシュメモリ103は、不揮発性のNAND型と呼ばれるフラッシュメモリである。このフラッシュメモリはNOR型のフラッシュメモリとは異なり、データの消去や書き込み速度が速く大容量化に適している。一方、ブロック単位でのアクセスになるため、HDDなどの記憶媒体の代わりとして利用されることが多い。また、記憶するデータの書き換え回数に制限があり、それを超えると記憶したデータが正常に読み出せなくなる特性がある。このためエラーが発生したブロックについては、そのブロックに記憶していたデータを空いている他のブロックに移し、以後はデータの書き込みに使用しないための目印としてバッドブロックマークを書き込む。この一連の処理をエラーブロック回復処理という。また、記憶したデータを読み出すよりも、たいていの場合、データ書き込みを完了するまでの時間の方がかかる。   The NAND flash memory 103 is a non-volatile NAND type flash memory. Unlike NOR-type flash memory, this flash memory is suitable for large capacity because it has a fast data erasing and writing speed. On the other hand, since access is performed in units of blocks, it is often used as a substitute for storage media such as HDDs. In addition, there is a limit to the number of times of rewriting data to be stored, and if it exceeds that, the stored data cannot be read normally. Therefore, for the block in which an error has occurred, the data stored in the block is moved to another vacant block, and thereafter a bad block mark is written as a mark not to be used for data writing. This series of processing is called error block recovery processing. In addition, it takes more time to complete data writing than reading stored data.

IOコントローラ104は、NANDフラッシュメモリ103へのデータの入出力を制御する機能を有する。   The IO controller 104 has a function of controlling input / output of data to the NAND flash memory 103.

内部バス105は、上記構成要素間を結び、それぞれの間のデータ授受を実現するための機能を有する。   The internal bus 105 has a function for connecting the above-described components and realizing data exchange between them.

次からは、図面に基づいて情報処理装置の動作を説明する。   Next, the operation of the information processing apparatus will be described based on the drawings.

図2は、本実施形態にかかるモジュール構成図の第1の動作を説明する図である。図2では、本実施形態にかかる情報処理装置のブロック構成図に示した各ブロック内に記憶されたデータおよびモジュール構成が示されている。   FIG. 2 is a diagram for explaining a first operation of the module configuration diagram according to the present embodiment. FIG. 2 shows data and module configurations stored in each block shown in the block configuration diagram of the information processing apparatus according to the present embodiment.

ブートローダ200は、情報処理装置の立ち上げの際、各部の最低限の初期設定を行うとともに、その情報処理装置で動く本来のプログラムをロードする機能を有する。   The boot loader 200 has a function of performing a minimum initial setting of each unit when starting up the information processing apparatus and loading an original program that runs on the information processing apparatus.

NANDアクセスドライバ201は、IOコントローラ104を制御してNANDフラッシュメモリ103内のデータを読み出す機能を備えている。データの読み出しに際しては、NANDフラッシュメモリ103に記憶されたECCを用いて必要に応じて読み出すデータを修復する。また、データを修復した場合にはその修復したブロックの識別情報と修復後のデータとを別途記憶しておく機能も備えている。   The NAND access driver 201 has a function of reading data in the NAND flash memory 103 by controlling the IO controller 104. When reading data, the ECC stored in the NAND flash memory 103 is used to restore the data to be read as necessary. In addition, when data is repaired, it has a function of separately storing the repair block identification information and the repaired data.

OSイメージ202は、この情報処理装置が本来処理すべきOS(Operating System)のようなプログラムであり、ブートローダ200の支援を受けることでCPU100による実行が可能となる。たとえば、NANDフラッシュメモリ103はブロック単位でのアクセスとなることからCPU100のメインメモリとしての利用には適さず、一旦他のメモリにロードする必要がある。   The OS image 202 is a program such as an OS (Operating System) that should be originally processed by the information processing apparatus, and can be executed by the CPU 100 with the support of the boot loader 200. For example, since the NAND flash memory 103 is accessed in units of blocks, the NAND flash memory 103 is not suitable for use as the main memory of the CPU 100 and needs to be once loaded into another memory.

NANDアクセスドライバ203は、NANDアクセスドライバ201と同様にNANDフラッシュメモリ103のアクセスを実現するが、読み出し機能の他に、書き込み機能、エラーブロック回復処理機能などNANDフラッシュメモリ103に必要な全ての機能を備えている。   The NAND access driver 203 implements access to the NAND flash memory 103 in the same manner as the NAND access driver 201, but provides all functions necessary for the NAND flash memory 103 such as a write function and an error block recovery processing function in addition to the read function. I have.

情報処理装置はブートの最初に、CPU100はNORフラッシュメモリ101に記憶したブートローダ200を実行し、各種初期設定を完了する。   At the beginning of the boot of the information processing apparatus, the CPU 100 executes the boot loader 200 stored in the NOR flash memory 101 and completes various initial settings.

図3は、本実施形態にかかるモジュール構成図の第2の動作を説明する図である。   FIG. 3 is a diagram for explaining a second operation of the module configuration diagram according to the present embodiment.

初期設定を終わったブートローダ200は、NANDアクセスドライバ201を介して、NANDフラッシュメモリ103に記憶されたOSイメージ202を読み出し、必要であれば読み出したデータを修復する。このデータは内部バス105を介してRAM102上にOSイメージ300としてコピーされる。   After completing the initial setting, the boot loader 200 reads the OS image 202 stored in the NAND flash memory 103 via the NAND access driver 201, and restores the read data if necessary. This data is copied as an OS image 300 onto the RAM 102 via the internal bus 105.

このとき、NANDアクセスドライバ201が修復したデータがあれば、その修復後のデータと、NANDフラッシュメモリ103のエラーがあったブロックの識別情報を、ECCエラー訂正情報302として記録する。本実施形態では、ECCエラー訂正情報302をRAM102上に記憶するようにしているが、OSからアクセスできる記憶媒体であればどこに記憶しても良い。   At this time, if there is data restored by the NAND access driver 201, the restored data and identification information of the block in which the NAND flash memory 103 has an error are recorded as ECC error correction information 302. In this embodiment, the ECC error correction information 302 is stored on the RAM 102, but may be stored anywhere as long as the storage medium can be accessed from the OS.

図4は、本実施形態にかかるモジュール構成図の第3の動作を説明する図である。   FIG. 4 is a diagram for explaining a third operation of the module configuration diagram according to the present embodiment.

ブートローダ200は、OSイメージ202をOSイメージ300としてコピーし終えると、RAM102にコピーしたOSイメージ300の処理を開始する。   When the boot loader 200 finishes copying the OS image 202 as the OS image 300, the boot loader 200 starts processing the OS image 300 copied to the RAM 102.

OSイメージ300の処理は、最初にOS起動のための初期設定処理が実行される。この初期設定処理の中で、必要であればNANDアクセスドライバ301がECCエラー訂正情報302を参照し、その中の識別情報に従ってブロックの代替え処理を含む、NANDフラッシュメモリ103のエラーブロック回復処理を実施する。 In the processing of the OS image 300, initial setting processing for starting up the OS is first executed. In this initial setting process, the NAND access driver 301 refers to the ECC error correction information 302 if necessary, and performs error block recovery processing of the NAND flash memory 103 including block replacement processing according to the identification information therein. To do.

図5は、本実施形態にかかるECCエラー訂正情報302の一例を示す図である。   FIG. 5 is a diagram showing an example of ECC error correction information 302 according to the present embodiment.

ECCエラー訂正情報302は大きく2つの情報から成り立っている。一つはエラーとなったページの数(エラーページ数500)であり、もう一つはエラーページ情報である。エラーページ数500は、読み出し時エラーとなったページが無ければゼロとなる。もしくはECCエラー訂正情報302そのものを作成しない。 The ECC error correction information 302 is mainly composed of two pieces of information. One is the number of pages in error (the number of error pages is 500), and the other is error page information. The number of error pages 500 is zero if there is no page that causes an error during reading. Alternatively, the ECC error correction information 302 itself is not created.

エラーページ情報は、ページ識別番号501、冗長データ502および訂正後データ503の組からなる。ページ識別番号501は、エラーのあったページを示すページ識別番号が格納される。訂正後データ503には、エラーを発見したページに付加されたECCを元に修復した後のデータが格納される。NANDフラッシュメモリの場合、通常512バイト長の領域を取る。冗長データ502は、訂正後データ503に格納している修復後のデータに対するECCである。ECCは通常、16バイト長の領域を取る。 The error page information includes a set of a page identification number 501, redundant data 502 and corrected data 503. The page identification number 501 stores a page identification number indicating a page having an error. The corrected data 503 stores data after being repaired based on the ECC added to the page where the error is found. In the case of NAND flash memory, an area of 512 bytes length is usually taken. Redundant data 502 is an ECC for the repaired data stored in the corrected data 503. ECC usually takes an area of 16 bytes.

このとき、エラーが発見されるページが複数ある場合、修復したページ総数をエラーページ数500に格納すると共に、その数だけ繰り返しエラーページ情報が格納される。   At this time, when there are a plurality of pages where an error is found, the total number of repaired pages is stored in the error page number 500, and error page information is repeatedly stored by that number.

図6は、本実施形態にかかる情報処理装置の動作フローの一例を示す図である。   FIG. 6 is a diagram illustrating an example of an operation flow of the information processing apparatus according to the present embodiment.

まずCPU100は、NORフラッシュメモリ101に格納したブートローダ200を実行する(ステップS01)。 First, the CPU 100 executes the boot loader 200 stored in the NOR flash memory 101 (step S01).

続いて、ブートローダ200に内蔵されたNANDアクセスドライバ201を介して、NANDフラッシュメモリ103に記憶したOSイメージ202を1ページ分読み出す(ステップS02)。このときECCに基づき読み出したデータにエラーが発生しているか否かを判断する(ステップS03)。 Subsequently, one page of the OS image 202 stored in the NAND flash memory 103 is read via the NAND access driver 201 built in the boot loader 200 (step S02). At this time, it is determined whether or not an error has occurred in the read data based on the ECC (step S03).

エラーが発生している場合(Yes)、ECCを用いてエラーを訂正する処理(ECCエラー訂正処理)を実施し(ステップS04)、正しいデータを修復する。そしてエラーとなったページの識別情報と修復後データおよびその修復後データのECCを計算し、ECCエラー訂正情報302を作成する(ステップS05)。修復後データはRAM102にコピーされる(ステップS06)。 If an error has occurred (Yes), a process of correcting the error using the ECC (ECC error correction process) is performed (step S04), and correct data is restored. Then, the identification information of the page in error, the restored data, and the ECC of the restored data are calculated, and ECC error correction information 302 is created (step S05). The restored data is copied to the RAM 102 (step S06).

ステップS03でエラーが発生しなければ(No)、読み出したデータをそのままRAM102にコピーする(ステップS06)。   If no error occurs in step S03 (No), the read data is copied to the RAM 102 as it is (step S06).

OSイメージ202を格納するページが残っている場合(ステップS07でNo)、次のページを読み出すためにステップS02からの処理を繰り返す。   If a page for storing the OS image 202 remains (No in step S07), the process from step S02 is repeated to read the next page.

全てのページを読み出したら(Yes)、次にブートローダ200はRAM上にコピーしたOSイメージ300の処理を開始する(ステップS08)。   When all pages have been read (Yes), the boot loader 200 starts processing the OS image 300 copied on the RAM (step S08).

OSイメージ300は最初にOS稼動のための初期設定処理が記述されている。この初期設定処理の中で、必要であればNANDフラッシュメモリ103に対しエラーブロック回復処理を実施する。   In the OS image 300, initial setting processing for operating the OS is first described. In this initial setting process, an error block recovery process is performed on the NAND flash memory 103 if necessary.

まずECCエラー訂正情報302がRAM102上に作成されているか否かを判断する(ステップS09)。作成されていた場合(Yes)、エラーページ数500で示される数分、NANDフラッシュメモリ103の使用可能な未使用のブロックを探し、読み出したECCエラー訂正情報302の冗長データ502および訂正後データ503を含む、そのページが含まれるブロックのデータを書き込み(ステップS10)、ページ識別番号501が含まれるブロックと置き換える。ページ識別番号501で示されるページを含む元のブロックは信頼性が低いと判断し、以後データの保存に使用されることが無いようにバッドブロックマークを設定する(ステップS11)。   First, it is determined whether ECC error correction information 302 has been created on the RAM 102 (step S09). If it has been created (Yes), the unused flash memory 103 is searched for available unused blocks by the number indicated by the number of error pages 500, and the redundant data 502 and post-correction data 503 of the read ECC error correction information 302 are searched. The data of the block including the page including the page is written (step S10) and replaced with the block including the page identification number 501. The original block including the page indicated by the page identification number 501 is determined to have low reliability, and a bad block mark is set so that it will not be used for data storage thereafter (step S11).

ここまでの一通りの処理を含む初期設定処理が終わると、OS本来の機能に移行する(ステップS12)。   When the initial setting process including the one process so far is completed, the function shifts to the original function of the OS (step S12).

本実施形態では上記のように、ECCエラー訂正情報302として作成した、読み出し時エラーとなったページの修復後のデータをエラーブロック回復処理に使用する。これにより、一度エラーを起こしたフラッシュメモリの不安定なページのデータを再び読まねばならないというリスクを回避することができる。   In the present embodiment, as described above, the data created as the ECC error correction information 302 after the restoration of the page having an error at the time of reading is used for the error block recovery process. As a result, it is possible to avoid the risk of having to read again the data of the unstable page of the flash memory that has once caused an error.

このような一連の構成とすることで、エラーが発見されたメモリブロックの代替え処理を省くことなく、NANDフラッシュメモリに格納されたデータの読み出しを高速に行えるエラー回復処理方法および情報処理装置を実現することができる。   By adopting such a series of configurations, an error recovery processing method and information processing apparatus that can read data stored in the NAND flash memory at high speed without omitting the replacement processing of the memory block in which the error is found are realized. can do.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

本実施形態にかかる情報処理装置のブロック構成図の一例を示す図である。It is a figure which shows an example of the block block diagram of the information processing apparatus concerning this embodiment. 本実施形態にかかるモジュール構成図の第1の動作を説明する図である。It is a figure explaining the 1st operation of the module block diagram concerning this embodiment. 本実施形態にかかるモジュール構成図の第2の動作を説明する図である。It is a figure explaining the 2nd operation of the module block diagram concerning this embodiment. 本実施形態にかかるモジュール構成図の第3の動作を説明する図である。It is a figure explaining the 3rd operation of the module block diagram concerning this embodiment. 本実施形態にかかるECCエラー訂正情報の一例を示す図である。It is a figure which shows an example of the ECC error correction information concerning this embodiment. 本実施形態にかかる情報処理装置の動作フローの一例を示す図である。It is a figure which shows an example of the operation | movement flow of the information processing apparatus concerning this embodiment.

符号の説明Explanation of symbols

100・・・CPU、101・・・NORフラッシュメモリ、102・・・RAM、103・・・NANDフラッシュメモリ、104・・・IOコントローラ、105・・・内部バス、200・・・ブートローダ、201・・・NANDアクセスドライバ、202・・・OSイメージ、203・・・NANDアクセスドライバ、300・・・OSイメージ、301・・・NANDアクセスドライバ、302・・・ECCエラー訂正情報 DESCRIPTION OF SYMBOLS 100 ... CPU, 101 ... NOR flash memory, 102 ... RAM, 103 ... NAND flash memory, 104 ... IO controller, 105 ... Internal bus, 200 ... Boot loader, 201. ..NAND access driver 202 ... OS image 203 ... NAND access driver 300 ... OS image 301 ... NAND access driver 302 ... ECC error correction information

Claims (5)

ブロック単位にアクセスされるフラッシュメモリにおける、エラーブロックのエラー回復処理方法であって、
第1のアプリケーションは、第1のアクセスドライバにより前記フラッシュメモリに記憶したデータを読み出し、
読み出したデータにエラーがあった場合、第1のアクセスドライバは、このデータと共に記憶された冗長データを用いて訂正し、この訂正データとこのデータが記憶されていたブロックを特定する情報とを含むエラー訂正情報を出力し、
前記エラー訂正情報が存在する場合、前記第1のアプリケーションの後に起動された第2のアプリケーションは、第2のアクセスドライバにより前記フラッシュメモリの使用可能な未使用のブロックにこのエラー訂正情報に含まれる前記訂正データを書き込むと共に、このエラー訂正情報に基づいて特定される前記フラッシュメモリのブロックを該未使用のブロックに置き換えるエラーブロック回復処理を行う
ことを特徴とするエラー回復処理方法。
An error block error recovery processing method in flash memory accessed in block units,
The first application reads the data stored in the flash memory by the first access driver,
When there is an error in the read data, the first access driver corrects it using the redundant data stored together with the data, and includes the correction data and information for specifying the block in which the data is stored. Output error correction information,
When the error correction information is present, the second application started after the first application is included in the error free information in the unused block of the flash memory that is used by the second access driver. An error recovery processing method comprising writing the correction data, and performing error block recovery processing for replacing the block of the flash memory specified based on the error correction information with the unused block.
前記第1のアクセスドライバが前記エラー訂正情報を出力する際、さらに該エラー訂正情報に前記訂正データから算出した冗長データを付加すると共に、
前記第2のアクセスドライバが前記エラーブロック回復処理を行う際、この付加した冗長データを前記未使用のブロックの冗長データとして書き込む
ことを特徴とする請求項1に記載のエラー回復処理方法。
When the first access driver outputs the error correction information, redundant data calculated from the correction data is further added to the error correction information;
2. The error recovery processing method according to claim 1, wherein when the second access driver performs the error block recovery process, the added redundant data is written as redundant data of the unused block.
ブロック単位にアクセスされ、読み出したあるブロックのデータに誤りが発見された場合、そのブロックの回復処理を必要とするフラッシュメモリを搭載した情報処理装置であって、
前記フラッシュメモリに記憶したデータを読み出す機能を備え、この読み出したデータにエラーが発見された場合、このデータを正しく訂正すると共に、このデータが記憶されていたブロックを特定する情報と訂正後の訂正データとを含むエラー訂正情報を出力する第1のアクセスドライバと、
前記第1のアクセスドライバを介して前記フラッシュメモリから所定のデータを読み出す処理手段と、
前記エラー訂正情報が存在する場合、前記フラッシュメモリの使用可能な未使用のブロックにこのエラー訂正情報に含まれる前記訂正データを書き込むと共に、このエラー訂正情報に基づいて特定される前記フラッシュメモリのブロックを該未使用のブロックに置き換えるエラーブロック回復処理を行う第2のアクセスドライバと
を具備し、
前記処理手段による読み出し処理の後に、前記第2のアクセスドライバによるエラーブロック回復処理をすることを特徴とする情報処理装置。
When an error is found in the data of a certain block that is accessed and read in block units, the information processing apparatus is equipped with a flash memory that requires recovery processing of the block,
A function for reading data stored in the flash memory is provided. When an error is found in the read data, the data is corrected correctly, and information for specifying the block in which the data is stored and correction after correction A first access driver that outputs error correction information including data;
Processing means for reading predetermined data from the flash memory via the first access driver;
When the error correction information exists, the correction data included in the error correction information is written to an available unused block of the flash memory, and the block of the flash memory specified based on the error correction information A second access driver that performs error block recovery processing for replacing the unused block with the unused block,
An information processing apparatus, wherein after the read processing by the processing means, error block recovery processing is performed by the second access driver.
前記第1のアクセスドライバが行うデータの訂正は、エラーが発見されたデータに付加された冗長データを用いて行われることを特徴とする、請求項3に記載の情報処理装置。   4. The information processing apparatus according to claim 3, wherein the data correction performed by the first access driver is performed using redundant data added to data in which an error is found. 前記第1のアクセスドライバが前記エラー訂正情報を出力する際、さらに該エラー訂正情報に前記訂正データから算出した冗長データを付加すると共に、
前記第2のアクセスドライバが前記エラーブロック回復処理を行う際、この付加した冗長データを前記未使用のブロックの冗長データとして書き込む
ことを特徴とする請求項3に記載の情報処理装置。
When the first access driver outputs the error correction information, redundant data calculated from the correction data is further added to the error correction information;
4. The information processing apparatus according to claim 3, wherein when the second access driver performs the error block recovery process, the added redundant data is written as redundant data of the unused block.
JP2007022085A 2007-01-31 2007-01-31 Method of recovery from error and information processor Pending JP2008191701A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007022085A JP2008191701A (en) 2007-01-31 2007-01-31 Method of recovery from error and information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007022085A JP2008191701A (en) 2007-01-31 2007-01-31 Method of recovery from error and information processor

Publications (1)

Publication Number Publication Date
JP2008191701A true JP2008191701A (en) 2008-08-21

Family

ID=39751786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007022085A Pending JP2008191701A (en) 2007-01-31 2007-01-31 Method of recovery from error and information processor

Country Status (1)

Country Link
JP (1) JP2008191701A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012069107A (en) * 2010-08-31 2012-04-05 Apple Inc Handling of error during device booting-up from nonvolatile memory
JP2012155430A (en) * 2011-01-25 2012-08-16 Sony Corp Memory system and operation method thereof
JP2013137771A (en) * 2011-12-12 2013-07-11 Apple Inc Mount-time reconciliation of data availability
US9003262B2 (en) 2011-03-24 2015-04-07 Samsung Electronics Co., Ltd. Memory controller, devices including the same, and operating method thereof
JP2018136735A (en) * 2017-02-22 2018-08-30 三菱電機株式会社 Memory controller and memory control method
CN109643261A (en) * 2016-09-08 2019-04-16 法国大陆汽车公司 Error correction method in flash memory

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012069107A (en) * 2010-08-31 2012-04-05 Apple Inc Handling of error during device booting-up from nonvolatile memory
US8589730B2 (en) 2010-08-31 2013-11-19 Apple Inc. Handling errors during device bootup from a non-volatile memory
JP2012155430A (en) * 2011-01-25 2012-08-16 Sony Corp Memory system and operation method thereof
US9003262B2 (en) 2011-03-24 2015-04-07 Samsung Electronics Co., Ltd. Memory controller, devices including the same, and operating method thereof
JP2013137771A (en) * 2011-12-12 2013-07-11 Apple Inc Mount-time reconciliation of data availability
US8756458B2 (en) 2011-12-12 2014-06-17 Apple Inc. Mount-time reconciliation of data availability
KR101451482B1 (en) 2011-12-12 2014-10-22 애플 인크. Mount-time reconciliation of data availability
US9104329B2 (en) 2011-12-12 2015-08-11 Apple Inc. Mount-time reconciliation of data availability
KR101930092B1 (en) 2011-12-12 2018-12-17 애플 인크. Mount-time reconciliation of data availability
CN109643261A (en) * 2016-09-08 2019-04-16 法国大陆汽车公司 Error correction method in flash memory
CN109643261B (en) * 2016-09-08 2023-06-02 法国大陆汽车公司 Error Correction Methods in Flash Memory
JP2018136735A (en) * 2017-02-22 2018-08-30 三菱電機株式会社 Memory controller and memory control method

Similar Documents

Publication Publication Date Title
JP5492679B2 (en) Storage device and memory controller
US8046528B2 (en) Data writing method for flash memory, and flash memory controller and storage device thereof
US8914702B2 (en) Bit error repair method and information processing apparatus
US20090100290A1 (en) Memory controller, nonvolatile memory device, nonvolatile memory system, and data writing method
TW201916018A (en) Data storage device and methods for writing data in a memory device
US8812910B2 (en) Pilot process method for system boot and associated apparatus
JP2010015197A (en) Storage controller, data restoration device, and storage system
TWI633428B (en) Data storage device and methods for processing data in the data storage device
JP2006120082A (en) Memory card, semiconductor device, and control method for memory card
US9547566B2 (en) Storage control apparatus, storage apparatus, information processing system, and storage control method therefor
JP4245585B2 (en) Memory controller, flash memory system, and flash memory control method
JP2009301194A (en) System for controlling semiconductor memory device
JP2008191701A (en) Method of recovery from error and information processor
JP5592478B2 (en) Nonvolatile storage device and memory controller
JP4956230B2 (en) Memory controller
JP4373943B2 (en) Memory controller, flash memory system, and flash memory control method
CN119025020A (en) Data access management method, memory controller of memory device, memory device and electronic device
JP4513786B2 (en) Memory controller, memory system, and memory control method
JP2010128697A (en) Memory system
JP4661369B2 (en) Memory controller
CN103389943A (en) Control device, storage device, and storage control method
JP2013069171A (en) Memory system and control method thereof
JP2010015477A (en) Flash memory control device and flash memory control method
JP5533141B2 (en) Writing device, writing method, and writing program
JP2008158908A (en) Memory controller, flash memory system, and control method of flash memory