[go: up one dir, main page]

JP5579431B2 - Solid-state drive device and leveling management information save / restore method - Google Patents

Solid-state drive device and leveling management information save / restore method Download PDF

Info

Publication number
JP5579431B2
JP5579431B2 JP2009297123A JP2009297123A JP5579431B2 JP 5579431 B2 JP5579431 B2 JP 5579431B2 JP 2009297123 A JP2009297123 A JP 2009297123A JP 2009297123 A JP2009297123 A JP 2009297123A JP 5579431 B2 JP5579431 B2 JP 5579431B2
Authority
JP
Japan
Prior art keywords
management information
data
leveling management
storage unit
saved
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.)
Active
Application number
JP2009297123A
Other languages
Japanese (ja)
Other versions
JP2011138273A (en
Inventor
譲 高橋
雅裕 白石
卓真 西村
光司 松田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009297123A priority Critical patent/JP5579431B2/en
Priority to PCT/JP2010/073670 priority patent/WO2011081168A1/en
Publication of JP2011138273A publication Critical patent/JP2011138273A/en
Application granted granted Critical
Publication of JP5579431B2 publication Critical patent/JP5579431B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

Landscapes

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

Description

本発明は、不揮発性半導体メモリを用いて構成された記憶装置であるソリッド・ステート・ドライブ装置(以下、SSD装置と略称)、および、そのSSD装置の記憶領域におけるデータ書き換え回数を平準化するために用いられる平準化管理情報の退避・回復方法に関する。   The present invention provides a solid state drive device (hereinafter abbreviated as an SSD device) that is a storage device configured using a nonvolatile semiconductor memory, and a method for leveling the number of data rewrites in the storage area of the SSD device. The present invention relates to a method for saving / restoring leveling management information used in the system.

近年、不揮発性半導体メモリであるフラッシュメモリを用いて、ハードディスク装置に代わるSSD装置を構成することが盛んに行われるようになった。SSD装置は、ハードディスク装置で必須の可動部品が不要であるため、一般には、高速かつ高信頼であるとされている。   2. Description of the Related Art In recent years, an SSD device that replaces a hard disk device has been actively used by using a flash memory that is a nonvolatile semiconductor memory. An SSD device is generally considered to be fast and highly reliable because it does not require any movable parts essential for a hard disk device.

しかしながら、フラッシュメモリには、データの書き込みと消去に伴う疲労現象がみられ、そのメモリセルへのデータの書き換え回数は、通常、10万回とされている。コンピュータ応用の場合、その使い方にもよるが、SSD装置におけるフラッシュメモリの特定の記憶領域のデータが10万回書き換えられるまでに、必ずしも長い時間を要しない。これでは、可動部品がないがゆえに高信頼である、というSSD装置のメリットが損なわれてしまう。   However, the flash memory has a fatigue phenomenon associated with data writing and erasing, and the number of times data is rewritten to the memory cell is normally 100,000 times. In the case of a computer application, although it depends on how it is used, it does not necessarily take a long time to rewrite data in a specific storage area of the flash memory in the SSD device 100,000 times. This impairs the merit of the SSD device that is highly reliable because there are no moving parts.

そこで、フラッシュメモリを用いたSSD装置では、その期待される高信頼性を確保するために、特定の記憶領域へのデータの書き込み(消去)が集中するのを回避し、各記憶領域におけるデータ書き換え回数を平準化する、いわゆる、ウェアレベリング技術が導入されている(例えば、特許文献1、特許文献2参照)。   Therefore, in an SSD device using a flash memory, in order to ensure the expected high reliability, data writing (erasing) in a specific storage area is avoided from being concentrated, and data rewriting in each storage area is avoided. A so-called wear leveling technique for leveling the number of times has been introduced (see, for example, Patent Document 1 and Patent Document 2).

特許文献1、特許文献2などに示されているように、ウェアレベリングの方法は様々であるが、一般的なウェアレベリングでは、記憶領域ごとに書き換え回数(消去回数)を管理するテーブルや、コンピュータから指定される論理アドレスをフラッシュメモリの物理アドレスに変換するためのアドレス変換テーブルがしばしば利用される。本明細書では、アドレス変換テーブルなどウェアレベリングに用いられる情報を総称して、平準化管理情報と呼ぶ。   As shown in Patent Document 1, Patent Document 2, and the like, there are various wear leveling methods. In general wear leveling, a table for managing the number of rewrites (number of erases) for each storage area, a computer, Often, an address conversion table is used to convert a logical address designated by 1 into a physical address of a flash memory. In this specification, information used for wear leveling such as an address conversion table is collectively referred to as leveling management information.

平準化管理情報は、しばしば、SSD装置を構成するフラッシュメモリの所定の記憶領域に記憶される(例えば、特許文献2参照)。しかしながら、データアクセスの高速性が要求されるような応用では、論理・物理アドレス変換も高速で行う必要があり、その目的のために、アドレス変換テーブルが高速のDRAM(Dynamic Random Access Memory)などに記憶されることがある。その場合、DRAMが揮発性メモリであることから、SSD装置は、電源投入の都度、アドレス変換テーブルを含む平準化管理情報をDRAMにロードすることが必要となる。また、平準化管理情報が、例えば、過去の履歴に伴って、時々刻々に変化するような場合には、SSD装置は、電源切断のたびに、DRAMに記憶されている平準化管理情報を不揮発性のフラッシュメモリに退避することが必要となる。   The leveling management information is often stored in a predetermined storage area of a flash memory constituting the SSD device (see, for example, Patent Document 2). However, in applications where high-speed data access is required, logical / physical address translation must be performed at high speed. For this purpose, the address translation table is used in a high-speed DRAM (Dynamic Random Access Memory). May be remembered. In this case, since the DRAM is a volatile memory, the SSD device needs to load the leveling management information including the address conversion table into the DRAM every time the power is turned on. Further, when the leveling management information changes from time to time, for example, with the past history, the SSD device stores the leveling management information stored in the DRAM in a nonvolatile manner every time the power is turned off. It is necessary to save it in a flash memory.

以上のように、平準化管理情報が揮発性メモリに記憶され、時々刻々書き換えられるような応用のSSD装置においては、電源が切断または投入されるたびに、平準化管理情報を退避または回復する処理が実行される。   As described above, in an SSD device in which leveling management information is stored in a volatile memory and rewritten from time to time, the leveling management information is saved or restored each time the power is turned off or on. Is executed.

特開2003−203016号公報JP 2003-203016 A 特開2008−191855号公報JP 2008-191855 A

一般に、SSD装置は、数10GB〜数100GBとういう大容量の記憶装置であるから、その平準化管理情報も数10MBに及ぶ場合がある。また、電源の切断では、突然の停電も考慮しなければならない。すなわち、SSD装置における平準化管理情報の退避・回復処理では、数10MBに及ぶ大容量の平準化管理情報を短時間(例えば、0.3秒〜0.5秒)のうちに不揮発性メモリに退避させることが解決すべき大きな課題となる。   In general, an SSD device is a large-capacity storage device of several tens GB to several hundred GB, and its leveling management information may extend to several tens of MB. Also, sudden power outage must be taken into account when turning off the power. That is, in the leveling management information saving / restoring process in the SSD device, a large amount of leveling management information of several tens of megabytes is stored in the nonvolatile memory within a short time (for example, 0.3 to 0.5 seconds). Evacuation is a major issue to be solved.

そこで、本発明の目的は、大容量の平準化管理情報を短時間のうちに不揮発性メモリに退避させることが可能なSSD装置およびその平準化管理情報の退避・回復方法を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide an SSD device capable of saving a large capacity leveling management information in a nonvolatile memory in a short time and a method for saving and restoring the leveling management information. .

本発明に係るソリッド・ステート・ドライブ(SSD)装置は、(1)複数の不揮発性メモリチップと、前記複数の不揮発性メモリチップを所定の数ごとの複数のレーンに分割したとき、前記レーンごとにそのレーンに属する不揮発性メモリチップに接続され、前記不揮発性メモリチップに対する書き込みまたは読み出しデータを一時記憶するバッファ記憶制御部と、を含んで構成された不揮発データ記憶部と、(2)前記不揮発性メモリチップにおける書き込みデータ消去の単位領域であるブロックのデータ消去回数を平準化するための平準化管理情報を記憶する平準化管理情報記憶部と、(3)電源供給オンおよびオフを検知する電源供給オン・オフ検知部と、(4)前記電源供給オン・オフ検知部により電源供給のオフが検知されたとき、前記平準化管理情報記憶部に記憶されている平準化管理情報を前記不揮発データ記憶部に退避し、前記電源供給オン・オフ検知部により電源供給のオンが検知されたとき、前記不揮発データ記憶部に退避されている平準化管理情報を前記平準化管理情報記憶部に回復させる平準化管理情報退避・回復処理部と、を備え、さらに、(5)前記平準化管理情報退避・回復処理部が前記平準化管理情報記憶部から読み出した退避データを順次前記複数のバッファ記憶制御部のそれぞれに転送したときには、前記複数のバッファ記憶制御部は、前記それぞれに転送された退避データを受け取り、前記受け取った退避データを互いに独立に並行して前記不揮発性メモリチップに転送して書き込むように構成されている。(6)そして、以上のように構成された本発明に係るソリッド・ステート・ドライブ(SSD)装置は、前記平準化管理情報退避・回復処理部が、前記平準化管理情報を前記不揮発データ記憶部に退避する場合には、前記平準化管理情報記憶部から前記平準化管理情報を順次所定のデータ長の退避データとして読み出し、前記読み出した退避データの先頭データが前記平準化管理情報記憶部に記憶されていたときのアドレス情報を取得し、前記退避データに前記取得したアドレス情報を付加した情報を、前記不揮発データデータ記憶部に書き込むことを特徴とする。 The solid state drive (SSD) device according to the present invention includes: (1) a plurality of non-volatile memory chips, and when the plurality of non-volatile memory chips are divided into a predetermined number of lanes; A non-volatile data storage unit connected to a non-volatile memory chip belonging to the lane and temporarily storing write or read data for the non-volatile memory chip ; and (2) the non-volatile a leveling management information storage unit for storing a leveling management information to level the data erase count block which is a unit area of the write data erasing in sexual memory chip, to detect the (3) the power supply on and off and a power supply on-off detection unit, off of the power supply is detected by (4) the power supply on-off detection unit The leveling management information stored in the leveling management information storage unit is saved in the nonvolatile data storage unit, and when the power supply on / off detection unit detects that the power supply is on, the nonvolatile management information storage unit stores the leveling management information. A leveling management information save / restore processing unit that restores the leveling management information saved in the data storage unit to the leveling management information storage unit ; and (5) saving and restoring the leveling management information When the processing unit sequentially transfers the saved data read from the leveling management information storage unit to each of the plurality of buffer storage control units, the plurality of buffer storage control units receive the saved data transferred to each of the plurality of buffer storage control units. The received saved data is transferred and written to the nonvolatile memory chip in parallel and independently of each other . (6) In the solid state drive (SSD) device according to the present invention configured as described above, the leveling management information saving / recovering unit stores the leveling management information in the nonvolatile data storage unit. In the case of saving to, the leveling management information is sequentially read out from the leveling management information storage unit as saved data having a predetermined data length, and the first data of the read out saved data is stored in the leveling management information storage unit The address information at the time of being stored is acquired, and information obtained by adding the acquired address information to the saved data is written in the nonvolatile data data storage unit .

一般に、不揮発性メモリへのデータの書き込みは、データ読み出しに比べ長時間を要するが、本発明では、平準化管理情報記憶部から読み出されて退避される平準化管理情報を、複数のレーンそれぞれに設けられたバッファ記憶制御部を介することによって、それぞれのレーンごとにそのレーンに属する不揮発性メモリチップに、互いに独立に並行して書き込むことが可能となる。従って、平準化管理情報の退避に要する時間が短縮される。   In general, writing data to a nonvolatile memory takes a long time compared to data reading.In the present invention, the leveling management information read and saved from the leveling management information storage unit is stored in each of a plurality of lanes. By using the buffer storage control unit provided in the, each lane can be written to the nonvolatile memory chips belonging to the lane in parallel independently of each other. Therefore, the time required for saving the leveling management information is shortened.

本発明によれば、大容量の平準化管理情報を短時間のうちに不揮発性メモリに退避させることが可能なソリッド・ステート・ドライブ装置およびその平準化管理情報の退避・回復方法を提供することが可能になる。   According to the present invention, a solid-state drive device capable of saving large-capacity leveling management information in a nonvolatile memory in a short time and a method for saving and restoring the leveling management information are provided. Is possible.

本発明の実施形態に係るSSD装置の構成の例を示した図。The figure which showed the example of the structure of the SSD apparatus which concerns on embodiment of this invention. 本発明の実施形態に係るNVMチップの構成の例を示した図。The figure which showed the example of the structure of the NVM chip which concerns on embodiment of this invention. 平準化管理情報記憶部とNVMチップの記憶領域の構成の例を示した図。The figure which showed the example of the structure of the storage area of a leveling management information storage part and a NVM chip. 退避先のNVMチップに故障チップ、不良ブロックおよびページ書き込みエラーのいずれも存在しない場合の平準化管理情報の退避処理において行われる退避データの基本転送手順の例を示した図。The figure which showed the example of the basic transfer procedure of the save data performed in the saving process of the leveling management information in case any of a failure chip, a bad block, and a page write error does not exist in the save destination NVM chip. 図4に示した基本転送手順に従って平準化管理情報をNVMチップへ退避するとき、平準化管理情報記憶部のWMに記憶されている平準化管理情報データが各NVMチップへ退避される様子を例示した図。An example of how the leveling management information data stored in the WM of the leveling management information storage unit is saved to each NVM chip when the leveling management information is saved to the NVM chip according to the basic transfer procedure shown in FIG. Figure. 退避先のNVMチップに故障チップ、不良ブロックおよびページ書き込みエラーのいずれも存在しない場合の平準化管理情報の回復処理において行われる回復データの基本転送手順の例を示した図。The figure which showed the example of the basic transfer procedure of the recovery data performed in the recovery process of the leveling management information in case any of a failure chip, a bad block, and a page write error does not exist in the save destination NVM chip. 図4および図6を用いて説明した平準化管理情報の退避処理および回復処理で行われるデータの転送手順をタイムチャートで示した図。FIG. 7 is a time chart illustrating a data transfer procedure performed in the leveling management information saving process and recovery process described with reference to FIGS. 4 and 6; 不良ブロック情報テーブルおよび故障チップ情報テーブルの構成の例を示した図。The figure which showed the example of a structure of a bad block information table and a failure chip information table. 平準化管理情報の退避処理中にページ書き込みエラーが生じる場合の退避データの転送手順の例を示した図(前半部分)。The figure which showed the example of the transfer procedure of the save data when a page write error occurs during the leveling management information save process (first half). 平準化管理情報の退避処理中にページ書き込みエラーが生じる場合の退避データの転送手順の例を示した図(後半部分)。The figure which showed the example of the transfer procedure of the backup data when a page write error occurs during the leveling management information backup process (second half). 故障チップがある場合の退避データの転送手順のうち、後半部分の転送手順の例を示した図。The figure which showed the example of the transfer procedure of the latter half part among the transfer procedures of the save data when there is a failure chip. 故障チップがある場合の退避データの転送手順において、前半部分の退避処理で退避されなかった平準化管理情報が後半部分の退避処理で各NVMチップに退避される様子を示した図。The figure which showed a mode that the leveling management information which was not saved by the saving process of the first half part is saved by each NVM chip by the saving process of the second half part in the transfer procedure of the save data when there is a defective chip. 不良ブロックが存在するNVMチップにおけるページアドレスの付し方を説明する図。The figure explaining how to attach the page address in the NVM chip where the bad block exists. 平準化管理情報退避・回復処理部およびバッファ記憶制御部が行う平準化管理情報の退避処理の処理フローの例を示した図。The figure which showed the example of the processing flow of the saving process of the leveling management information which the leveling management information backup / recovery processing part and the buffer storage control part perform.

以下、本発明の実施形態について、図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明の実施形態に係るSSD装置の構成の例を示した図である。図1に示すように、SSD装置1は、自身にとって外部装置となるホスト装置2に、ホストバス3を介して接続されて用いられる。   FIG. 1 is a diagram showing an example of the configuration of an SSD device according to an embodiment of the present invention. As shown in FIG. 1, an SSD device 1 is used by being connected to a host device 2 that is an external device for itself via a host bus 3.

ここで、ホスト装置2は、いわゆるコンピュータ、または、コンピュータを利用した様々な形態の情報処理装置、制御装置、端末装置などである。また、ホストバス3は、IDE(Integrated Drive Electronics),SCSI(Small Computer System Interface),SATA(Serial Advanced Technology Attachment),SAS(Serial Attached SCSI),USB(Universal Serial Bus)などである。   Here, the host device 2 is a so-called computer, or various types of information processing devices, control devices, terminal devices, and the like using the computer. The host bus 3 includes IDE (Integrated Drive Electronics), SCSI (Small Computer System Interface), SATA (Serial Advanced Technology Attachment), SAS (Serial Attached SCSI), USB (Universal Serial Bus), and the like.

SSD装置1は、不揮発データ記憶部20および不揮発データ記憶制御部10によって構成される。不揮発データ記憶部20は、不揮発性メモリであるフラッシュメモリからなるNVM(Non-Volatile Memory:不揮発性メモリ)チップ23を複数個含んで構成され、ホスト装置2から供給されるデータを不揮発に記憶する。また、不揮発データ記憶制御部10は、基本的には、ホスト装置2から供給されるデータをNVMチップ23へ書き込む制御、および、ホスト装置2からの求めに応じてNVMチップ23に書き込まれているデータを読み出す制御を行う。   The SSD device 1 includes a nonvolatile data storage unit 20 and a nonvolatile data storage control unit 10. The nonvolatile data storage unit 20 is configured to include a plurality of NVM (Non-Volatile Memory) chips 23 composed of a flash memory that is a nonvolatile memory, and stores data supplied from the host device 2 in a nonvolatile manner. . Further, the nonvolatile data storage control unit 10 basically writes data supplied from the host device 2 to the NVM chip 23 and writes to the NVM chip 23 in response to a request from the host device 2. Control to read data.

不揮発データ記憶制御部10は、データ書き込み・読み出し制御部11、平準化管理部12、平準化管理情報記憶部13、平準化管理情報退避・回復処理部14、電源オン・オフ検知部15を含んで構成される。   The nonvolatile data storage control unit 10 includes a data write / read control unit 11, a leveling management unit 12, a leveling management information storage unit 13, a leveling management information save / recovery processing unit 14, and a power on / off detection unit 15. Consists of.

データ書き込み・読み出し制御部11は、ホストバス3を介してホスト装置2から送信されるSSD装置1に対するデータ書き込み要求、データ読み出し要求などのコマンドを受信する。そして、そのコマンドがデータ書き込み要求である場合には、コマンドに続いてホスト装置2から送信される論理アドレスと書き込みデータを受信し、論理アドレスをNVMチップ23の物理アドレスに変換して、前記の受信した書き込みデータをその変換した物理アドレスで指定されるNVMチップ23へ書き込む。また、コマンドがデータ読み出し要求である場合には、コマンドに続いてホスト装置2から送信される論理アドレスをNVMチップ23の物理アドレスに変換して、その変換した物理アドレスで指定されるNVMチップ23からデータを読み出し、読み出したデータをホスト装置2へ送信する。   The data write / read control unit 11 receives commands such as a data write request and a data read request to the SSD device 1 transmitted from the host device 2 via the host bus 3. If the command is a data write request, the logical address and write data transmitted from the host device 2 following the command are received, the logical address is converted into the physical address of the NVM chip 23, The received write data is written to the NVM chip 23 designated by the converted physical address. When the command is a data read request, the logical address transmitted from the host device 2 following the command is converted into the physical address of the NVM chip 23, and the NVM chip 23 specified by the converted physical address. The data is read from the host device, and the read data is transmitted to the host device 2.

平準化管理情報記憶部13は、データ書き込み・読み出し制御部11が論理アドレスを物理アドレスに変換するときに用いられる論理・物理変換テーブルや、NVMチップ23の物理アドレスとその物理アドレスで指定される記憶領域のデータの書き換え(消去)回数などの情報を記憶する。本実施形態では、この平準化管理情報記憶部13は、揮発性半導体メモリであるDRAMによって構成されるとする。   The leveling management information storage unit 13 is specified by a logical / physical conversion table used when the data writing / reading control unit 11 converts a logical address to a physical address, or a physical address of the NVM chip 23 and its physical address. Information such as the number of times data is rewritten (erased) in the storage area is stored. In the present embodiment, the leveling management information storage unit 13 is assumed to be configured by a DRAM which is a volatile semiconductor memory.

平準化管理部12は、データ書き込み・読み出し制御部11が実行するコマンドを監視して、平準化管理情報記憶部13におけるNVMチップ23の各記憶領域のデータの消去回数などを更新するとともに、その消去回数を平準化するために、適宜、論理・物理変換テーブルを変更する。なお、本実施形態では、論理・物理変換テーブルを含んで構成される平準化管理情報は、所定の時間ごとにまたは所定の条件が満たされるごとに変更されるものであれば、どのようなものであってもよい。従って、平準化管理情報を変更する条件や論理・物理変換の方法などについては、とくに限定をするものではない。   The leveling management unit 12 monitors the command executed by the data writing / reading control unit 11 and updates the number of times data is erased in each storage area of the NVM chip 23 in the leveling management information storage unit 13. In order to equalize the number of erasures, the logical / physical conversion table is changed as appropriate. In the present embodiment, the leveling management information including the logical / physical conversion table is any information as long as it is changed every predetermined time or every time a predetermined condition is satisfied. It may be. Therefore, the conditions for changing the leveling management information and the logical / physical conversion method are not particularly limited.

電源オン・オフ検知部15は、SSD装置1へ供給される電源供給の切断(オフ)および投入(オン)を検知する。なお、SSD装置1は、図示しない電源回路を有し、その電源回路に設けられているコンデンサにより、電源オン・オフ検知部15により電源供給のオフが検知された後も、所定の時間(例えば、0.3〜0.5秒)は、SSD装置1が正常に動作するための電圧および電流が供給されるものとする。   The power on / off detector 15 detects disconnection (off) and on (on) of power supply supplied to the SSD device 1. The SSD device 1 has a power supply circuit (not shown), and a predetermined time (for example, after the power supply on / off detection unit 15 detects the power supply off by a capacitor provided in the power supply circuit). , 0.3 to 0.5 seconds) is assumed to be supplied with voltage and current for the SSD device 1 to operate normally.

平準化管理情報退避・回復処理部14は、電源オン・オフ検知部15によってSSD装置1への電源供給のオフが検知されたとき、平準化管理情報記憶部13に記憶されている平準化管理情報を不揮発データ記憶部20のNVMチップ23の記憶領域のあらかじめ定められた領域に退避する。また、平準化管理情報退避・回復処理部14は、SSD装置1への電源供給のオンが検知されたとき、NVMチップ23に退避されている平準化管理情報を平準化管理情報記憶部13に回復させる。   The leveling management information save / recovery processing unit 14 stores the leveling management information stored in the leveling management information storage unit 13 when the power on / off detection unit 15 detects that the power supply to the SSD device 1 is off. Information is saved in a predetermined area of the storage area of the NVM chip 23 in the nonvolatile data storage unit 20. Further, the leveling management information save / restore processing unit 14 stores the leveling management information saved in the NVM chip 23 in the leveling management information storage unit 13 when it is detected that the power supply to the SSD device 1 is turned on. Let me recover.

ここで、各レーン21のバッファ記憶制御部22とそのレーン21に属するNVMチップ23とは、チップ接続バス24によって接続されている。また、各レーン21のバッファ記憶制御部22と不揮発データ記憶制御部10とは、レーン接続バス30によって接続されている。   Here, the buffer storage control unit 22 of each lane 21 and the NVM chip 23 belonging to the lane 21 are connected by a chip connection bus 24. Further, the buffer storage control unit 22 and the nonvolatile data storage control unit 10 of each lane 21 are connected by a lane connection bus 30.

平準化管理情報退避・回復処理部14は、その内部に不良ブロック情報テーブル141および故障チップ情報テーブル142を有しているが、その詳細については後記する。また、平準化管理情報の退避・回復の詳細な処理手順については、この明細書の中で順次説明する。   The leveling management information save / recovery processing unit 14 has a defective block information table 141 and a failed chip information table 142 therein, the details of which will be described later. Further, detailed processing procedures for saving and restoring the leveling management information will be sequentially described in this specification.

不揮発データ記憶部20は、複数のNVMチップ23を含んで構成されるが、その複数のNVMチップ23は、レーン21によってグループ化される。本実施形態では、8個のレーン21が設けられ、それぞれのレーン21には、それぞれ独立に動作するバッファ記憶制御部22および3個のNVMチップ23が含まれている。   The nonvolatile data storage unit 20 includes a plurality of NVM chips 23, and the plurality of NVM chips 23 are grouped by lanes 21. In this embodiment, eight lanes 21 are provided, and each lane 21 includes a buffer storage control unit 22 and three NVM chips 23 that operate independently.

バッファ記憶制御部22は、高速のRAMなどで構成されたバッファメモリ(BM:図4など参照)を有して構成され、NVMチップ23への書き込み・読み出しデータをバッファメモリに一時記憶するとともに、NVMチップ23に対するデータの書き込みおよび読み出しタイミングの調整を行う。   The buffer storage control unit 22 includes a buffer memory (BM: see FIG. 4 and the like) configured by a high-speed RAM and the like, and temporarily stores write / read data to / from the NVM chip 23 in the buffer memory. Data write / read timing adjustment to the NVM chip 23 is performed.

図2は、NVMチップ23の構成の例を示した図である。ここでは、NVMチップ23は、いわゆるフラッシュメモリである。フラッシュメモリの場合、図2(a),(b)に示すように、1個のNVMチップ23の記憶領域は、複数のブロック231に分割され、それぞれのブロック231は、複数のページ232(例えば、64ページ)に分割されて構成されている。また、図2(c)に示すように、それぞれのページ232には、4kBのデータを記憶する記憶領域が設けられている。   FIG. 2 is a diagram illustrating an example of the configuration of the NVM chip 23. Here, the NVM chip 23 is a so-called flash memory. In the case of a flash memory, as shown in FIGS. 2A and 2B, the storage area of one NVM chip 23 is divided into a plurality of blocks 231, and each block 231 has a plurality of pages 232 (for example, , 64 pages). Further, as shown in FIG. 2C, each page 232 is provided with a storage area for storing 4 kB of data.

そこで、1個のNVMチップ23の記憶容量が、例えば、4GBである場合には、1ブロック=64ページ、1ページ=4kBであるとすると、1個のNVMチップ23には、およそ16000個のブロックが設けられていることになる。本実施形態では、このうち、例えば、14個のブロックを、平準化管理情報を退避するための退避データ記憶領域として用い、残りのブロックを外部データ(ホスト装置2から供給されるデータ)を記憶する外部データ記憶領域として用いる。   Therefore, if the storage capacity of one NVM chip 23 is 4 GB, for example, if 1 block = 64 pages and 1 page = 4 kB, one NVM chip 23 has approximately 16000 pieces. A block is provided. In the present embodiment, of these, for example, 14 blocks are used as a save data storage area for saving the leveling management information, and the remaining blocks are used to store external data (data supplied from the host device 2). Used as an external data storage area.

これらNVMチップ23におけるブロック231およびページ232の構成は、フラッシュメモリ自体の構造およびその読み出し・書き込み方法に由来し、そのデータの読み出し・書き込みついては、次のような制約が設けられている。
(1)データ読み出し・書き込みは、ページ232の単位で行う。(2)データの消去はブロック231の単位で行う。(3)ページ232が消去された状態でなければ、そのページ232への書き込みはできない。(4)ブロック231の消去回数には、上限がある。
The configuration of the block 231 and the page 232 in these NVM chips 23 is derived from the structure of the flash memory itself and the read / write method thereof, and the following restrictions are imposed on the read / write of the data.
(1) Data reading / writing is performed in units of pages 232. (2) Data is erased in units of block 231. (3) If the page 232 is not erased, writing to the page 232 is not possible. (4) There is an upper limit to the number of times the block 231 is erased.

本実施形態では、NVMチップ23に対する退避データの書き込みまたは読み出しは、図2(c)に示すフォーマットを有するページ232を単位として行われる。そのフォーマットによれば、ページ232は、ヘッダ233とそれぞれが512Bの退避データを含んでなる8個のセグメント234とによって構成される。このとき、各セグメント234の退避データには、CRC(Cyclic Redundancy Check)符号やリード・ソロモン符号などの検査符号235が付加される。また、本実施形態では、ヘッダ233は、退避される1ページ分(4kB)の平準化管理情報の先頭データが平準化管理情報記憶部13に記憶されていたときのアドレス(以下、本明細書では、このアドレスを退避データ先頭アドレスと呼ぶ)を含んで構成される。   In this embodiment, the writing or reading of the saved data with respect to the NVM chip 23 is performed in units of pages 232 having the format shown in FIG. According to the format, the page 232 includes a header 233 and eight segments 234 each including 512B of saved data. At this time, a check code 235 such as a CRC (Cyclic Redundancy Check) code or a Reed-Solomon code is added to the saved data of each segment 234. In the present embodiment, the header 233 is an address (hereinafter referred to as this specification) when the head data of the leveling management information for one page (4 kB) to be saved is stored in the leveling management information storage unit 13. In this case, this address is referred to as a saved data start address).

なお、ここまでの説明では、ページ232は、4kBのデータを記憶する記憶領域を有するとしているが、実際には(物理的には)4kB+αの記憶領域を有している。このとき、+αは200〜256B程度であるが、この+αの記憶領域部分を利用して、ヘッダ233や検査符号235が記憶される。   In the description so far, the page 232 has a storage area for storing 4 kB of data, but actually (physically) has a storage area of 4 kB + α. At this time, + α is about 200 to 256 B, but the header 233 and the check code 235 are stored using the storage area portion of + α.

図3は、平準化管理情報記憶部13とNVMチップ23の記憶領域の構成の例を示した図である。図3に示すように、平準化管理情報記憶部13には、平準化管理情報のほかに追加退避情報やそれらを併せたデータに対するチェックサムが記憶され、平準化管理情報がNVMチップ23に退避されるときには、これらのデータがすべて退避される。ここで、追加退避情報とは、平準化管理情報退避・回復処理部14に含まれる各種レジスタ、不良ブロック情報テーブル141、故障チップ情報テーブル142などに記憶されているデータをいう。   FIG. 3 is a diagram illustrating an example of the configuration of the storage areas of the leveling management information storage unit 13 and the NVM chip 23. As shown in FIG. 3, in addition to the leveling management information, the leveling management information storage unit 13 stores additional saving information and a checksum for the combined data, and the leveling management information is saved in the NVM chip 23. When this is done, all these data are saved. Here, the additional save information refers to data stored in various registers, the defective block information table 141, the failed chip information table 142, and the like included in the leveling management information save / recovery processing unit 14.

従って、電源オン・オフ検知部15により電源供給のオフが検知されたときには、平準化管理情報退避・回復処理部14は、まず、不良ブロック情報テーブル141などの追加退避情報を平準化管理情報記憶部13に格納した上で、平準化管理情報記憶部13に記憶されているすべてのデータを退避データとしてNVMチップ23へ退避する。   Therefore, when the power supply on / off detection unit 15 detects that the power supply is turned off, the leveling management information save / restore processing unit 14 first stores the additional save information such as the defective block information table 141 in the leveling management information storage. After being stored in the unit 13, all data stored in the leveling management information storage unit 13 is saved to the NVM chip 23 as save data.

本実施形態では、平準化管理情報記憶部13に記憶されるデータの総容量を全48MBであるとし、その48MBのデータを24個のNVMチップ23に分散して退避する。このとき、24個のNVMチップ23全体として、全84MBの退避データ記憶領域が用意され、そのうち、48MBが基本退避領域であり、36MBが予備退避領域である。すなわち、NVMチップ23それぞれについて見れば、512ページ(8ブロック)が基本退避領域として用いられ、384ページ(6ブロック)が予備退避領域として用いられる。なお、本実施形態では、これら896ページの退避データ記憶領域は、各NVMチップ23において物理ページのアドレス(#0)〜(#895)の領域に、固定的に割当てられるものとする。   In the present embodiment, the total capacity of data stored in the leveling management information storage unit 13 is assumed to be 48 MB in total, and the 48 MB of data is distributed and saved in 24 NVM chips 23. At this time, a total of 84 MB of the save data storage area is prepared for the 24 NVM chips 23 as a whole, of which 48 MB is the basic save area and 36 MB is the reserve save area. That is, for each NVM chip 23, 512 pages (8 blocks) are used as a basic save area, and 384 pages (6 blocks) are used as a reserve save area. In the present embodiment, it is assumed that these 896 pages of saved data storage areas are fixedly allocated to areas of physical page addresses (# 0) to (# 895) in each NVM chip 23.

予備退避領域には、24個のNVMチップ23のいずれかが故障チップであった場合に、その故障チップに退避されることになっていた退避データが各NVMチップ23の予備退避領域に分散されて退避される。また、NVMチップ23に不良ブロックが存在した場合や、NVMチップ23へのデータ書き込み時にページ書き込みエラーが生じた場合には、その分、余分な退避領域が必要となるので、その場合にも、平準化管理情報は、予備退避領域に広がって記憶される。   In the spare save area, if any of the 24 NVM chips 23 is a faulty chip, the save data to be saved in the faulty chip is distributed to the spare save area of each NVM chip 23. And evacuated. In addition, when there is a defective block in the NVM chip 23 or when a page write error occurs when writing data to the NVM chip 23, an extra save area is required accordingly. The leveling management information is spread and stored in the preliminary save area.

続いて、図4〜図7を参照して、NVMチップ23に故障チップ、不良ブロックおよびページ書き込みエラーのいずれも存在しないまたは生じない場合について、平準化管理情報記憶部13に記憶されている平準化管理情報をNVMチップ23に退避または回復する手順について説明する。なお、本明細書では、単に、平準化管理情報という場合には、平準化管理情報記憶部13に記憶されている全部のデータ、すなわち、図3に示した平準化管理情報だけでなく、追加退避情報およびチェックサムを含むものとする。また、以下では、退避または回復されているときの平準化管理情報を、しばしば、退避データまたは回復データと呼ぶ。   Subsequently, with reference to FIGS. 4 to 7, the leveling stored in the leveling management information storage unit 13 in the case where none of the failed chip, the defective block, and the page write error is present or does not occur in the NVM chip 23. A procedure for saving or restoring the management information to the NVM chip 23 will be described. In this specification, when the leveling management information is simply referred to, not only all the data stored in the leveling management information storage unit 13, that is, the leveling management information shown in FIG. It shall include evacuation information and checksum. In the following, the leveling management information when saved or restored is often referred to as saved data or restored data.

図4は、退避先のNVMチップ23に故障チップ、不良ブロックおよびページ書き込みエラーのいずれも存在しない場合の平準化管理情報の退避処理において行われる退避データの基本転送手順の例を示した図である。なお、図4において、矢線は退避データの転送方向を示し、矢線の傍の括弧付の数字は、その転送が行われる順序を表す。   FIG. 4 is a diagram showing an example of the basic transfer procedure of the save data performed in the leveling management information save process when the NVM chip 23 at the save destination does not have any faulty chip, bad block, or page write error. is there. In FIG. 4, the arrow indicates the transfer direction of the saved data, and the numbers in parentheses beside the arrow indicate the order in which the transfer is performed.

図4において、平準化管理情報記憶部13は、DRAMなどで構成されたWM(ウェアレベリングメモリ)130を含んで構成され、また、バッファ記憶制御部22は、1ページ分(4kB)の記憶容量のBM(バッファメモリ)220を含んで構成される。なお、WM130は、実質的には平準化管理情報記憶部13そのものと考えてよいが、本明細書では、平準化管理情報記憶部13を構成するDRAMなどの揮発性メモリからなる部分を、とくに、WM130と呼んだものである。   In FIG. 4, the leveling management information storage unit 13 includes a WM (wear leveling memory) 130 configured by a DRAM or the like, and the buffer storage control unit 22 has a storage capacity of one page (4 kB). BM (buffer memory) 220. Note that the WM 130 may be substantially regarded as the leveling management information storage unit 13 itself. However, in this specification, a part made up of a volatile memory such as a DRAM that constitutes the leveling management information storage unit 13 is particularly described. , Called WM130.

WM130からNVMチップ23への退避データの転送は、平準化管理情報退避・回復処理部14の制御のもとに、1ページ分のデータ(4kB)を単位として行われる。すなわち、平準化管理情報退避・回復処理部14は、まず、WM130から最初の1ページ分の退避データを読み出し、読み出した退避データをBM(#0)と記載されたBM220(以下、BM(#0)と略記する)へ転送する(転送順序(1)参照)。このとき、BM(#0)へ転送された1ページ分の退避データは、当該BM(#0)に一時記憶される。   Transfer of saved data from the WM 130 to the NVM chip 23 is performed in units of one page of data (4 kB) under the control of the leveling management information save / restore processing unit 14. That is, the leveling management information save / restore processing unit 14 first reads the saved data for the first page from the WM 130, and reads the saved data as BM 220 (hereinafter referred to as BM (#). (Referred to as transfer order (1)). At this time, the saved data for one page transferred to the BM (# 0) is temporarily stored in the BM (# 0).

なお、平準化管理情報退避・回復処理部14は、当該1ページ分の退避データを転送するに際して、当該退避データの先頭データがWM130に記憶されていたときのアドレス、つまり、退避データ先頭アドレスを併せてBM(#0)へ転送する。   The leveling management information save / restore processing unit 14 uses the address when the top data of the save data is stored in the WM 130 when transferring the save data for one page, that is, the save data start address. At the same time, the data is transferred to BM (# 0).

次に、平準化管理情報退避・回復処理部14は、BM(#0)を有するバッファ記憶制御部22に対し、BM(#0)に一時記憶されている1ページ分の退避データを、NVM(#0)と記載されたNVMチップ23(以下、NVM(#0)と略記する)へ転送することを指示する。そして、その転送指示を受けたBM(#0)を有するバッファ記憶制御部22は、BM(#0)に一時記憶されている1ページ分の退避データに、ヘッダ233(退避データ先頭アドレス)および退避データ512Bごとの検査符号235を付加し、NVM(#0)へ転送する(転送順序(2)参照)。NVM(#0)に転送された退避データは、NVM(#0)のページ(#0)の領域に書き込まれる。   Next, the leveling management information save / restore processing unit 14 sends the saved data for one page temporarily stored in the BM (# 0) to the buffer storage control unit 22 having the BM (# 0). Instruct to transfer to the NVM chip 23 described as (# 0) (hereinafter abbreviated as NVM (# 0)). Then, the buffer storage control unit 22 having the BM (# 0) having received the transfer instruction adds the header 233 (saved data start address) and the saved data for one page temporarily stored in the BM (# 0) and A check code 235 for each save data 512B is added and transferred to NVM (# 0) (see transfer order (2)). The saved data transferred to the NVM (# 0) is written in the area of the page (# 0) of the NVM (# 0).

平準化管理情報退避・回復処理部14は、以上の処理においてBM(#0)を有するバッファ記憶制御部22に対し、退避データのNVM(#0)への退避データの転送を指示すると、その転送の終了を待つことなく、次の処理へ移行する。すなわち、平準化管理情報退避・回復処理部14は、WM130から次の1ページ分の退避データを読み出し、その読み出した退避データを、BM(#1)へ転送する(転送順序(3)参照)。転送された退避データは、そのBM(#1)に一時記憶される。また、その転送に際しては、退避データ先頭アドレスが併せて転送される。   When the leveling management information save / restore processing unit 14 instructs the buffer storage control unit 22 having the BM (# 0) to transfer the saved data to the NVM (# 0) in the above processing, The process proceeds to the next process without waiting for the end of the transfer. That is, the leveling management information save / restore processing unit 14 reads the saved data for the next one page from the WM 130 and transfers the read saved data to the BM (# 1) (see transfer order (3)). . The transferred save data is temporarily stored in the BM (# 1). At the time of the transfer, the saved data start address is also transferred.

次に、平準化管理情報退避・回復処理部14は、BM(#1)を有するバッファ記憶制御部22に対し、BM(#1)に一時記憶されている1ページ分の退避データを、NVM(#1)へ転送することを指示する。そして、その転送指示を受けたBM(#1)を含むバッファ記憶制御部22は、BM(#1)に一時記憶されている1ページ分の退避データにヘッダ233(退避データ先頭アドレス)および退避データ512Bごとの検査符号235を付加し、NVM(#1)へ転送する(転送順序(4)参照)。   Next, the leveling management information save / restore processing unit 14 sends the saved data for one page temporarily stored in the BM (# 1) to the buffer storage control unit 22 having the BM (# 1). Instruct to transfer to (# 1). Upon receiving the transfer instruction, the buffer storage control unit 22 including the BM (# 1) stores the header 233 (saved data start address) and the saved data in the saved data for one page temporarily stored in the BM (# 1). A check code 235 for each data 512B is added and transferred to the NVM (# 1) (see transfer order (4)).

以下、同様に、平準化管理情報退避・回復処理部14およびバッファ記憶制御部22は、転送順序(5),(6),・・・,(47),(48)で示される退避データの転送を実行する。そして、以上の転送順序(1)〜(48)で示される退避データの転送により、NVM(#0)〜NVM(#23)のそれぞれのページ(#1)に所定の退避データが退避されたことになる。   Hereinafter, similarly, the leveling management information saving / restoring processing unit 14 and the buffer storage control unit 22 store the saved data indicated by the transfer orders (5), (6),..., (47), (48). Perform the transfer. Then, due to the transfer of the save data shown in the above transfer order (1) to (48), the predetermined save data is saved in each page (# 1) of NVM (# 0) to NVM (# 23). It will be.

さらに、同様に、転送順序(1)〜(48)で示される退避データの転送が繰り返し実行されることによって、所定の退避データがNVM(#0)〜NVM(#23)のそれぞれのページ(#2),ページ(#3),・・・,ページ(#511)へ、順次、退避される。   Further, similarly, by repeatedly executing the save data transfer shown in the transfer order (1) to (48), the predetermined save data is transferred to each page (NVM (# 0) to NVM (# 23)). # 2), page (# 3),..., Page (# 511) are sequentially saved.

図5は、図4に示した基本転送手順に従って平準化管理情報をNVMチップ23へ退避するとき、平準化管理情報記憶部13のWM130に記憶されている平準化管理情報が各NVMチップ23へ退避される様子を例示した図である。   FIG. 5 shows that the leveling management information stored in the WM 130 of the leveling management information storage unit 13 is transferred to each NVM chip 23 when the leveling management information is saved to the NVM chip 23 according to the basic transfer procedure shown in FIG. It is the figure which illustrated a mode that it was evacuated.

図5では、WM130は、1ページ(4kB)分のデータで区分され、その区分された区画内には、転送先となるNVMチップ23のチップ番号およびページアドレスが記載されている。また、各区画の左側には、その区画の先頭アドレスが記載されている。この先頭アドレスは、退避データ先頭アドレスとして、各NVMチップ23に書き込まれるページ232のデータのヘッダ233に含まれる。   In FIG. 5, the WM 130 is divided by data for one page (4 kB), and the chip number and page address of the NVM chip 23 serving as a transfer destination are described in the divided section. In addition, on the left side of each section, the head address of the section is described. This start address is included in the header 233 of the data of the page 232 written to each NVM chip 23 as the save data start address.

また、図5では、矢線により、退避元のWM130の区画と退避先のNVMチップ23のページが接続されて示されている。そして、この矢線の傍に付された括弧付の数字は、図4における括弧付の数字と同じものであり、データの転送順序を意味している。ただし、図が煩雑になることを避けるため、この転送順序を表す数は、一部の矢線にのみ付されている。   In FIG. 5, the section of the save source WM 130 and the page of the save destination NVM chip 23 are connected by arrows. The numbers in parentheses attached to the side of the arrow are the same as the numbers in parentheses in FIG. 4 and mean the data transfer order. However, in order to avoid complication of the figure, the numbers representing the transfer order are given only to some arrow lines.

図6は、退避先のNVMチップ23に故障チップ、不良ブロックおよびページ書き込みエラーのいずれも存在しない場合の平準化管理情報の回復処理において行われる回復データの基本転送手順の例を示した図である。なお、ここで、回復データとは、NVMチップ23に退避されている平準化管理情報をいう。また、図6において、矢線は回復データの転送方向を示し、矢線の傍の括弧付の数字は、その転送が行われる順序を表す。   FIG. 6 is a diagram showing an example of a recovery data basic transfer procedure performed in the recovery processing of the leveling management information in the case where none of the failed chip, the defective block, and the page write error exists in the save destination NVM chip 23. is there. Here, the recovery data refers to leveling management information saved in the NVM chip 23. In FIG. 6, the arrow indicates the transfer direction of the recovery data, and the numbers in parentheses beside the arrow indicate the order in which the transfer is performed.

平準化管理情報の回復処理では、平準化管理情報退避・回復処理部14は、まず、各レーン21のバッファ記憶制御部22に対して、NVMチップ23からの回復データの読み出を指示する。各レーン21のバッファ記憶制御部22は、その指示を受けて、NVM(#0)〜NVM(#7)から1ページ分の回復データを読み出し、その読み出した回復データをそれぞれBM(#0)〜BM(#7)へ転送する(転送順序(1)参照)。そして、その転送されたそれぞれの回復データは、BM(#0)〜BM(#7)に一時記憶される。   In the leveling management information recovery process, the leveling management information save / restore processing unit 14 first instructs the buffer storage control unit 22 of each lane 21 to read the recovery data from the NVM chip 23. In response to the instruction, the buffer storage control unit 22 of each lane 21 reads the recovery data for one page from the NVM (# 0) to NVM (# 7), and each of the read recovery data is BM (# 0). To BM (# 7) (see transfer order (1)). The transferred recovery data is temporarily stored in BM (# 0) to BM (# 7).

ここで、8つのバッファ記憶制御部22が平準化管理情報退避・回復処理部14から回復データの読み出し指示を受ける時間は、バッファ記憶制御部22がNVM(#0)〜NVM(#7)から回復データ読み出して、BM(#0)〜BM(#7)へ転送する時間に比べ、極めて小さいため、各レーン21におけるNVMチップ23からBM220への回復データの転送は、ほとんど同時に行われる。   Here, the time during which the eight buffer storage control units 22 receive the recovery data read instruction from the leveling management information save / recovery processing unit 14 is determined by the buffer storage control unit 22 from NVM (# 0) to NVM (# 7). Since the recovery data is read out and transferred to BM (# 0) to BM (# 7), the recovery data is transferred from the NVM chip 23 to the BM 220 in each lane 21 almost simultaneously.

次に、平準化管理情報退避・回復処理部14は、BM(#0)〜(#7)に一時記憶された回復データを、順次、WM130へ転送し(転送順序(2)〜(9)参照)、WM130の元のアドレスへ格納する。   Next, the leveling management information save / restore processing unit 14 sequentially transfers the recovery data temporarily stored in the BMs (# 0) to (# 7) to the WM 130 (transfer order (2) to (9)). And store the original address of the WM 130.

なお、このBM(#0)〜(#7)からWM130への回復データの転送に際しては、NVM(#0)〜(#7)から読み出された回復データのヘッダ233(回復データのフォーマットは、図2の退避データのフォーマットと同じ)に含まれる退避データ先頭アドレスが併せて転送される。従って、平準化管理情報退避・回復処理部14は、BM(#0)〜(#7)から転送される回復データをWM130の元のアドレスに容易に格納することができる。   When the recovery data is transferred from the BM (# 0) to (# 7) to the WM 130, the recovery data header 233 (the recovery data format is read from the NVM (# 0) to (# 7)). The same as the save data format in FIG. 2) is transferred together with the save data start address. Therefore, the leveling management information save / recovery processing unit 14 can easily store the recovery data transferred from the BMs (# 0) to (# 7) at the original address of the WM 130.

以下、同様に、平準化管理情報退避・回復処理部14は、各レーン21のバッファ記憶制御部22に対して、NVMチップ23から次の回復データの読み出しを指示し、その指示を受けて、各レーン21のバッファ記憶制御部22は、NVM(#8)〜NVM(#15)から1ページ分の回復データを読み出し、その読み出した回復データをそれぞれBM(#0)〜BM(#7)へ転送し(転送順序(10)参照)、それぞれBM(#0)〜BM(#7)に一時記憶する。   Similarly, the leveling management information save / restore processing unit 14 instructs the buffer storage control unit 22 of each lane 21 to read the next recovery data from the NVM chip 23, and receives the instruction, The buffer storage control unit 22 of each lane 21 reads the recovery data for one page from the NVM (# 8) to NVM (# 15), and the read recovery data is BM (# 0) to BM (# 7), respectively. (Refer to the transfer order (10)) and temporarily stored in BM (# 0) to BM (# 7), respectively.

次に、平準化管理情報退避・回復処理部14は、BM(#0)〜(#7)に一時記憶された回復データを、順次、WM130へ転送し(転送順序(11)〜(18)参照)、WM130の元のアドレスへ格納する。   Next, the leveling management information save / restore processing unit 14 sequentially transfers the recovery data temporarily stored in the BMs (# 0) to (# 7) to the WM 130 (transfer order (11) to (18)). And store the original address of the WM 130.

さらに、同様に、平準化管理情報退避・回復処理部14およびバッファ記憶制御部22は、NVM(#16)〜NVM(#23)から次の1ページ分の回復データを読み出し、読み出したデータを、BM(#0)〜BM(#7)経由でWM130へ転送する(転送順序(19)〜(27)参照)。   Further, similarly, the leveling management information save / restore processing unit 14 and the buffer storage control unit 22 read the recovery data for the next one page from the NVM (# 16) to NVM (# 23), and read the read data. , Transfer to WM 130 via BM (# 0) to BM (# 7) (see transfer order (19) to (27)).

以上の転送順序(0)〜(27)で示される回復データの転送により、NVM(#0)〜NVM(#23)のそれぞれのページ(#0)に退避されていたデータがWM130に回復されたことになる。さらに、転送順序(0)〜(27)で示される回復データの転送を511回繰り返すことによって、NVM(#0)〜NVM(#23)のそれぞれのページ(#1)〜ページ(#511)に退避されていたデータがWM130に回復される。   Through the transfer of the recovery data shown in the transfer order (0) to (27), the data saved in the respective pages (# 0) of NVM (# 0) to NVM (# 23) is recovered to the WM 130. That's right. Further, by repeating the transfer of the recovery data shown in the transfer order (0) to (27) 511 times, each page (# 1) to page (# 511) of NVM (# 0) to NVM (# 23) is repeated. The data saved in the WM is restored to the WM.

図7は、図4および図6を用いて説明した平準化管理情報の退避処理および回復処理で行われるデータの転送手順をタイムチャートで示した図であり、(a)は、退避処理時のタイムチャート、(b)は、回復処理時のタイムチャートである。なお、図7において、横方向は時間軸を示し、縦方向の各段には、各NVMチップ23(NVM(#0)〜(#23))に係るデータ転送動作が網掛けされた横方向のバーで示されている。   FIG. 7 is a time chart showing the data transfer procedure performed in the leveling management information saving process and the recovery process described with reference to FIGS. 4 and 6, and FIG. A time chart (b) is a time chart during the recovery process. In FIG. 7, the horizontal direction indicates the time axis, and the horizontal direction in which the data transfer operation related to each NVM chip 23 (NVM (# 0) to (# 23)) is shaded is shown in each vertical stage. Shown in the bar.

退避処理の場合、その単位処理は、[1]平準化管理情報退避・回復処理部14が1ページ分の退避データをWM130からBM220へ転送する動作(レーン接続バス30を利用)、[2]バッファ記憶制御部22が1ページ分の退避データをBM220へ転送する動作(各レーン21のチップ接続バス24を利用)、[3]NVMチップ23が1ページ分の退避データをプログラムする動作(ここでいうプログラムとは、フラッシュメモリの記憶セルへのデータの電気的・物理的な書き込み動作をいう)、によって構成される。すなわち、1ページ分の退避データをWM130から読み出して、NVMチップ23に書き込むまでの単位退避処理は、[1]+[2]+[3]の動作によって構成される。   In the case of the save process, the unit process includes [1] an operation in which the leveling management information save / restore processing unit 14 transfers save data for one page from the WM 130 to the BM 220 (using the lane connection bus 30), [2] The buffer storage control unit 22 transfers the saved data for one page to the BM 220 (using the chip connection bus 24 of each lane 21), and [3] the NVM chip 23 programs the saved data for one page (here) The program is an electrical / physical write operation of data to the storage cell of the flash memory). That is, the unit saving process from reading the saving data for one page from the WM 130 to writing it to the NVM chip 23 is constituted by the operation of [1] + [2] + [3].

また、回復処理の場合、その単位処理は、[4]バッファ記憶制御部22が1ページ分の回復データをNVMチップ23から読み出し、BM220へ転送する動作(各レーン21のチップ接続バス24を利用)、[5]平準化管理情報退避・回復処理部14が1ページ分の回復データをBM220からWM130へ転送する動作(レーン接続バス30を利用)、によって構成される。すなわち、1ページ分の回復データをNVMチップ23から読み出して、WM130に戻すまでの単位回復処理は、[4]+[5]の動作によって構成される。   In the case of recovery processing, the unit processing is [4] operation in which the buffer storage control unit 22 reads recovery data for one page from the NVM chip 23 and transfers it to the BM 220 (using the chip connection bus 24 in each lane 21). ), [5] The leveling management information save / restore processing unit 14 transfers the recovery data for one page from the BM 220 to the WM 130 (using the lane connection bus 30). That is, the unit recovery process from reading the recovery data for one page from the NVM chip 23 to returning it to the WM 130 is constituted by the operation of [4] + [5].

なお、図7(a),(b)において、網掛けされた横方向バーの上側に記載された括弧付の数字は、退避または回復データの転送順序を表し、図4(退避処理)および図6(回復処理)における括弧付の数字の転送順序に対応付けられている。   In FIGS. 7A and 7B, the numbers in parentheses described above the shaded horizontal bars represent the transfer order of save or recovery data, and FIG. 4 (save process) and FIG. This is associated with the transfer order of the numbers in parentheses in No. 6 (recovery process).

ところで、退避処理の動作[2]におけるBM220からNVMチップ23への退避データの転送は、レーン21のそれぞれに独立に設けられたチップ接続バス24を介して行われるので、図7(a)(図4も参照)に示すように、各レーン21における退避データの転送(図中の転送順序(2),(4),・・・,(8))は、それぞれ同時に、並行して行われることが可能である。また、動作[3]のプログラムは、24個のNVMチップ23でそれぞれ同時に、並行して行われることが可能である。   By the way, since the transfer of the save data from the BM 220 to the NVM chip 23 in the save process operation [2] is performed via the chip connection bus 24 provided independently for each lane 21, FIG. As shown in FIG. 4, the transfer of the save data in each lane 21 (transfer order (2), (4),..., (8) in the figure) is performed simultaneously and in parallel. It is possible. Further, the program of the operation [3] can be simultaneously performed in parallel by the 24 NVM chips 23.

従って、実質的には、動作[2]は、その動作時間を本来の1/8まで短縮することができ、また、動作[3]は、その動作時間を本来の1/24まで短縮することができることになる。ちなみに、図4および図7(a)に括弧付の数字で示した転送順序で退避処理が行われ、動作[1],[2],[3]の動作時間を、それぞれT1,T2,T3としたとき、T2≦T1×8、かつ、T2+T3≦T1×24という条件が満たされる場合には、単位退避処理([1]+[2]+[3])の動作時間は、見かけ上、T1の時間で済むことになる。これは、単位退避処理の動作時間が最良値で1/24まで短縮されることを意味している。   Accordingly, the operation [2] can substantially reduce the operation time to 1/8 of the original, and the operation [3] can reduce the operation time to the original 1/24. Will be able to. Incidentally, the saving process is performed in the transfer order indicated by the numbers in parentheses in FIGS. 4 and 7A, and the operation times of the operations [1], [2], and [3] are respectively expressed as T1, T2, T3. When the conditions of T2 ≦ T1 × 8 and T2 + T3 ≦ T1 × 24 are satisfied, the operation time of the unit saving process ([1] + [2] + [3]) is apparently The time of T1 will suffice. This means that the operation time of the unit saving process is shortened to 1/24 as the best value.

同様に、回復処理の動作[4]におけるNVMチップ23からBM220への回復データの転送も、レーン21のそれぞれに独立に設けられたチップ接続バス24を介して行われるので、図7(a)(図6も参照)に示すように、各レーン21における回復データの転送(図中の転送順序(1),(10),・・・)は、それぞれ同時に、並行して行われることが可能である。   Similarly, the transfer of the recovery data from the NVM chip 23 to the BM 220 in the recovery process operation [4] is also performed via the chip connection bus 24 provided independently for each lane 21, so that FIG. As shown in FIG. 6 (see also FIG. 6), the transfer of recovery data in each lane 21 (transfer order (1), (10),... In the figure) can be performed simultaneously and in parallel. It is.

従って、実質的には、動作[4]は、その動作時間を本来の1/8まで短縮することができる。ちなみに、図6および図7(a)に括弧付の数字で示した転送順序で回復処理が行われ、動作[4],[5]の動作時間を、それぞれT4,T5としたときには、単位回復処理([4]+[5])の動作時間は、見かけ上、T4/8+T5の時間で済むことになる。   Therefore, the operation [4] can substantially reduce the operation time to the original 1/8. Incidentally, when recovery processing is performed in the transfer order indicated by the numbers in parentheses in FIGS. 6 and 7A, and the operation times of operations [4] and [5] are T4 and T5, respectively, unit recovery is performed. The operation time of the process ([4] + [5]) is apparently T4 / 8 + T5.

以上の通り、本実施形態では、平準化管理情報の退避・回復処理の所要時間が大きく短縮される(最良値で1/24または1/8に短縮)ことになる。   As described above, in the present embodiment, the time required for the leveling management information saving / restoring process is greatly reduced (the best value is reduced to 1/24 or 1/8).

続いて、図8〜図12を参照して、NVMチップ23に故障チップ、不良ブロックまたはページ書き込みエラーが存在または生じる場合について、平準化管理情報記憶部13に記憶されている平準化管理情報をNVMチップ23に退避または回復する手順について説明する。図8は、不良ブロック情報記憶部としての不良ブロック情報テーブル141および故障チップ情報記憶部としての故障チップ情報テーブル142の構成の例を示した図である。   Subsequently, with reference to FIG. 8 to FIG. 12, the leveling management information stored in the leveling management information storage unit 13 in the case where a failure chip, a defective block, or a page write error exists or occurs in the NVM chip 23. A procedure for saving or restoring to the NVM chip 23 will be described. FIG. 8 is a diagram showing an example of the configuration of a defective block information table 141 as a defective block information storage unit and a defective chip information table 142 as a defective chip information storage unit.

図8(a)の不良ブロック情報テーブル141は、24個のNVMチップ23のそれぞれについて、平準化管理情報の退避領域として用いられるブロック231の「良」または「不良」の状態情報を記憶するテーブルである。不良ブロック情報テーブル141は、平準化管理情報退避・回復処理部14が平準化管理情報をNVMチップ23に退避する際に、各NVMチップ23の退避領域として用いられるブロック231を消去したとき、その都度、その消去結果に基づき作成される。すなわち、平準化管理情報退避・回復処理部14は、ブロック231を消去しても、そのブロック231に含まれるページ232のデータの少なくとも一部が消去されなかった場合には、そのブロックを「不良」と判定する。そして、不良ブロック情報テーブル141における当該のNVMチップ23中の不良と判定されたブロックの状態情報に“1”をセットする。   The defective block information table 141 in FIG. 8A stores “good” or “bad” state information of the block 231 used as a saving area for the leveling management information for each of the 24 NVM chips 23. It is. When the leveling management information save / restore processing unit 14 saves the leveling management information to the NVM chip 23, the bad block information table 141 is erased when the block 231 used as the save area of each NVM chip 23 is erased. Each time it is created based on the erased result. That is, the leveling management information save / restore processing unit 14 deletes a block 231 if at least part of the data of the page 232 included in the block 231 is not erased. Is determined. Then, “1” is set in the status information of the block determined to be defective in the NVM chip 23 in the defective block information table 141.

なお、不良ブロック情報テーブル141において、“1”は、当該ブロックが「不良」であることを、また、“0”は、当該ブロックが「良」であることを表す。図8(a)の例では、24個のNVMチップ23のそれぞれに、退避領域のブロック231が14ブロック設けられ、NVM(#1)のブロック(#2)、および、NVM(#2)のブロック(#1)を「不良」であるとしている。   In the bad block information table 141, “1” indicates that the block is “defective”, and “0” indicates that the block is “good”. In the example of FIG. 8A, each of the 24 NVM chips 23 is provided with 14 blocks 231 of the save area, the block (# 2) of the NVM (# 1), and the block of the NVM (# 2). It is assumed that the block (# 1) is “bad”.

故障チップ情報テーブル142は、24個のNVMチップ23のそれぞれについて、そのNVMチップ23の「非故障」または「故障」の状態情報を記憶するテーブルである。平準化管理情報退避・回復処理部14は、平準化管理情報の退避処理において、ページ書き込みエラーが多発したNVMチップ23を故障チップと判定し、故障チップ情報テーブル142における当該NVMチップ23の状態情報に“1”をセットする。   The failure chip information table 142 is a table for storing status information of “non-failure” or “failure” of each NVM chip 23 for each of the 24 NVM chips 23. The leveling management information save / restore processing unit 14 determines that the NVM chip 23 in which page write errors frequently occur in the leveling management information save process is a faulty chip, and the status information of the NVM chip 23 in the faulty chip information table 142 Set “1” to.

なお、故障チップ情報テーブル142において、“1”は、当該NVMチップ23が故障チップであることを、“0”は、当該ブロックが非故障チップであることを表す。図8(b)の例では、NVMチップ23の数を24とし、NVM(#2)が故障チップであるとしている。   In the failed chip information table 142, “1” indicates that the NVM chip 23 is a failed chip, and “0” indicates that the block is a non-failed chip. In the example of FIG. 8B, the number of NVM chips 23 is 24, and NVM (# 2) is a failed chip.

図9および図10は、平準化管理情報の退避処理中にページ書き込みエラーが生じる場合の退避データの転送手順の例を示した図であり、図9は、その前半部分の転送手順、図10は、後半部分の転送手順を示している。なお、図9および図10において、矢線は、退避データの転送方向を示し、矢線の傍の括弧付の数字は、その転送が行われるそれぞれの図の中での順序を表す。   FIG. 9 and FIG. 10 are diagrams showing an example of the transfer procedure of the save data when a page write error occurs during the saving process of the leveling management information. FIG. 9 shows the transfer procedure of the first half, FIG. Shows the transfer procedure in the latter half. 9 and 10, the arrow line indicates the transfer direction of the saved data, and the numbers in parentheses beside the arrow line indicate the order in each figure in which the transfer is performed.

図9の例では、転送順序(16)に×印が付されているが、この×印は、NVM(#7)が、BM(#7)から転送された1ページ分の退避データを所定のページにプログラムした(書き込んだ)とき、ページ書き込みエラーが発生したことを表している。   In the example of FIG. 9, the transfer order (16) is marked with an x, but this x indicates that the NVM (# 7) stores the saved data for one page transferred from the BM (# 7). When a page is programmed (written), a page write error has occurred.

ページ書き込みエラーの有無は、NVMチップ23の当該ページへのプログラム(書き込み)が終了したときに判定され、その判定結果であるページ書き込みエラーの有無情報は、NVMチップ23からバッファ記憶制御部22を介して平準化管理情報退避・回復処理部14へ通知される。   The presence / absence of a page write error is determined when the program (write) to the page of the NVM chip 23 is completed, and the page write error presence / absence information, which is the determination result, is sent from the NVM chip 23 to the buffer storage controller 22. To the leveling management information save / restore processing unit 14 via

ところで、図7(a)に示した退避処理のタイムチャートから分かるように、転送順序(16)に係る退避データのプログラムが終了するのは、NVM(#7)へ次の退避データの転送が開始される少し前である(図10の転送順序(62)の頃)。従って、平準化管理情報退避・回復処理部14は、転送順序(62)の転送が行われている頃に、前回NVM(#7)へ転送した退避データの書き込みエラーの有無を知ることになる。   By the way, as can be seen from the time chart of the save process shown in FIG. 7A, the save data program related to the transfer order (16) is completed when the next save data is transferred to the NVM (# 7). It is a little before the start (around the transfer order (62) in FIG. 10). Therefore, the leveling management information save / restore processing unit 14 knows whether there is an error in writing the saved data transferred to the previous NVM (# 7) when the transfer in the transfer order (62) is being performed. .

そこで、平準化管理情報退避・回復処理部14は、転送順序(63)の転送を開始するとき、NVM(#7)から通知されたページ書き込みエラーの有無情報に基づき、前回転送した退避データがNVM(#7)へ正常に書き込まれたか否かを判定する。そして、ページ書き込みエラーがあった場合、つまり、退避データがNVM(#7)へ正常に書き込まれていないと判定された場合には、平準化管理情報退避・回復処理部14は、前回転送した退避データを、再度、BM(#7)を介して、NVM(#7)へ転送する(転送順序(63),(64))。すなわち、転送順序(63)および(64)の転送では、転送順序(15)および(16)での転送がリトライされる。   Therefore, when the leveling management information save / restore processing unit 14 starts the transfer in the transfer order (63), based on the page write error presence / absence information notified from the NVM (# 7), the previously transferred save data is stored. It is determined whether or not the data has been normally written to NVM (# 7). When there is a page write error, that is, when it is determined that the saved data is not normally written to the NVM (# 7), the leveling management information save / restore processing unit 14 transferred the previous time. The save data is transferred again to the NVM (# 7) via the BM (# 7) (transfer order (63), (64)). That is, in the transfers in the transfer orders (63) and (64), the transfers in the transfer orders (15) and (16) are retried.

なお、このリトライに際しては、NVM(#7)における退避先のページアドレスは、1つインクリメントされる。すなわち、本実施形態では、ページ書き込みエラーが生じたページ232への退避データの再書き込み(リトライ)はしないものとする。従って、ページ書き込みエラーが生じたBM(#7)では、リトライ1回ごとに、BM(#7)における退避に必要なページ数は1つずつ増加していく。   In this retry, the save destination page address in NVM (# 7) is incremented by one. In other words, in the present embodiment, it is assumed that the saved data is not rewritten (retryed) to the page 232 in which the page write error has occurred. Accordingly, in the BM (# 7) in which a page write error has occurred, the number of pages required for saving in the BM (# 7) increases by one for each retry.

また、同じNVMチップ23で所定回数以上のページ書き込みエラーが生じた場合には、そのNVMチップ23を故障チップと判定し、故障チップ情報テーブル142中の不良と判定されたNVMチップ23の状態情報に“1”をセットする。   Further, when a page write error occurs more than a predetermined number of times in the same NVM chip 23, the NVM chip 23 is determined as a failed chip, and the status information of the NVM chip 23 determined as defective in the failed chip information table 142 Set “1” to.

次に、平準化管理情報退避・回復処理部14は、転送順序(63)および(64)における転送により、転送順序(15)および(16)で失敗した転送のリトライをすると、続く転送順序(65)および(66)では、転送順序(63)および(64)のときに転送することになっていた退避データの転送を行う(図10参照)。その後の転送順序(67)以降の転送は、ページ書き込みエラーが生じない場合の通常の退避処理の転送手順に戻る。   Next, when the leveling management information save / restore processing unit 14 retries the transfer that failed in the transfer orders (15) and (16) by the transfer in the transfer orders (63) and (64), the subsequent transfer order ( In 65) and (66), the saved data that was to be transferred in the transfer order (63) and (64) is transferred (see FIG. 10). The transfer after the transfer order (67) thereafter returns to the transfer procedure of the normal save process when no page write error occurs.

図11は、故障チップがある場合の退避データの転送手順のうち、後半部分の転送手順の例を示した図である。故障チップがある場合の退避データの転送手順の前半部分は、故障チップがない場合の退避データの転送手順(例えば、図4に示した手順)とは、故障チップへの退避データの転送が行われないことを除けば、同じである。   FIG. 11 is a diagram illustrating an example of a transfer procedure in the latter half of the save data transfer procedure when there is a defective chip. The first half of the save data transfer procedure when there is a faulty chip is the save data transfer procedure when there is no fault chip (for example, the procedure shown in FIG. 4). It is the same except that it is not broken.

例えば、図11に示すようにNVM(#2)が故障チップであった場合には、図4における転送手順でいえば、NVM(#2)への退避データの転送に係る転送順序(5)および(6)の退避データの転送は省略される。   For example, when the NVM (# 2) is a failed chip as shown in FIG. 11, the transfer sequence (5) related to the transfer of the saved data to the NVM (# 2) in the transfer procedure in FIG. And the transfer of saved data in (6) is omitted.

すなわち、平準化管理情報退避・回復処理部14は、前半部分の退避処理では、故障チップがあった場合でも、故障チップへの退避データの転送を省略することだけを除き、図4に示した転送手順と同じ転送手順に従って、WM130に記憶されている平準化管理情報を一通り終りまでNVMチップ23へ退避する。その結果、故障チップへ退避することになっていた退避データを除き、退避データはすべて故障チップ以外のNVMチップ23へ退避されることになる。   In other words, the leveling management information save / restore processing unit 14 is shown in FIG. 4 except that in the first half of the save process, even if there is a faulty chip, the transfer of the save data to the faulty chip is omitted. According to the same transfer procedure as the transfer procedure, the leveling management information stored in the WM 130 is saved to the NVM chip 23 until the end. As a result, all the saved data is saved to the NVM chip 23 other than the failed chip except for the saved data that was supposed to be saved to the failed chip.

そこで、平準化管理情報退避・回復処理部14は、後半部分の退避処理として、故障チップへ退避することになっていたため退避されなかった退避データを、図11に示す転送手順に従って、故障チップ以外のNVMチップ23へ分散して退避する。   Therefore, the leveling management information save / restore processing unit 14 saves the saved data that has not been saved because it was saved to the failed chip as the latter half of the saved process according to the transfer procedure shown in FIG. Are distributed to the NVM chips 23 and saved.

図11に示した退避データの転送手順は、次の2点を除き、故障チップが存在しない場合の図4の転送手順と同じである。
(1)WM130からは、故障チップへ退避することになっていた平準化管理情報のみを抽出して転送する(ただし、図4には表されていない)。
(2)故障チップへの退避は行わない。
従って、図11だけを図4と比較すると、故障チップであるNVM(#2)への転送が行われないことを除き、全く同じである。そこで、次に、図12を用いて、前記(1),(2)の相違を補足説明する。
The save data transfer procedure shown in FIG. 11 is the same as the transfer procedure shown in FIG. 4 when no defective chip exists except for the following two points.
(1) From the WM 130, only the leveling management information that was to be saved to the failed chip is extracted and transferred (however, not shown in FIG. 4).
(2) Do not save to the failed chip.
Therefore, when only FIG. 11 is compared with FIG. 4, it is exactly the same except that the transfer to the NVM (# 2) which is the failed chip is not performed. Then, the difference between the above (1) and (2) will be supplementarily explained with reference to FIG.

図12は、故障チップがある場合の退避データの転送手順において、前半部分の退避処理で退避されなかった平準化管理情報が後半部分の退避処理で各NVMチップ23に退避される様子を示した図である。図12では、WM130は、1ページ(4kB)分のデータで区分されて示されているが、そのうち、前半部分の退避処理で退避されなかったデータ部分が太線枠で示されている。この太線枠で示されたデータ部分は、故障チップであるNVM(#2)へ退避されることになっていた平準化管理情報に相当する。   FIG. 12 shows how the leveling management information that was not saved in the first half of the saving process is saved to each NVM chip 23 in the second half of the saving process in the save data transfer procedure when there is a defective chip. FIG. In FIG. 12, the WM 130 is divided and shown by data for one page (4 kB). Of these, the data portion that has not been saved by the save processing of the first half portion is shown by a thick line frame. The data portion indicated by the bold line frame corresponds to the leveling management information that was to be saved to the failure chip NVM (# 2).

NVM(#2)へ退避されることになっていた太線枠部分の平準化管理情報は、NVM(#2)以外のNVMチップ23の予備退避領域(図3参照)に退避される。すなわち、WM130に記憶されていたデータのうち、NVM(#2)のページ(#0)に退避されることになっていたデータは、NVM(#0)のページ(#0)に退避され、NVM(#2)のページ(#1)に退避されることになっていたデータは、NVM(#1)のページ(#0)に退避され、NVM(#2)のページ(#2)に退避されることになっていたデータは、NVM(#3)のページ(#0)に退避され、以下、同様に、WM130からは、NVM(#2)へ退避されることになっていたデータが順に1ページ分ずつ読み出され、NVM(#2)以外のNVMチップ23へ順次退避される。   The leveling management information of the thick line frame portion that was to be saved to the NVM (# 2) is saved to the spare saving area (see FIG. 3) of the NVM chip 23 other than the NVM (# 2). That is, of the data stored in the WM 130, the data that was to be saved to the page (# 0) of the NVM (# 2) is saved to the page (# 0) of the NVM (# 0), The data that was to be saved in the page (# 1) of the NVM (# 2) is saved in the page (# 0) of the NVM (# 1) and is saved in the page (# 2) of the NVM (# 2). The data that was to be saved is saved to the page (# 0) of the NVM (# 3). Similarly, the data that was to be saved from the WM 130 to the NVM (# 2). Are sequentially read out one page at a time and are sequentially saved in NVM chips 23 other than NVM (# 2).

なお、図12では、矢線の始点および終点により、退避元データおよび退避先データを表し、さらに、矢線の始点側に記載されている括弧付番号は、WM130におけるNVM(#2)へ退避されることになっていたデータのページアドレスであることを表し、矢線の終点側に記載されている括弧付番号は、退避先のNVMチップ23のチップ番号であることを表している。   In FIG. 12, the save source data and save destination data are represented by the start point and end point of the arrow line, and the parenthesized numbers described on the start point side of the arrow line are saved to the NVM (# 2) in the WM 130. This represents the page address of the data to be processed, and the parenthesized number written on the end point side of the arrow indicates that it is the chip number of the NVM chip 23 as the save destination.

また、図12では、退避先のNVMチップ23の退避領域の先頭のページアドレスは、(#512)となっているが、図9および図10で説明したページ書き込みエラーによる退避のリトライが行われたときには、その先頭のページアドレスは、リトライ回数に応じて、512より後のページとなる。   In FIG. 12, the top page address of the save area of the save destination NVM chip 23 is (# 512), but the save retry due to the page write error described in FIGS. 9 and 10 is performed. When this occurs, the top page address is a page after 512 in accordance with the number of retries.

図13は、不良ブロックが存在するNVMチップ23におけるページアドレスの付し方を説明する図である。図2を用いて説明したように、NVMチップ23は複数のブロック231によって構成され、それぞれのブロック231は、複数のページ232によって構成される。ページ232は、NVMチップ23におけるデータ書き込みおよび読み出しの単位であるから、各ページにはアドレスが付される。   FIG. 13 is a diagram for explaining how to assign a page address in the NVM chip 23 in which a defective block exists. As described with reference to FIG. 2, the NVM chip 23 includes a plurality of blocks 231, and each block 231 includes a plurality of pages 232. Since the page 232 is a unit for writing and reading data in the NVM chip 23, an address is assigned to each page.

NVMチップ23におけるページアドレスは、そのNVMチップ23に不良ブロックがない場合には、図13(a)に示すように、そのNVMチップ23に含まれるすべてのブロック231を通して、その中に含まれるページ232に対して通し番号が付され、その通し番号をページアドレスとする。一方、不良ブロックがある場合には、図13(b)に示すように、不良ブロックを除外したすべてのブロック231を通して、その中に含まれるページ232に対して通し番号が付され、その通し番号をページアドレスとする。   When there is no defective block in the NVM chip 23, the page address included in the NVM chip 23 passes through all the blocks 231 included in the NVM chip 23 as shown in FIG. A serial number is assigned to H.232, and the serial number is used as a page address. On the other hand, when there is a bad block, as shown in FIG. 13B, through all the blocks 231 excluding the bad block, a serial number is assigned to the page 232 included therein, and the serial number is assigned to the page. Address.

図13(b)の例では、×印が付されたブロック(#1)を不良ブロックとして、ブロック(#1)を除くブロック231に含まれるページ232に対して通し番号が付され、その通し番号がページアドレスとされている。従って、不良のブロック(#1)に含まれるページ232に対しては、ページアドレスは付されない。   In the example of FIG. 13B, a block (# 1) marked with a cross is a bad block, and a serial number is assigned to the page 232 included in the block 231 excluding the block (# 1). The page address. Accordingly, no page address is assigned to the page 232 included in the defective block (# 1).

不良ブロックが存在するNVMチップ23に対して、このようなページアドレスの付し方をした場合には、その分だけ、NVMチップ23における実質的な予備退避領域は、減少するが、図9〜図12で説明した退避処理中にページ書き込みエラーが生じる場合の退避データの転送手順や、故障チップがある場合の退避データの転送手順は、不良ブロックの有無の考慮せずにそのまま適用することができる。   When such a page address is assigned to the NVM chip 23 in which a defective block exists, the substantial reserve save area in the NVM chip 23 is reduced by that amount. The save data transfer procedure when a page write error occurs during the save process described in FIG. 12 and the save data transfer procedure when there is a defective chip can be applied as they are without considering the presence or absence of a defective block. it can.

なお、不良ブロックが存在する場合のNVMチップ23におけるページアドレスの管理は、平準化管理情報退避・回復処理部14が不良ブロック情報テーブル141に基づき行う。   The page address management in the NVM chip 23 when there is a bad block is performed by the leveling management information save / restore processing unit 14 based on the bad block information table 141.

図14は、平準化管理情報退避・回復処理部14およびバッファ記憶制御部22が行う平準化管理情報の退避処理の処理フローの例を示した図である。   FIG. 14 is a diagram illustrating an example of a processing flow of the leveling management information saving process performed by the leveling management information saving / restoring processing unit 14 and the buffer storage control unit 22.

図14に示すように、平準化管理情報退避・回復処理部14は、まず、退避データ先頭アドレスを表すWMAを初期化(ゼロクリア)する(ステップS11)。ここで、WMAは、退避対象の1ページ分のデータがWM130に格納されているときの先頭データのアドレスである。次に、平準化管理情報退避・回復処理部14は、CAを、NVMチップ23を識別するチップ番号としたとき、すべてのCA(CA=0,…,23)に対し、PA(CA)=0とする(ステップS12)。ここで、PA(CA)は、CAで指定されるNVMチップ23におけるページアドレスを表す。   As shown in FIG. 14, the leveling management information save / restore processing unit 14 first initializes (zero clears) the WMA representing the save data head address (step S11). Here, WMA is the address of the head data when data for one page to be saved is stored in the WM 130. Next, the leveling management information save / restore processing unit 14 sets PA (CA) = for all CAs (CA = 0,..., 23) when CA is a chip number for identifying the NVM chip 23. Set to 0 (step S12). Here, PA (CA) represents a page address in the NVM chip 23 designated by CA.

次に、平準化管理情報退避・回復処理部14は、CA=0,CAE=“Null”とする(ステップS13)。すなわち、退避データの転送先となるNVMチップ23のチップ番号CAを初期化し、さらに、ページ書き込みエラーが生じたため、退避処理の処理遅れが生じたNVMチップ23のチップ番号であるCAEを初期化する。なお、“Null”は、処理遅れのNVMチップ23がないことを表している。   Next, the leveling management information save / restore processing unit 14 sets CA = 0 and CAE = “Null” (step S13). That is, the chip number CA of the NVM chip 23 that is the transfer destination of the save data is initialized, and further, the CAE that is the chip number of the NVM chip 23 in which the processing delay of the save process has occurred because a page write error has occurred. . “Null” indicates that there is no NVM chip 23 delayed in processing.

次に、平準化管理情報退避・回復処理部14は、BM(CA)が退避データの転送を受付可能であるか否かを判定する(ステップS14)。ここで、BM(CA)は、CAで指定されるNVMチップ23が接続されているBM220であることを意味する。ここで、BM(CA)が、前回の退避データをNVMチップ23に転送中であれば、新たな退避データの転送を受け付けることができないので、その転送が終わるまで待つ(ステップS14でNo)。   Next, the leveling management information save / restore processing unit 14 determines whether the BM (CA) can accept transfer of save data (step S14). Here, BM (CA) means that the BM 220 is connected to the NVM chip 23 designated by CA. Here, if the BM (CA) is transferring the previous save data to the NVM chip 23, it cannot accept the transfer of the new save data, and waits until the transfer ends (No in step S14).

一方、BM(CA)が転送受付可能な場合には(ステップS14でYes)、平準化管理情報退避・回復処理部14は、さらに、当該CAで指定されるNVMチップ23への前回退避時にページ書き込みエラーがあったか否かを判定する(ステップS15)。この判定で、前回退避時にページ書き込みエラーがなかった場合には(ステップS15でNo)、WM130から先頭データのアドレスがWMAで指定される1ページ分の退避データWM(WMA)を読み出し、その読み出した1ページ分の退避データWM(WMA)をBM(CA)へ転送する(ステップS16)。   On the other hand, if the BM (CA) can accept the transfer (Yes in step S14), the leveling management information save / restore processing unit 14 further performs the page at the previous save to the NVM chip 23 designated by the CA. It is determined whether or not there has been a write error (step S15). In this determination, if there is no page write error at the time of the previous save (No in step S15), the save data WM (WMA) for one page whose head data address is specified by WMA is read from the WM 130 and read. The saved data WM (WMA) for one page is transferred to BM (CA) (step S16).

その1ページ分の退避データの転送を受けたBM(CA)を有するバッファ記憶制御部22は、その退避データをBM(CA)からNVM(CA,PA(CA))へ転送する(ステップS17)。なお、NVM(CA,PA(CA))は、チップ番号CAで指定されるNVMチップ23のページアドレスPA(CA)の記憶領域であることを表す。退避テータの転送を受けたNVMチップ23であるNVM(CA)は、その退避データをNVM(CA,PA(CA))の領域に書き込む(プログラムする)。   The buffer storage control unit 22 having the BM (CA) that has received the transfer of the saved data for one page transfers the saved data from the BM (CA) to the NVM (CA, PA (CA)) (step S17). . NVM (CA, PA (CA)) represents a storage area of the page address PA (CA) of the NVM chip 23 designated by the chip number CA. The NVM (CA) that is the NVM chip 23 that has received the transfer of the save data writes (programs) the save data in the area of NVM (CA, PA (CA)).

次に、平準化管理情報退避・回復処理部14は、WM130のアドレスWMAを4098(4kB分)インクリメントするとともに(ステップS18)、NVMチップ23のチップ番号CAを1つインクリメントする(ステップS19)。続いて、平準化管理情報退避・回復処理部14は、そのチップ番号CAが8,16,24のいずれかであるか否かを判定し(ステップS20)、チップ番号CAが、8,16,24のいずれでもなかった場合には(ステップS20でNo)、さらに、チップ番号CAが24であるか否かを判定する(ステップS21)。   Next, the leveling management information save / restore processing unit 14 increments the address WMA of the WM 130 by 4098 (4 kB) (step S18) and increments the chip number CA of the NVM chip 23 by one (step S19). Subsequently, the leveling management information saving / recovery processing unit 14 determines whether the chip number CA is any of 8, 16, and 24 (step S20), and the chip number CA is 8, 16, If it is not any of 24 (No in step S20), it is further determined whether or not the chip number CA is 24 (step S21).

ステップS21の判定で、NVMチップ23のチップ番号CAが24でなかった場合には(ステップS21でNo)、平準化管理情報退避・回復処理部14は、処理の実行をステップS14へ戻す。また、チップ番号CAが24であった場合には(ステップS21でYes)、すべてのCA(CA=0,…,23)に対して、PA(CA)を1つインクリメントし(ステップS22)、さらに、WMAがその上限値WMAmaxを越えたか否かを判定する(ステップS23)。なお、本実施形態の場合、図5から分かるように、WMAmaxは、512×24×4,096−1=50,331,647である。   If it is determined in step S21 that the chip number CA of the NVM chip 23 is not 24 (No in step S21), the leveling management information save / restore processing unit 14 returns the execution of the process to step S14. If the chip number CA is 24 (Yes in step S21), PA (CA) is incremented by 1 for all CAs (CA = 0,..., 23) (step S22). Further, it is determined whether or not the WMA exceeds the upper limit value WMAmax (step S23). In this embodiment, as can be seen from FIG. 5, WMAmax is 512 × 24 × 4, 096-1 = 50,331,647.

ステップS23の判定で、WMAが上限値WMAmaxを越えていない場合には(ステップS23でNo)、平準化管理情報退避・回復処理部14は、処理の実行をステップS13に戻す。また、WMAが上限値WMAmaxを越えた場合には(ステップS23でYes)、退避すべきデータがなくなったことを意味するので、図14の退避処理を終了する。以上の処理により、ページ書き込みエラーが生じなかった場合についての退避処理が行われたことになる。   If it is determined in step S23 that the WMA does not exceed the upper limit value WMAmax (No in step S23), the leveling management information save / restore processing unit 14 returns the execution of the process to step S13. If the WMA exceeds the upper limit value WMAmax (Yes in step S23), it means that there is no more data to be saved, and the saving process in FIG. 14 is terminated. With the above processing, the save processing for the case where no page write error has occurred is performed.

一方、ステップS15の判定で、前回退避時にページ書き込みエラーがあった場合には(ステップS15でYes)、平準化管理情報退避・回復処理部14は、以下の手順に従って、前回の退避データと同じデータを、再度、当該CAで指定されるNVMチップ23への退避を行う。   On the other hand, if it is determined in step S15 that there is a page write error at the time of previous save (Yes in step S15), the leveling management information save / restore processing unit 14 is the same as the previous save data according to the following procedure. The data is saved again to the NVM chip 23 designated by the CA.

すなわち、平準化管理情報退避・回復処理部14は、WMAを前回の退避データの先頭アドレスに戻すために、WMA=WMA−24×4096を計算し(ステップS31)、WM130からWMAで指定される1ページ分の退避データWM(WMA)を読み出し、その読み出した1ページ分の退避データWM(WMA)をBM(CA)へ転送する(ステップS32)。そして、その1ページ分の退避データの転送を受けたBM(CA)を有するバッファ記憶制御部22は、その退避データをBM(CA)からNVM(CA,PA(CA))へ転送する(ステップS33)。その後、退避テータの転送を受けたNVMチップ23であるNVM(CA)は、その退避データをNVM(CA,PA(CA))の領域に書き込む(プログラムする)。   That is, the leveling management information save / restore processing unit 14 calculates WMA = WMA−24 × 4096 in order to return the WMA to the head address of the previous saved data (step S31), and is designated by the WMA from the WM 130. The saved data WM (WMA) for one page is read out, and the read saved data WM (WMA) for one page is transferred to the BM (CA) (step S32). Then, the buffer storage control unit 22 having the BM (CA) that has received the transfer of the saved data for one page transfers the saved data from the BM (CA) to the NVM (CA, PA (CA)) (step). S33). Thereafter, the NVM (CA), which is the NVM chip 23 that has received the transfer of the save data, writes (programs) the save data in the area of NVM (CA, PA (CA)).

次に、平準化管理情報退避・回復処理部14は、本来のWMAに戻すために、WMA=WMA+24×4096を計算し(ステップS34)、当該CAで指定されるNVMチップ23におけるページアドレスPA(CA)を1つインクリメントし(ステップS35)、そのときのCAE=CA,WMAE=WMAとして(ステップS36)、そのときのCAおよびWMAをCAEおよびWMAEに記憶しておく。   Next, the leveling management information save / restore processing unit 14 calculates WMA = WMA + 24 × 4096 to return to the original WMA (step S34), and the page address PA (in the NVM chip 23 specified by the CA ( (CA) is incremented by 1 (step S35), CAE = CA and WMAE = WMA at that time are set (step S36), and CA and WMA at that time are stored in CAE and WMAE.

以上、ステップS31〜ステップS36の処理は、図10における転送順序(63)および(64)の転送処理に相当する。従って、ステップS31〜ステップS36の処理により、前回の退避処理でページ書き込みエラーが生じた場合について、前回退避することになっていたWM130のデータの退避がリトライされたことになる。そこで、平準化管理情報退避・回復処理部14は、ステップS36の次には、処理の実行をステップS18へ移行させる。   The processes in steps S31 to S36 correspond to the transfer processes in the transfer order (63) and (64) in FIG. Therefore, in the case where a page writing error has occurred in the previous saving process by the processing in steps S31 to S36, the saving of the data of the WM 130 that was supposed to be saved last time is retried. Therefore, the leveling management information save / restore processing unit 14 shifts the execution of the process to step S18 after step S36.

また、ステップS20の判定で、チップ番号CAが、8,16,24のいずれかであった場合には(ステップS20でYes)、平準化管理情報退避・回復処理部14は、さらに、CAEが“Null”であるか否かを判定し(ステップS41)、CAEが“Null”であった場合には(ステップS41でYes)、チップ番号CAが0〜7,8〜15または16〜23のいずれのときにも、ページ書き込みエラーのリトライ処理がされていないことを意味するので、何もせずに、処理の実行を元のステップS20の次のステップS21へ戻す。   If it is determined in step S20 that the chip number CA is 8, 16, or 24 (Yes in step S20), the leveling management information saving / recovery processing unit 14 further determines that the CAE is It is determined whether or not it is “Null” (step S41). If the CAE is “Null” (Yes in step S41), the chip number CA is 0 to 7, 8 to 15, or 16 to 23. In any case, it means that the retry process of the page write error has not been performed, so the process is returned to step S21 following the original step S20 without doing anything.

一方、ステップS41の判定で、CAEが“Null”でなかった場合には(ステップS41でNo)、チップ番号CAが0〜7,8〜15または16〜23のいずれかのときに、ページ書き込みエラーのリトライ処理がされたことを意味するので、平準化管理情報退避・回復処理部14は、ページ書き込みエラーのリトライのために行われなかった退避データの退避処理を行う。その場合、退避の対象となるNVMチップ23のチップ番号は、CAEに記憶され、WM130の退避データ先頭アドレスは、WMAEに記憶されている。   On the other hand, if the CAE is not “Null” in the determination in step S41 (No in step S41), the page writing is performed when the chip number CA is any one of 0 to 7, 8 to 15, or 16 to 23. Since this means that an error retry process has been performed, the leveling management information save / restore processing unit 14 performs a save data save process that was not performed due to a page write error retry. In that case, the chip number of the NVM chip 23 to be saved is stored in the CAE, and the save data start address of the WM 130 is stored in the WMAE.

そこで、平準化管理情報退避・回復処理部14は、WM130からWMAEで指定される1ページ分の退避データWM(WMA)を読み出し、その読み出した1ページ分の退避データWM(WMAE)をBM(CAE)へ転送する(ステップS42)。そして、その1ページ分の退避データの転送を受けたBM(CAE)を有するバッファ記憶制御部22は、その退避データをBM(CAE)からNVM(CAE,PA(CAE))へ転送する(ステップS43)。その後、退避テータの転送を受けたNVMチップ23であるNVM(CAE)は、その退避データをNVM(CAE,PA(CAE))の領域に書き込む(プログラムする)。   Therefore, the leveling management information save / restore processing unit 14 reads the saved data WM (WMA) for one page specified by WMAE from the WM 130 and the saved data WM (WMAE) for the read one page is BM ( To CAE) (step S42). Then, the buffer storage control unit 22 having the BM (CAE) that has received the transfer of the saved data for one page transfers the saved data from the BM (CAE) to the NVM (CAE, PA (CAE)) (step). S43). Thereafter, the NVM (CAE), which is the NVM chip 23 that has received the transfer of the save data, writes (programs) the save data in the area of NVM (CAE, PA (CAE)).

これらステップS42、ステップS43の処理は、図10における転送順序(65),(66)の転送処理に相当する。平準化管理情報退避・回復処理部14は、続いて、CAEを“Null”に戻し(ステップS44)、その処理の実行をステップS21へ移行させる。   The processes in steps S42 and S43 correspond to the transfer processes in the transfer order (65) and (66) in FIG. Subsequently, the leveling management information saving / recovery processing unit 14 returns the CAE to “Null” (step S44), and shifts the execution of the processing to step S21.

以上で平準化管理情報の退避処理の処理フローの説明を終える。なお、以上に示した処理フローでは、図9および図10で説明したページ書き込みエラー時のリトライ処理については考慮されているが、図11および図12で説明したチップ故障がある場合については考慮されていない。チップ故障があることを考慮するためには、この処理フローを一部修正する必要があるが、ここでは、その説明を省略する。   This is the end of the description of the processing flow of the leveling management information saving process. In the processing flow shown above, the retry processing at the time of page write error described in FIGS. 9 and 10 is considered, but the case where there is a chip failure described in FIGS. 11 and 12 is considered. Not. In order to consider that there is a chip failure, it is necessary to partially correct this processing flow, but the description thereof is omitted here.

続いて、故障チップ、不良ブロックまたはページ書き込みエラーがあり得ることを考慮してNVMチップ23に退避した平準化管理情報を、NVMチップ23からWM130へ回復する処理における回復データの転送手順について説明する。その回復データの転送手順は、以下に説明する点を除き、図6に示した回復データの転送手順と同じである。   Next, a recovery data transfer procedure in the process of recovering the leveling management information saved in the NVM chip 23 from the NVM chip 23 to the WM 130 in consideration of the possibility of a defective chip, a defective block, or a page write error will be described. . The recovery data transfer procedure is the same as the recovery data transfer procedure shown in FIG. 6 except as described below.

図6に示した回復データの転送手順の場合には、故障チップ、不良ブロックまたはページ書き込みエラーのいずれもあり得ないとしているので、退避された平準化管理情報は、NVMチップ23のページ(#0)からページ(#511)までの基本退避領域(図3参照)に記憶される。一方、故障チップ、不良ブロックまたはページ書き込みエラーがある場合には、平準化管理情報は、基本退避領域だけでなく、ページ(#512)以降の予備退避領域に広がって記憶される。   In the case of the recovery data transfer procedure shown in FIG. 6, it is assumed that there is no failure chip, bad block, or page write error, so the saved leveling management information is stored in the page (# of the NVM chip 23). 0) to the page (# 511) are stored in the basic save area (see FIG. 3). On the other hand, when there is a defective chip, a defective block, or a page write error, the leveling management information is stored not only in the basic save area but also in the spare save area after the page (# 512).

平準化管理情報退避・回復処理部14は、平準化管理情報の回復処理を、電源オン・オフ検知部15によって電源供給の開始が検知されたときに開始するため、その回復処理の開始時点では、予備退避領域のうち、どのページアドレスまで平準化管理情報が退避されているかを知ることができない。そこで、本実施形態では、その退避データの最終ページアドレスなどからなる管理情報をNVMチップ23とは別体の不揮発性メモリに記憶しておくことをせずに、平準化管理情報の回復処理においては、基本退避領域の最初のページ(#0)から予備退避領域の最後のページ(#895)までのすべてのデータを読み出すようにした。   The leveling management information save / recovery processing unit 14 starts the leveling management information recovery processing when the power on / off detection unit 15 detects the start of power supply. Therefore, it is impossible to know up to which page address the leveling management information has been saved in the spare save area. Therefore, in the present embodiment, the management information including the last page address of the saved data is not stored in the nonvolatile memory separate from the NVM chip 23, and the leveling management information is restored. All data from the first page (# 0) in the basic save area to the last page (# 895) in the spare save area is read.

すなわち、平準化管理情報退避・回復処理部14がNVMチップ23の退避データ記憶領域からすべてのデータを読み出すとは、図6の転送手順に従って、NVMチップ23から回復データをWM130に転送することに他ならない。ただし、NVMチップ23からの読み出しの最終ページアドレスは、(#511)ではなく、(#895)である。   That is, when the leveling management information save / restore processing unit 14 reads all data from the save data storage area of the NVM chip 23, the recovery data is transferred from the NVM chip 23 to the WM 130 in accordance with the transfer procedure of FIG. There is nothing else. However, the last page address read from the NVM chip 23 is not (# 511) but (# 895).

この場合、不良ブロックのデータや、消去されたままで、書き込みが行われなかったページ232のデータなど、無意味なデータが多数読み出されることになる。しかしながら、有意な平準化管理情報の退避データには、セグメント234ごとの退避データに、CRC符号やリード・ソロモン符号などの検査符号235が付されている(図2(c)参照)ので、無意味なデータは、その検査符号235を用いた誤り検査によって検出することができので、廃棄することができる。   In this case, a lot of meaningless data such as defective block data and data of the page 232 that has been erased but not written are read out. However, since the check data 235 such as a CRC code and a Reed-Solomon code is added to the save data for each segment 234 in the save data of the significant leveling management information (see FIG. 2C), there is no data. Significant data can be detected by error checking using the check code 235 and can be discarded.

また、退避処理の途中から故障チップになったようなNVMチップ23には、その途中のページアドレスまでには、誤りのない平準化管理情報の退避データが書き込まれている可能性がある。このようなNVMチップ23については、その後、そのNVMチップ23に退避される予定であった(一部は退避されているが)退避データは、再度、図11に示した手順によって、故障チップでない他のNVMチップ23に分散して退避されている。従って、このような場合には、同じデータが重複してWM130に回復されることになるが、重複回復は問題がない。同様に、退避処理において、ページ書き込みエラーが生じていた場合にも、場合によっては、重複回復がされるが、これも問題がない。   Further, there is a possibility that the leveling management information save data without error is written to the page address in the middle of the NVM chip 23 that has become a defective chip in the middle of the save process. With respect to such an NVM chip 23, the saved data that was scheduled to be saved to the NVM chip 23 (although partly saved) is not a failed chip again by the procedure shown in FIG. It is distributed and saved in other NVM chips 23. Therefore, in such a case, the same data is duplicated and recovered to the WM 130, but there is no problem with duplicate recovery. Similarly, even if a page write error has occurred in the save process, duplication recovery is performed in some cases, but this also causes no problem.

また、故障チップやページ書き込みエラーが生じたページ232では、誤って書き込まれたデータが、たまたま、正しく読み出され、その誤ったデータがWM130へ回復されることがないとはいえない。しかしながら、図9〜図11で説明した退避処理の転送手順によれば、故障チップの退避データや書き込みエラーが生じたページ232の退避データについては、その後で、後方のページ232に必ず再退避される。従って、本実施形態の回復処理では、その再退避されたデータが後で読み出され、WM130に回復されることになる。再退避されたデータは、誤りなく退避されたデータであるので、その結果、WM130には誤りのないデータが回復されることなる。   In addition, in the page 232 in which a defective chip or a page write error has occurred, it cannot be said that the erroneously written data is read correctly and the erroneous data is not recovered to the WM 130. However, according to the transfer procedure of the save process described with reference to FIGS. 9 to 11, the save data of the defective chip and the save data of the page 232 in which the write error has occurred are always re-saved to the subsequent page 232 thereafter. The Therefore, in the recovery process of this embodiment, the re-saved data is read later and recovered to the WM 130. Since the re-saved data is data saved without error, as a result, error-free data is recovered in the WM 130.

さらに、本実施形態では、WM130へ退避された平準化管理情報がすべて回復されると、平準化管理情報退避・回復処理部14は、チェックサム(図3参照)が正しいか否かを判定する。チェックサムが正しければ、平準化管理情報の回復処理は正常に行われたことになる。チェックサムが正しくない場合は、平準化管理情報の回復が失敗したことを意味するので、別途、平準化管理情報回復失敗時の処理を実行する。   Furthermore, in this embodiment, when all the leveling management information saved in the WM 130 is recovered, the leveling management information saving / recovering processing unit 14 determines whether the checksum (see FIG. 3) is correct. . If the checksum is correct, the leveling management information is restored normally. If the checksum is not correct, it means that the recovery of the leveling management information has failed. Therefore, a separate process for recovery of the leveling management information is executed.

なお、前記したように、本実施形態では、WM130に回復データが書き込まれるときのアドレスとしては、ページ232のヘッダ233に含まれる退避データ先頭アドレスが用いられる。従って、この退避データ先頭アドレスが誤って退避されたり回復されたりすると、WM130に回復された平準化管理情報は、信頼できないものとなる。そこで、退避データ先頭アドレスは、例えば、二重化したり、複数ビット訂正可能な誤り符号を付したりして、高信頼化しておくとよい。   As described above, in the present embodiment, the saved data start address included in the header 233 of the page 232 is used as the address when the recovery data is written to the WM 130. Therefore, if the saved data start address is saved or restored by mistake, the leveling management information recovered by the WM 130 becomes unreliable. Therefore, it is preferable to make the saved data start address highly reliable by, for example, duplicating or attaching an error code that can correct a plurality of bits.

以上、本実施形態によれば、平準化管理情報記憶部13のWM130は、レーン接続バス30を介して複数のレーン21それぞれに含まれるバッファ記憶制御部22のBM220に接続され、また、それぞれのレーン21には、BM220とNVMチップ23とを接続するチップ接続バス24が設けられている。従って、平準化管理情報の退避処理においては、それぞれのレーンにおけるBM220からNVMチップ23への退避データの転送を独立に並行して行うことができるので、退避時間の短縮を図ることができる。   As described above, according to the present embodiment, the WM 130 of the leveling management information storage unit 13 is connected to the BM 220 of the buffer storage control unit 22 included in each of the plurality of lanes 21 via the lane connection bus 30. The lane 21 is provided with a chip connection bus 24 that connects the BM 220 and the NVM chip 23. Accordingly, in the leveling management information saving process, the saving data can be transferred from the BM 220 to the NVM chip 23 in each lane independently and in parallel, so that the saving time can be shortened.

また、NVMチップ23へ退避する1ページ分の平準化管理情報を含む退避データの中に、その1ページ分の平準化管理情報がWM130に記憶されていたときの先頭アドレスが含まれているので、その結果として、回復処理における回復データの転送手順が簡単化されている。   In addition, since the saved data including the leveling management information for one page saved to the NVM chip 23 includes the head address when the leveling management information for that one page is stored in the WM 130. As a result, the transfer procedure of the recovery data in the recovery process is simplified.

1 SSD装置
2 ホスト装置
3 ホストバス
10 不揮発データ記憶制御部
11 データ書き込み・読み出し制御部
12 平準化管理部
13 平準化管理情報記憶部
14 平準化管理情報退避・回復処理部
15 電源オン・オフ検知部
20 不揮発データ記憶部
21 レーン
22 バッファ記憶制御部
23 NVMチップ(不揮発性メモリチップ)
24 チップ接続バス
30 レーン接続バス
130 WM(ウェアレベリングメモリ)
141 不良ブロック情報テーブル(不良ブロック情報記憶部)
142 故障チップ情報テーブル(故障チップ情報記憶部)
220 BM(バッファメモリ)
231 ブロック
232 ページ
233 ヘッダ
234 セグメント
235 検査符号
DESCRIPTION OF SYMBOLS 1 SSD apparatus 2 Host apparatus 3 Host bus 10 Non-volatile data storage control part 11 Data writing / reading control part 12 Leveling management part 13 Leveling management information storage part 14 Leveling management information save / recovery processing part 15 Power ON / OFF detection Unit 20 Nonvolatile data storage unit 21 Lane 22 Buffer storage control unit 23 NVM chip (nonvolatile memory chip)
24 chip connection bus 30 lane connection bus 130 WM (wear leveling memory)
141 Defective block information table (defective block information storage unit)
142 Failure chip information table (failure chip information storage unit)
220 BM (buffer memory)
231 block 232 page 233 header 234 segment 235 check code

Claims (6)

複数の不揮発性メモリチップと、前記複数の不揮発性メモリチップを所定の数ごとの複数のレーンに分割したとき、前記レーンごとにそのレーンに属する不揮発性メモリチップに接続され、前記不揮発性メモリチップに対する書き込みまたは読み出しデータを一時記憶するバッファ記憶制御部と、を含んで構成された不揮発データ記憶部と、
前記不揮発性メモリチップにおける書き込みデータ消去の単位領域であるブロックのデータ消去回数を平準化するための平準化管理情報を記憶する平準化管理情報記憶部と、
電源供給のオンおよびオフを検知する電源供給オン・オフ検知部と、
前記電源供給オン・オフ検知部により電源供給のオフが検知されたとき、前記平準化管理情報記憶部に記憶されている平準化管理情報を前記不揮発データ記憶部に退避し、前記電源供給オン・オフ検知部により電源供給のオンが検知されたとき、前記不揮発データ記憶部に退避されている平準化管理情報を前記平準化管理情報記憶部に回復させる平準化管理情報退避・回復処理部と、
を備え、
前記平準化管理情報退避・回復処理部が前記平準化管理情報記憶部から読み出した退避データを前記複数のバッファ記憶制御部へ順次転送し、前記退避データの転送を受けた前記複数のバッファ記憶制御部それぞれ、互いに独立に並行して前記退避データを前記不揮発性メモリチップに転送して書き込むように構成されたソリッド・ステート・ドライブ装置であって、
前記平準化管理情報退避・回復処理部は、
前記平準化管理情報を前記不揮発データ記憶部に退避する場合には、
前記平準化管理情報記憶部から前記平準化管理情報を順次所定のデータ長の退避データとして読み出し、
前記読み出した退避データの先頭データが前記平準化管理情報記憶部に記憶されていたときのアドレス情報を取得し、
前記退避データに前記取得したアドレス情報を付加した情報を、前記不揮発データデータ記憶部に書き込むこと
を特徴とするソリッド・ステート・ドライブ装置。
When the plurality of nonvolatile memory chips and the plurality of nonvolatile memory chips are divided into a plurality of lanes of a predetermined number, each lane is connected to the nonvolatile memory chip belonging to the lane, and the nonvolatile memory chip A buffer storage control unit for temporarily storing write or read data with respect to the non-volatile data storage unit,
A leveling management information storage unit for storing leveling management information for leveling the number of times data is erased in a block which is a unit area for erasing written data in the nonvolatile memory chip;
A power supply on / off detector that detects on / off of the power supply; and
When the power supply on / off detection unit detects that the power supply is off, the leveling management information stored in the leveling management information storage unit is saved in the nonvolatile data storage unit, and the power supply on / off A leveling management information saving / restoring processing unit that restores the leveling management information saved in the nonvolatile data storage unit to the leveling management information storage unit when turning off of the power supply is detected by the off detection unit;
With
The plurality of buffer storage controls that sequentially transfer the saved data read from the leveling management information storage unit by the leveling management information save / restore processing unit to the plurality of buffer storage control units , and receive the transfer of the saved data each section is a solid-state drive device configured to write by transferring the saved data in parallel independently of each other in the non-volatile memory chips,
The leveling management information save / restore processing unit
When saving the leveling management information in the nonvolatile data storage unit,
The leveling management information is sequentially read out as saved data having a predetermined data length from the leveling management information storage unit,
Obtaining address information when the read-out saved data start data is stored in the leveling management information storage unit,
A solid state drive device , wherein information obtained by adding the acquired address information to the saved data is written in the nonvolatile data data storage unit .
複数の不揮発性メモリチップと、前記複数の不揮発性メモリチップを所定の数ごとの複数のレーンに分割したとき、前記レーンごとにそのレーンに属する不揮発性メモリチップに接続され、前記不揮発性メモリチップに対する書き込みまたは読み出しデータを一時記憶するバッファ記憶制御部と、を含んで構成された不揮発データ記憶部と、
前記不揮発性メモリチップにおける書き込みデータ消去の単位領域であるブロックのデータ消去回数を平準化するための平準化管理情報を記憶する平準化管理情報記憶部と、
電源供給のオンおよびオフを検知する電源供給オン・オフ検知部と、
前記電源供給オン・オフ検知部により電源供給のオフが検知されたとき、前記平準化管理情報記憶部に記憶されている平準化管理情報を前記不揮発データ記憶部に退避し、前記電源供給オン・オフ検知部により電源供給のオンが検知されたとき、前記不揮発データ記憶部に退避されている平準化管理情報を前記平準化管理情報記憶部に回復させる平準化管理情報退避・回復処理部と、
を備え、
前記平準化管理情報退避・回復処理部が前記平準化管理情報記憶部から読み出した退避データを前記複数のバッファ記憶制御部へ順次転送し、前記退避データの転送を受けた前記複数のバッファ記憶制御部それぞれ、互いに独立に並行して前記退避データを前記不揮発性メモリチップに転送して書き込むように構成されたソリッド・ステート・ドライブ装置であって、
前記平準化管理情報退避・回復処理部は、
前記退避データを前記不揮発データ記憶部の所定のページに書き込んだ結果として、書き込みエラーが生じたときには、前記退避データと同じデータを、前記不揮発データ記憶部の前記所定のページの次のページに書き込むこと
を特徴とするソリッド・ステート・ドライブ装置。
When the plurality of nonvolatile memory chips and the plurality of nonvolatile memory chips are divided into a plurality of lanes of a predetermined number, each lane is connected to the nonvolatile memory chip belonging to the lane, and the nonvolatile memory chip A buffer storage control unit for temporarily storing write or read data with respect to the non-volatile data storage unit,
A leveling management information storage unit for storing leveling management information for leveling the number of times data is erased in a block which is a unit area for erasing written data in the nonvolatile memory chip;
A power supply on / off detector that detects on / off of the power supply; and
When the power supply on / off detection unit detects that the power supply is off, the leveling management information stored in the leveling management information storage unit is saved in the nonvolatile data storage unit, and the power supply on / off A leveling management information saving / restoring processing unit that restores the leveling management information saved in the nonvolatile data storage unit to the leveling management information storage unit when turning off of the power supply is detected by the off detection unit;
With
The plurality of buffer storage controls that sequentially transfer the saved data read from the leveling management information storage unit by the leveling management information save / restore processing unit to the plurality of buffer storage control units , and receive the transfer of the saved data each section is a solid-state drive device configured to write by transferring the saved data in parallel independently of each other in the non-volatile memory chips,
The leveling management information save / restore processing unit
When a write error occurs as a result of writing the saved data to a predetermined page of the nonvolatile data storage unit, the same data as the saved data is written to the next page of the predetermined page of the nonvolatile data storage unit Solid state drive device characterized by that .
複数の不揮発性メモリチップと、前記複数の不揮発性メモリチップを所定の数ごとの複数のレーンに分割したとき、前記レーンごとにそのレーンに属する不揮発性メモリチップに接続され、前記不揮発性メモリチップに対する書き込みまたは読み出しデータを一時記憶するバッファ記憶制御部と、を含んで構成された不揮発データ記憶部と、
前記不揮発性メモリチップにおける書き込みデータ消去の単位領域であるブロックのデータ消去回数を平準化するための平準化管理情報を記憶する平準化管理情報記憶部と、
電源供給のオンおよびオフを検知する電源供給オン・オフ検知部と、
前記電源供給オン・オフ検知部により電源供給のオフが検知されたとき、前記平準化管理情報記憶部に記憶されている平準化管理情報を前記不揮発データ記憶部に退避し、前記電源供給オン・オフ検知部により電源供給のオンが検知されたとき、前記不揮発データ記憶部に退避されている平準化管理情報を前記平準化管理情報記憶部に回復させる平準化管理情報退避・回復処理部と、
を備え、
前記平準化管理情報退避・回復処理部が前記平準化管理情報記憶部から読み出した退避データを前記複数のバッファ記憶制御部へ順次転送し、前記退避データの転送を受けた前記複数のバッファ記憶制御部それぞれ、互いに独立に並行して前記退避データを前記不揮発性メモリチップに転送して書き込むように構成されたソリッド・ステート・ドライブ装置であって、
前記平準化管理情報退避・回復処理部は、
前記不揮発データ記憶部を構成する前記不揮発性メモリチップの故障チップについての情報を記憶した故障チップ情報記憶部を備えており、
前記平準化管理情報を前記不揮発データ記憶部へ退避する場合には、前記故障チップ情報記憶部を参照して、前記不揮発データ記憶部の退避先の領域が前記故障チップに該当するか否かを判定し、前記故障チップに該当するときには、前記平準化管理情報の前記故障チップへの退避を省略し、
前記平準化管理情報の前記故障チップ以外の前記不揮発性メモリチップへの退避完了後に、前記平準化管理情報のうち前記故障チップへ退避することになっていた情報を、前記故障チップ以外の前記不揮発性メモリチップへ分散して退避すること
を特徴とするソリッド・ステート・ドライブ装置。
When the plurality of nonvolatile memory chips and the plurality of nonvolatile memory chips are divided into a plurality of lanes of a predetermined number, each lane is connected to the nonvolatile memory chip belonging to the lane, and the nonvolatile memory chip A buffer storage control unit for temporarily storing write or read data with respect to the non-volatile data storage unit,
A leveling management information storage unit for storing leveling management information for leveling the number of times data is erased in a block which is a unit area for erasing written data in the nonvolatile memory chip;
A power supply on / off detector that detects on / off of the power supply; and
When the power supply on / off detection unit detects that the power supply is off, the leveling management information stored in the leveling management information storage unit is saved in the nonvolatile data storage unit, and the power supply on / off A leveling management information saving / restoring processing unit that restores the leveling management information saved in the nonvolatile data storage unit to the leveling management information storage unit when turning off of the power supply is detected by the off detection unit;
With
The plurality of buffer storage controls that sequentially transfer the saved data read from the leveling management information storage unit by the leveling management information save / restore processing unit to the plurality of buffer storage control units , and receive the transfer of the saved data each section is a solid-state drive device configured to write by transferring the saved data in parallel independently of each other in the non-volatile memory chips,
The leveling management information save / restore processing unit
A failure chip information storage unit that stores information about a failure chip of the nonvolatile memory chip constituting the nonvolatile data storage unit;
When saving the leveling management information to the non-volatile data storage unit, referring to the failed chip information storage unit, it is determined whether the save destination area of the non-volatile data storage unit corresponds to the failed chip. Determining, when corresponding to the faulty chip, omit saving the leveling management information to the faulty chip,
After the leveling management information has been saved to the non-volatile memory chip other than the failed chip, the information that is to be saved to the failed chip in the leveling management information is changed to the non-volatile chip other than the failed chip. Solid-state drive device, characterized in that it is distributed and saved to a volatile memory chip .
複数の不揮発性メモリチップと、前記複数の不揮発性メモリチップを所定の数ごとの複数のレーンに分割したとき、前記レーンごとにそのレーンに属する不揮発性メモリチップに接続され、前記不揮発性メモリチップに対する書き込みまたは読み出しデータを一時記憶するバッファ記憶制御部と、を含んで構成された不揮発データ記憶部と、
前記不揮発性メモリチップにおける書き込みデータ消去の単位領域であるブロックのデータ消去回数を平準化するための平準化管理情報を記憶する平準化管理情報記憶部と、
電源供給のオンおよびオフを検知する電源供給オン・オフ検知部と、
前記電源供給オン・オフ検知部により電源供給のオフが検知されたとき、前記平準化管理情報記憶部に記憶されている平準化管理情報を前記不揮発データ記憶部に退避し、前記電源供給オン・オフ検知部により電源供給のオンが検知されたとき、前記不揮発データ記憶部に退避されている平準化管理情報を前記平準化管理情報記憶部に回復させる平準化管理情報退避・回復処理部と、
を備え、
前記平準化管理情報退避・回復処理部が前記平準化管理情報記憶部から読み出した退避データを前記複数のバッファ記憶制御部へ順次転送し、前記退避データの転送を受けた前記複数のバッファ記憶制御部それぞれ、互いに独立に並行して前記退避データを前記不揮発性メモリチップに転送して書き込むように構成されたソリッド・ステート・ドライブ装置における平準化管理情報の退避・回復方法であって、
前記平準化管理情報退避・回復処理部は、
前記平準化管理情報を前記不揮発データ記憶部に退避する場合には、
前記平準化管理情報記憶部から前記平準化管理情報を順次所定のデータ長の退避データとして読み出し、
前記読み出した退避データの先頭データが前記平準化管理情報記憶部に記憶されていたときのアドレス情報を取得し、
前記退避データに前記取得したアドレス情報を付加した情報を、前記不揮発データデータ記憶部に書き込むこと
を特徴とする平準化管理情報の退避・回復方法。
When the plurality of nonvolatile memory chips and the plurality of nonvolatile memory chips are divided into a plurality of lanes of a predetermined number, each lane is connected to the nonvolatile memory chip belonging to the lane, and the nonvolatile memory chip A buffer storage control unit for temporarily storing write or read data with respect to the non-volatile data storage unit,
A leveling management information storage unit for storing leveling management information for leveling the number of times data is erased in a block which is a unit area for erasing written data in the nonvolatile memory chip;
A power supply on / off detector that detects on / off of the power supply; and
When the power supply on / off detection unit detects that the power supply is off, the leveling management information stored in the leveling management information storage unit is saved in the nonvolatile data storage unit, and the power supply on / off A leveling management information saving / restoring processing unit that restores the leveling management information saved in the nonvolatile data storage unit to the leveling management information storage unit when turning off of the power supply is detected by the off detection unit;
With
The plurality of buffer storage controls that sequentially transfer the saved data read from the leveling management information storage unit by the leveling management information save / restore processing unit to the plurality of buffer storage control units , and receive the transfer of the saved data each section is a configured save and restore process of leveling the management information in the solid state drive apparatus to write by transferring the saved data in parallel independently of each other in the non-volatile memory chips,
The leveling management information save / restore processing unit
When saving the leveling management information in the nonvolatile data storage unit,
The leveling management information is sequentially read out as saved data having a predetermined data length from the leveling management information storage unit,
Obtaining address information when the read-out saved data start data is stored in the leveling management information storage unit,
A leveling management information saving / restoring method , wherein information obtained by adding the acquired address information to the saving data is written to the nonvolatile data data storage unit .
複数の不揮発性メモリチップと、前記複数の不揮発性メモリチップを所定の数ごとの複数のレーンに分割したとき、前記レーンごとにそのレーンに属する不揮発性メモリチップに接続され、前記不揮発性メモリチップに対する書き込みまたは読み出しデータを一時記憶するバッファ記憶制御部と、を含んで構成された不揮発データ記憶部と、
前記不揮発性メモリチップにおける書き込みデータ消去の単位領域であるブロックのデータ消去回数を平準化するための平準化管理情報を記憶する平準化管理情報記憶部と、
電源供給のオンおよびオフを検知する電源供給オン・オフ検知部と、
前記電源供給オン・オフ検知部により電源供給のオフが検知されたとき、前記平準化管理情報記憶部に記憶されている平準化管理情報を前記不揮発データ記憶部に退避し、前記電源供給オン・オフ検知部により電源供給のオンが検知されたとき、前記不揮発データ記憶部に退避されている平準化管理情報を前記平準化管理情報記憶部に回復させる平準化管理情報退避・回復処理部と、
を備え、
前記平準化管理情報退避・回復処理部が前記平準化管理情報記憶部から読み出した退避データを前記複数のバッファ記憶制御部へ順次転送し、前記退避データの転送を受けた前記複数のバッファ記憶制御部それぞれ、互いに独立に並行して前記退避データを前記不揮発性メモリチップに転送して書き込むように構成されたソリッド・ステート・ドライブ装置における平準化管理情報の退避・回復方法であって、
前記平準化管理情報退避・回復処理部は、
前記退避データを前記不揮発データ記憶部の所定のページに書き込んだ結果として、書き込みエラーが生じたときには、前記退避データと同じデータを、前記不揮発データ記憶部の前記所定のページの次のページに書き込むこと
を特徴とする平準化管理情報の退避・回復方法。
When the plurality of nonvolatile memory chips and the plurality of nonvolatile memory chips are divided into a plurality of lanes of a predetermined number, each lane is connected to the nonvolatile memory chip belonging to the lane, and the nonvolatile memory chip A buffer storage control unit for temporarily storing write or read data with respect to the non-volatile data storage unit,
A leveling management information storage unit for storing leveling management information for leveling the number of times data is erased in a block which is a unit area for erasing written data in the nonvolatile memory chip;
A power supply on / off detector that detects on / off of the power supply; and
When the power supply on / off detection unit detects that the power supply is off, the leveling management information stored in the leveling management information storage unit is saved in the nonvolatile data storage unit, and the power supply on / off A leveling management information saving / restoring processing unit that restores the leveling management information saved in the nonvolatile data storage unit to the leveling management information storage unit when turning off of the power supply is detected by the off detection unit;
With
The plurality of buffer storage controls that sequentially transfer the saved data read from the leveling management information storage unit by the leveling management information save / restore processing unit to the plurality of buffer storage control units , and receive the transfer of the saved data each section is a configured save and restore process of leveling the management information in the solid state drive apparatus to write by transferring the saved data in parallel independently of each other in the non-volatile memory chips,
The leveling management information save / restore processing unit
When a write error occurs as a result of writing the saved data to a predetermined page of the nonvolatile data storage unit, the same data as the saved data is written to the next page of the predetermined page of the nonvolatile data storage unit A method for saving and restoring leveling management information.
複数の不揮発性メモリチップと、前記複数の不揮発性メモリチップを所定の数ごとの複数のレーンに分割したとき、前記レーンごとにそのレーンに属する不揮発性メモリチップに接続され、前記不揮発性メモリチップに対する書き込みまたは読み出しデータを一時記憶するバッファ記憶制御部と、を含んで構成された不揮発データ記憶部と、
前記不揮発性メモリチップにおける書き込みデータ消去の単位領域であるブロックのデータ消去回数を平準化するための平準化管理情報を記憶する平準化管理情報記憶部と、
電源供給のオンおよびオフを検知する電源供給オン・オフ検知部と、
前記電源供給オン・オフ検知部により電源供給のオフが検知されたとき、前記平準化管理情報記憶部に記憶されている平準化管理情報を前記不揮発データ記憶部に退避し、前記電源供給オン・オフ検知部により電源供給のオンが検知されたとき、前記不揮発データ記憶部に退避されている平準化管理情報を前記平準化管理情報記憶部に回復させる平準化管理情報退避・回復処理部と、
を備え、
前記平準化管理情報退避・回復処理部が前記平準化管理情報記憶部から読み出した退避データを前記複数のバッファ記憶制御部へ順次転送し、前記退避データの転送を受けた前記複数のバッファ記憶制御部それぞれ、互いに独立に並行して前記退避データを前記不揮発性メモリチップに転送して書き込むように構成されたソリッド・ステート・ドライブ装置における平準化管理情報の退避・回復方法であって、
前記平準化管理情報退避・回復処理部は、
前記不揮発データ記憶部を構成する前記不揮発性メモリチップの故障チップについての情報を記憶した故障チップ情報記憶部を備え、
前記平準化管理情報を前記不揮発データ記憶部へ退避する場合には、前記故障チップ情報記憶部を参照して、前記不揮発データ記憶部の退避先の領域が前記故障チップに該当するか否かを判定し、前記故障チップに該当するときには、前記平準化管理情報の前記故障チップへの退避を省略し、
前記平準化管理情報の前記故障チップ以外の前記不揮発性メモリチップへの退避完了後に、前記平準化管理情報のうち前記故障チップへ退避することになっていた情報を、前記故障チップ以外の前記不揮発性メモリチップへ分散して退避すること
を特徴とする平準化管理情報の退避・回復方法。
When the plurality of nonvolatile memory chips and the plurality of nonvolatile memory chips are divided into a plurality of lanes of a predetermined number, each lane is connected to the nonvolatile memory chip belonging to the lane, and the nonvolatile memory chip A buffer storage control unit for temporarily storing write or read data with respect to the non-volatile data storage unit,
A leveling management information storage unit for storing leveling management information for leveling the number of times data is erased in a block which is a unit area for erasing written data in the nonvolatile memory chip;
A power supply on / off detector that detects on / off of the power supply; and
When the power supply on / off detection unit detects that the power supply is off, the leveling management information stored in the leveling management information storage unit is saved in the nonvolatile data storage unit, and the power supply on / off A leveling management information saving / restoring processing unit that restores the leveling management information saved in the nonvolatile data storage unit to the leveling management information storage unit when turning off of the power supply is detected by the off detection unit;
With
The plurality of buffer storage controls that sequentially transfer the saved data read from the leveling management information storage unit by the leveling management information save / restore processing unit to the plurality of buffer storage control units , and receive the transfer of the saved data each section is a configured save and restore process of leveling the management information in the solid state drive apparatus to write by transferring the saved data in parallel independently of each other in the non-volatile memory chips,
The leveling management information save / restore processing unit
A failure chip information storage unit that stores information about a failure chip of the nonvolatile memory chip constituting the nonvolatile data storage unit;
When saving the leveling management information to the non-volatile data storage unit, referring to the failed chip information storage unit, it is determined whether the save destination area of the non-volatile data storage unit corresponds to the failed chip. Determining, when corresponding to the faulty chip, omit saving the leveling management information to the faulty chip,
After the leveling management information has been saved to the non-volatile memory chip other than the failed chip, the information that is to be saved to the failed chip in the leveling management information is changed to the non-volatile chip other than the failed chip. A method for saving and restoring leveling management information, characterized in that the leveling management information is saved in a distributed manner in memory chips .
JP2009297123A 2009-12-28 2009-12-28 Solid-state drive device and leveling management information save / restore method Active JP5579431B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009297123A JP5579431B2 (en) 2009-12-28 2009-12-28 Solid-state drive device and leveling management information save / restore method
PCT/JP2010/073670 WO2011081168A1 (en) 2009-12-28 2010-12-28 Solid state drive device and equalization management information save/restore method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009297123A JP5579431B2 (en) 2009-12-28 2009-12-28 Solid-state drive device and leveling management information save / restore method

Publications (2)

Publication Number Publication Date
JP2011138273A JP2011138273A (en) 2011-07-14
JP5579431B2 true JP5579431B2 (en) 2014-08-27

Family

ID=44226572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009297123A Active JP5579431B2 (en) 2009-12-28 2009-12-28 Solid-state drive device and leveling management information save / restore method

Country Status (2)

Country Link
JP (1) JP5579431B2 (en)
WO (1) WO2011081168A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12217781B2 (en) 2022-06-23 2025-02-04 Kioxia Corporation Memory device and memory system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
JP5803614B2 (en) * 2011-11-29 2015-11-04 ソニー株式会社 Nonvolatile cache memory, processing method of nonvolatile cache memory, and computer system
JP2013134508A (en) * 2011-12-23 2013-07-08 Toshiba Corp Programmable control device, method and program
KR101377408B1 (en) 2012-02-21 2014-03-21 주식회사 안랩 Apparatus and method for managing error areas
US9524800B2 (en) 2012-09-26 2016-12-20 International Business Machines Corporation Performance evaluation of solid state memory device
JP7446963B2 (en) 2020-09-23 2024-03-11 キオクシア株式会社 Memory system and memory system control method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002109895A (en) * 1996-02-29 2002-04-12 Hitachi Ltd Semiconductor storage device
JP4472010B2 (en) * 2006-08-09 2010-06-02 株式会社日立超エル・エス・アイ・システムズ Storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12217781B2 (en) 2022-06-23 2025-02-04 Kioxia Corporation Memory device and memory system

Also Published As

Publication number Publication date
JP2011138273A (en) 2011-07-14
WO2011081168A1 (en) 2011-07-07

Similar Documents

Publication Publication Date Title
US7984325B2 (en) Storage control device, data recovery device, and storage system
JP5466953B2 (en) Backup method and disk array system
US8484522B2 (en) Apparatus, system, and method for bad block remapping
JP5579431B2 (en) Solid-state drive device and leveling management information save / restore method
US20110029716A1 (en) System and method of recovering data in a flash storage system
US20090327803A1 (en) Storage control device and storage control method
CN112148522B (en) Error correction scheme in flash memory
KR20100082710A (en) Data memory device and controller with interface error detection and handling logic
MX2012010944A (en) Non-regular parity distribution detection via metadata tag.
KR20130069364A (en) Non-volatile semiconductor memory device and method of controlling the same
US10229742B2 (en) Flash memory device
JP5331018B2 (en) Solid state drive device and mirror configuration reconfiguration method
CN109739777B (en) Reliable flash memory storage method and system based on local and distributed collaborative design
JP4256307B2 (en) Memory card
JP2010079856A (en) Storage device and memory control method
JP4956230B2 (en) Memory controller
US10922025B2 (en) Nonvolatile memory bad row management
JP2018136735A (en) Memory controller and memory control method
US20240338124A1 (en) Storage device using host memory buffer and method of operating the same
CN115565598B (en) Data storage and repair method and system for temporary failure of RAID array disk
JP5360287B2 (en) Data control method and system
TWI634418B (en) Method and controller for recovering data in event of program failure and storage system using the same
CN107632902A (en) Method, controller and storage system for replying data in case of programming failure
JP2002373119A (en) Semiconductor storage system
JP2001005615A (en) Disk array device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140709

R150 Certificate of patent or registration of utility model

Ref document number: 5579431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150