JP2016157470A - Information recording system - Google Patents

Information recording system Download PDF

Info

Publication number
JP2016157470A
JP2016157470A JP2016082279A JP2016082279A JP2016157470A JP 2016157470 A JP2016157470 A JP 2016157470A JP 2016082279 A JP2016082279 A JP 2016082279A JP 2016082279 A JP2016082279 A JP 2016082279A JP 2016157470 A JP2016157470 A JP 2016157470A
Authority
JP
Japan
Prior art keywords
information
data
ssd
memory
semiconductor memory
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.)
Granted
Application number
JP2016082279A
Other languages
Japanese (ja)
Other versions
JP6190488B2 (en
Inventor
大輔 橋本
Daisuke Hashimoto
大輔 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2016082279A priority Critical patent/JP6190488B2/en
Publication of JP2016157470A publication Critical patent/JP2016157470A/en
Application granted granted Critical
Publication of JP6190488B2 publication Critical patent/JP6190488B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To prevent further deterioration in reliability of a nonvolatile storage device by constructing a system so as not to perform a writing operation to the nonvolatile storage device when the service life of the nonvolatile storage device gets closer to termination, and prevent data corruption of the nonvolatile storage device.SOLUTION: An information recording system comprises: a semiconductor storage device 2 which includes a nonvolatile semiconductor memory, a volatile semiconductor memory, a controller circuit, a temperature sensor and an interface circuit; and a host device 1 which transmits writing and reading commands. The nonvolatile semiconductor memory and the volatile semiconductor memory are configured to be able to record the first information designating the physical address corresponding to the logical address. The nonvolatile semiconductor memory is configured to store the second information, third information, fourth information, fifth information, sixth information and seventh information. The host device is configured to be able to display information based on the second or third information, information based on the fourth or fifth information and information based on the seventh information on a display device.SELECTED DRAWING: Figure 1

Description

本発明の実施形態は、情報記録システムに関する。   Embodiments described herein relate generally to an information recording system.

コンピュータシステムに用いられる外部記憶装置として、NAND型フラッシュメモリ
などの不揮発性半導体メモリを搭載したSSD(Solid State Drive)が注目されている
。フラッシュメモリは、磁気ディスク装置に比べ、高速、軽量などの利点を有している。
SSD内には、複数のフラッシュメモリチップ、ホスト装置からの要求に応じて各フラッ
シュメモリチップのリード/ライト制御を行うコントローラ、各フラッシュメモリチップ
とホスト装置との間でデータ転送を行うためのバッファメモリ、電源回路、ホスト装置に
対する接続インタフェースなどを備えている。
As an external storage device used in a computer system, an SSD (Solid State Drive) equipped with a nonvolatile semiconductor memory such as a NAND flash memory has attracted attention. The flash memory has advantages such as high speed and light weight compared with the magnetic disk device.
The SSD includes a plurality of flash memory chips, a controller that performs read / write control of each flash memory chip in response to a request from the host device, and a buffer that performs data transfer between each flash memory chip and the host device. A memory, a power supply circuit, a connection interface to the host device, and the like are provided.

特開2009−217603号公報JP 2009-217603 A 特開2008−090539号公報JP 2008-090539 A 特開2002−351621号公報JP 2002-351621 A 特開2006−18848号公報JP 2006-18848 A 特開平07−78102号公報Japanese Patent Application Laid-Open No. 07-78102 特開2004−151785号公報JP 2004-151785 A 特開2005−190075号公報JP 2005-190075 A 特開2008−90539号公報JP 2008-90539 A 特開2001−75813号公報JP 2001-75813 A 特許第4489127号Patent No. 4489127 特許第4635092号Japanese Patent No. 4635092

ATA/ATAPI Command Set - 2 (ACS-2) d2015r6 Feb.22.2011http://www.t13.org/Documents/UploadedDocuments/docs2011/d2015r6-ATAATAPI_Command_Set_-_2_ACS-2.pdf ・73頁目〜74頁目、290頁目〜306頁目:SELF-MONITORING, ANALYSIS, AND REPORTING TECHNOLOGY (SMART) ・98頁目〜99頁目、50頁目:Data Set Management Command (トリムコマンド) ・342頁目〜365頁目:SCT Command TransportATA / ATAPI Command Set-2 (ACS-2) d2015r6 Feb.22.2011http: //www.t13.org/Documents/UploadedDocuments/docs2011/d2015r6-ATAATAPI_Command_Set_-_2_ACS-2.pdf ・ Pages 73-74, Pages 290-306: SELF-MONITORING, ANALYSIS, AND REPORTING TECHNOLOGY (SMART) • Pages 98-99, Page 50: Data Set Management Command (trim command) • Pages 342-365: SCT Command Transport CrystalDiskInfoマニュアル(SMART情報による不揮発性記憶装置の健康状態のモニタソフト)http://crystalmark.info/software/CrystalDiskInfo/manual-ja/http://crystalmark.info/software/CrystalDiskInfo/manual-en/CrystalDiskInfo manual (Non-volatile storage device health monitoring software based on SMART information) http://crystalmark.info/software/CrystalDiskInfo/manual-en/http://crystalmark.info/software/CrystalDiskInfo/manual-en/ Smartmontools(SMART情報による不揮発性記憶装置の健康状態のモニタソフト)http://sourceforge.net/apps/trac/smartmontools/wikiSmartmontools (Non-volatile storage device health monitoring software based on SMART information) http://sourceforge.net/apps/trac/smartmontools/wiki Samsung SSD Magician USER GUIDEhttp://www.samsungssd.com/faqSamsung SSD Magician USER GUIDEhttp: //www.samsungssd.com/faq Intel Solid State Drive Toolboxhttp://downloadcenter.intel.com/Detail_Desc.aspx?lang=jpn&DwnldID=18455http://downloadcenter.intel.com/Detail_Desc.aspx?lang=eng &DwnldId=18455Intel Solid State Drive Toolbox http://downloadcenter.intel.com/Detail_Desc.aspx?lang=enu&DwnldID=18455http://downloadcenter.intel.com/Detail_Desc.aspx?lang=eng & DwnldId = 18455 S.M.A.R.T. attributes meaninghttp://www.ariolic.com/activesmart/smart-attributes/S.M.A.R.T.attributes meaninghttp: //www.ariolic.com/activesmart/smart-attributes/ S.M.A.R.T. attributes meaninghttp://www.siguardian.com/products/siguardian/on_line_help/s_m_a_r_t_attribute_meaning.htmlS.M.A.R.T.attributes meaninghttp: //www.siguardian.com/products/siguardian/on_line_help/s_m_a_r_t_attribute_meaning.html Self-Monitoring, Analysis and Reporting Technology :: Attributeshttp://smartlinux.sourceforge.net/smart/attributes.phpSelf-Monitoring, Analysis and Reporting Technology :: Attributeshttp: //smartlinux.sourceforge.net/smart/attributes.php Serial ATA International Organization: Serial ATA Revision 3.1RC Clean DRAFT 2010.09.29 554頁〜558頁 13.9 Phy Event Counters (Optional)Serial ATA International Organization: Serial ATA Revision 3.1RC Clean DRAFT 2010.09.29 pp. 554-558 13.9 Phy Event Counters (Optional)

本発明の一つの実施形態は、不揮発性記憶装置が寿命に近づいたときに、不揮発性記憶
装置に対する書き込み動作を行わないようシステムを構築し、不揮発性記憶装置のさらな
る信頼性劣化を防止し、不揮発性記憶装置のデータ破壊を防止する情報記録システムを提
供することを目的とする。
One embodiment of the present invention constructs a system so as not to perform a write operation to a nonvolatile storage device when the nonvolatile storage device approaches the end of its life, and prevents further deterioration of the reliability of the nonvolatile storage device, An object of the present invention is to provide an information recording system that prevents data destruction of a nonvolatile storage device.

上記課題を達成するために、実施形態に係る情報記録システムは、不揮発性半導体メモ
リと揮発性半導体メモリとコントローラ回路と温度センサとインタフェース回路とを備え
る半導体記憶装置と、この半導体記憶装置に対し書き込み及び読み出し命令を送信するホ
スト装置と、を備える。前記不揮発性半導体メモリならびに前記揮発性半導体メモリは、
前記インタフェース回路を介して前記ホスト装置から受信する論理アドレス情報に対応す
る前記不揮発性半導体メモリの物理アドレスを指定する第1情報をそれぞれ記録可能に構
成される。前記コントローラ回路は、前記インタフェース回路を介して前記ホスト装置か
ら書き込み命令を受信した際は、前記ホスト装置から受信したデータを用いて訂正符号を
生成し、前記不揮発性半導体メモリに、前記データならびに前記訂正符号を記録し、かつ
、前記インタフェース回路を介して前記ホスト装置から読み出し命令を受信した際は、前
記第1情報を用いて前記不揮発性半導体メモリから読み込んだデータならびに対応する前
記訂正符号に基づいて、前記読み出したデータを訂正可能に構成される。前記不揮発性半
導体メモリは、第2情報、第3情報と、第4情報と、第5情報と、第6情報と、第7情報
と、と記憶するように構成される。第2情報は、前記ホスト装置から受信した書き込み命
令に応じて受信した書き込みデータの総量に基づく情報である。第3情報は、前記ホスト
装置から受信した読み込み命令に応じて前記不揮発性半導体メモリから読み出したデータ
の総量に基づく情報である。第4情報は、前記コントローラが前記不揮発性半導体メモリ
から読み込んだデータを対応する前記訂正符号を用いても訂正することが出来なかったデ
ータの個数に関する情報である。第5情報は、前記不揮発性半導体メモリのうち、データ
を書き込むことが出来ないと判断されたメモリセルの個数に応じた情報であって前記第1
の単位で示された情報である。第6情報は、前記不揮発性半導体メモリのうち、データを
書き込むことが出来ると判断された前記メモリセルの個数に応じた情報である。第7情報
は、前記温度センサを用いて計測された温度に基づく情報である。前記ホスト装置は、前
記第2情報または第3情報に基づく前記不揮発性半導体メモリの第1ステータス情報と、
前記第4情報または第5情報に基づく前記不揮発性半導体メモリの第2ステータス情報と
、前記第7情報に基づく前記不揮発性半導体メモリの第3ステータス情報と、を、前記ホ
スト装置に接続される表示装置に表示可能に構成される。前記半導体記憶装置は、前記ホ
スト装置から受信した命令及び論理アドレス情報に基づいて、対応する物理アドレスに記
録されているデータを前記第1の単位で消去し、前記第6情報を変更可能に構成される。
In order to achieve the above object, an information recording system according to an embodiment includes a semiconductor memory device including a nonvolatile semiconductor memory, a volatile semiconductor memory, a controller circuit, a temperature sensor, and an interface circuit, and writing to the semiconductor memory device And a host device that transmits a read command. The nonvolatile semiconductor memory and the volatile semiconductor memory are
The first information designating the physical address of the nonvolatile semiconductor memory corresponding to the logical address information received from the host device via the interface circuit can be recorded. When the controller circuit receives a write command from the host device via the interface circuit, the controller circuit generates a correction code using the data received from the host device, and stores the data and the data in the nonvolatile semiconductor memory. When a correction code is recorded and a read command is received from the host device via the interface circuit, based on the data read from the nonvolatile semiconductor memory using the first information and the corresponding correction code Thus, the read data can be corrected. The nonvolatile semiconductor memory is configured to store second information, third information, fourth information, fifth information, sixth information, and seventh information. The second information is information based on the total amount of write data received according to the write command received from the host device. The third information is information based on the total amount of data read from the nonvolatile semiconductor memory in response to a read command received from the host device. The fourth information is information relating to the number of data that could not be corrected by using the correction code corresponding to the data read from the nonvolatile semiconductor memory by the controller. The fifth information is information according to the number of memory cells determined to be unable to write data in the nonvolatile semiconductor memory, and the first information
It is information indicated in units of. The sixth information is information according to the number of the memory cells determined to be able to write data in the nonvolatile semiconductor memory. The seventh information is information based on the temperature measured using the temperature sensor. The host device includes first status information of the nonvolatile semiconductor memory based on the second information or third information;
Display connected to the host device, the second status information of the nonvolatile semiconductor memory based on the fourth information or the fifth information, and the third status information of the nonvolatile semiconductor memory based on the seventh information It can be displayed on the device. The semiconductor storage device is configured to be able to change the sixth information by erasing data recorded at a corresponding physical address in the first unit based on a command and logical address information received from the host device. Is done.

図1は、第1の実施形態のコンピュータシステムの機能構成例を示すブロック図である。FIG. 1 is a block diagram illustrating a functional configuration example of the computer system according to the first embodiment. 図2は、制御ツールをSSDに保存する場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a functional configuration example of the computer system when the control tool is stored in the SSD. 図3は、制御ツールをその他の外部記憶装置に保存する場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a functional configuration example of the computer system when the control tool is stored in another external storage device. 図4は、制御ツールをWEBからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 4 is a block diagram illustrating a functional configuration example of the computer system when the control tool is installed from the WEB. 図5は、制御ツールを光学ドライブからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 5 is a block diagram illustrating a functional configuration example of the computer system when the control tool is installed from the optical drive. 図6は、制御ツールをUSBメモリからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 6 is a block diagram illustrating a functional configuration example of the computer system when the control tool is installed from the USB memory. 図7は、通常時OSおよび緊急時OSがSSDに保存されている場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 7 is a block diagram illustrating a functional configuration example of the computer system when the normal OS and the emergency OS are stored in the SSD. 図8は、通常時OSおよび緊急時OSが信頼性劣化したSSD以外の不揮発性記憶装置に保存されている場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 8 is a block diagram illustrating a functional configuration example of a computer system when the normal-time OS and the emergency OS are stored in a nonvolatile storage device other than the SSD whose reliability has deteriorated. 図9は、緊急時OSをWEB上の記憶媒体からインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 9 is a block diagram illustrating a functional configuration example of a computer system when an emergency OS is installed from a storage medium on a WEB. 図10は、緊急時OSを光学ドライブからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 10 is a block diagram illustrating a functional configuration example of a computer system when an emergency OS is installed from an optical drive. 図11は、緊急時OSをUSBメモリからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。FIG. 11 is a block diagram illustrating a functional configuration example of a computer system when an emergency OS is installed from a USB memory. 図12は、ホストの階層的機能構成例を示すブロック図である。FIG. 12 is a block diagram illustrating a hierarchical functional configuration example of the host. 図13は、コンピュータシステムの外観的構成を示す図である。FIG. 13 is a diagram showing an external configuration of a computer system. 図14は、コンピュータシステムの他の外観的構成を示す図である。FIG. 14 is a diagram showing another external configuration of the computer system. 図15は、NANDメモリチップの内部構成例を示すブロック図である。FIG. 15 is a block diagram illustrating an internal configuration example of the NAND memory chip. 図16は、NANDメモリチップに含まれる1個のプレーンの構成例を示す回路図である。FIG. 16 is a circuit diagram showing a configuration example of one plane included in the NAND memory chip. 図17は、4値データ記憶方式でのしきい値分布を示す図である。FIG. 17 is a diagram showing a threshold distribution in the quaternary data storage system. 図18は、SSDの内部構成例を示す機能ブロック図である。FIG. 18 is a functional block diagram illustrating an internal configuration example of an SSD. 図19は、SSDの管理情報を示す図である。FIG. 19 is a diagram showing SSD management information. 図20は、LBAとSSDの管理単位との関係を示す図である。FIG. 20 is a diagram showing the relationship between LBA and SSD management units. 図21は、LBAから物理アドレスを特定する手順を示すフローチャートである。FIG. 21 is a flowchart showing a procedure for specifying a physical address from an LBA. 図22は、SSDの読み出し動作例を示すフローチャートである。FIG. 22 is a flowchart illustrating an example of an SSD read operation. 図23は、SSDの読み出し動作例を示すフローチャートである。FIG. 23 is a flowchart illustrating an example of an SSD read operation. 図24は、SSDの書き込み動作例を示すフローチャートである。FIG. 24 is a flowchart illustrating an example of an SSD write operation. 図25は、SSDの書き込み動作例を示すフローチャートである。FIG. 25 is a flowchart illustrating an example of an SSD write operation. 図26は、SSDのNANDメモリの整理の動作例を示すフローチャートである。FIG. 26 is a flowchart showing an operation example of organizing the SSD NAND memory. 図27は、削除通知を受信したときのSSDの動作例を示すフローチャートである。FIG. 27 is a flowchart illustrating an exemplary operation of the SSD when a deletion notification is received. 図28は、SSDのエラー発生時の動作例を示すフローチャートである。FIG. 28 is a flowchart illustrating an operation example when an SSD error occurs. 図29は、制御ツールの動作手順を示すフローチャートである。FIG. 29 is a flowchart showing the operation procedure of the control tool. 図30は、統計情報X01〜X19、X23、X24の管理テーブルの一例を示す図である。FIG. 30 is a diagram illustrating an example of a management table of statistical information X01 to X19, X23, and X24. 図31は、統計情報の生の値とSSDの不良率の関係を示すグラフである。FIG. 31 is a graph showing a relationship between a raw value of statistical information and an SSD defect rate. 図32は、制御ツールの他の動作手順を示すフローチャートである。FIG. 32 is a flowchart showing another operation procedure of the control tool. 図33は、制御ツールの他の動作手順を示すフローチャートである。FIG. 33 is a flowchart showing another operation procedure of the control tool. 図34は、制御ツールの寿命到達時処理を示すフローチャートである。FIG. 34 is a flowchart showing the process at the end of the life of the control tool. 図35は、制御ツールの他の寿命到達時処理を示すフローチャートである。FIG. 35 is a flowchart showing another process at the end of the life of the control tool. 図36は、制御ツールの他の寿命到達時処理を示すフローチャートである。FIG. 36 is a flowchart showing another process at the end of the life of the control tool. 図37は、コンピュータシステムの起動時の動作手順を示すフローチャートである。FIG. 37 is a flowchart showing an operation procedure when the computer system is activated. 図38は、緊急時OSがバックアップ機能を搭載している場合の、ホストの構成を示す図である。FIG. 38 is a diagram showing the configuration of the host when the emergency OS is equipped with a backup function. 図39は、コンピュータシステムの起動時のバックアップ動作を含む動作手順を示すフローチャートである。FIG. 39 is a flowchart showing an operation procedure including a backup operation when the computer system is activated. 図40は、NANDメモリの記憶内容およびファイル管理テーブルの記憶内容を示す図である。FIG. 40 shows the storage contents of the NAND memory and the storage contents of the file management table. 図41は、バックアップ用記憶装置としてUSBストレージが用いられた場合の、コンピュータシステムの機能構成例を示す図である。FIG. 41 is a diagram illustrating a functional configuration example of a computer system when a USB storage is used as a backup storage device. 図42は、バックアップ用記憶装置として光学記憶媒体が用いられた場合の、コンピュータシステムの機能構成例を示す図である。FIG. 42 is a diagram illustrating a functional configuration example of a computer system when an optical storage medium is used as a backup storage device. 図43は、バックアップ用記憶装置としてストレージサーバが用いられた場合の、コンピュータシステムの機能構成例を示す図である。FIG. 43 is a diagram illustrating a functional configuration example of a computer system when a storage server is used as a backup storage device. 図44は、緊急時起動用ディスクを作成する時のデータの移動の概念を示す図である。FIG. 44 is a diagram showing the concept of data movement when creating an emergency startup disk. 図45は、緊急時起動用ディスクを作成する時の動作手順を示すフローチャートである。FIG. 45 is a flowchart showing an operation procedure for creating an emergency start disk. 図46は、緊急時ツールを含む緊急時起動用ディスクを作成する時のデータの移動の概念を示す図である。FIG. 46 is a diagram showing a concept of data movement when an emergency start disk including an emergency tool is created. 図47は、緊急時ツールを含む緊急時起動用ディスクを作成する時の動作手順を示すフローチャートである。FIG. 47 is a flowchart showing an operation procedure when an emergency start disk including an emergency tool is created. 図48は、バックアップ処理をユーザへ案内する画面例を示す図である。FIG. 48 is a diagram showing an example of a screen for guiding the backup process to the user. 図49は、制御ツールの他の動作手順を示すフローチャートである。FIG. 49 is a flowchart showing another operation procedure of the control tool. 図50は、コンピュータシステムの起動時の他の動作手順を示すフローチャートである。FIG. 50 is a flowchart showing another operation procedure when starting up the computer system. 図51は、統計情報の時系列データ例を示す図である。FIG. 51 is a diagram illustrating an example of time-series data of statistical information. 図52は、統計情報の経時変化を示す図である。FIG. 52 is a diagram showing the temporal change of statistical information. 図53は、統計情報の経時変化に基づき予測寿命を求める処理を概念的に示す図である。FIG. 53 is a diagram conceptually showing a process for obtaining a predicted life based on a change in statistical information over time. 図54は、SSDの寿命到達時のユーザへの案内画面例を示す図である。FIG. 54 is a diagram showing an example of a guidance screen to the user when the life of the SSD is reached. 図55は、ブートローダの復元処理を行う際のコンピュータシステムの機能構成例を示すブロック図である。FIG. 55 is a block diagram illustrating a functional configuration example of the computer system when performing boot loader restoration processing. 図56は、寿命到達時処理の際のブートローダの復元処理の動作手順を示すフローチャートである。FIG. 56 is a flowchart showing the operation procedure of the boot loader restoration process at the end of life process. 図57は、ブートローダの書き換え差分ログを示す図である。FIG. 57 is a diagram showing a rewrite difference log of the boot loader. 図58は、緊急時OSによるバックアップ動作手順を示すフローチャートである。FIG. 58 is a flowchart showing a backup operation procedure by the emergency OS. 図59は、ブートローダの復元処理を行う際のコンピュータシステムの機能構成例を示すブロック図である。FIG. 59 is a block diagram illustrating a functional configuration example of the computer system when performing boot loader restoration processing. 図60は、緊急時OSによるブートローダ復元処理の動作手順を示すフローチャートである。FIG. 60 is a flowchart showing an operation procedure of boot loader restoration processing by the emergency OS. 図61は、第8の実施形態の全体的動作手順を示すフローチャートである。FIG. 61 is a flowchart showing the overall operation procedure of the eighth embodiment.

不揮発性半導体メモリには、NAND型フラッシュメモリのように、データを記憶させ
る場合にブロック単位で一度データを消去してからその後に書き込みを行うもの、ページ
単位で書き込み/読み出しを行うものなど、消去/書き込み/読み出しの単位が固定され
ているものがある。一方、パーソナルコンピュータなどのホスト機器がハードディスクを
はじめとする2次記憶装置に対してデータの書き込み/読み出しを行う単位は、セクタと
呼ばれる。セクタは、半導体記憶装置の消去/書き込み/読み出しの単位とは独立に定め
られる。例えば、不揮発性半導体メモリの消去/書き込み/読み出しの単位は、ホスト機
器の書き込み/読み出しの単位よりも大きい場合がある。
Non-volatile semiconductor memory, such as NAND flash memory, erases data that is erased once in block units and then written, and data that is written / read out in page units. Some units have fixed / write / read units. On the other hand, a unit in which a host device such as a personal computer writes / reads data to / from a secondary storage device such as a hard disk is called a sector. The sector is determined independently of the unit of erasing / writing / reading of the semiconductor memory device. For example, the erase / write / read unit of the nonvolatile semiconductor memory may be larger than the write / read unit of the host device.

また、フラッシュメモリを用いてパーソナルコンピュータの二次記憶装置を構成する場
合、誤りが多いなどの理由によって記憶領域として使用できなくなるブロック(不良ブロ
ック、バッドブロック)や、読み出せなくなる領域(不良領域)などが生じる場合がある
。このような不良ブロック数や不良領域数が上限値を超えた場合には、新たな不良ブロッ
クや不良領域を登録することができないので、バッファメモリ(キャッシュメモリ)に格
納されているデータとライト要求のあったデータの両方をフラッシュメモリへ書き込むこ
とを保障できない。このため、不良ブロック数や不良領域数が所定値を超えた場合には、
フラッシュメモリに空き容量があるにも関わらず、突然データの書き込みが不能になると
いった問題があった。
In addition, when configuring a secondary storage device of a personal computer using flash memory, blocks (bad blocks, bad blocks) that cannot be used as storage areas due to many errors, or areas that cannot be read (defective areas) Etc. may occur. If the number of defective blocks or defective areas exceeds the upper limit, new defective blocks or defective areas cannot be registered, so data stored in the buffer memory (cache memory) and write requests It is not possible to guarantee that both of the existing data are written to the flash memory. For this reason, when the number of defective blocks or the number of defective areas exceeds a predetermined value,
There was a problem that data could not be written suddenly even though the flash memory had free space.

それに対する解決策として、NAND型フラッシュメモリで発生したバッドクラスタの
数とバッドブロックの数を管理し、バッドクラスタ数、バッドブロック数に応じて、ホス
ト装置からNAND型フラッシュメモリへのデータの書き込みの際の動作モードを切り替
えるという方法がある。クラスタとは、SSDでの論理アドレスとしての管理単位である
。クラスタサイズは、セクタサイズの2以上の自然数倍であり、クラスタアドレスは、L
BAの所定のビットから上位のビット列で構成される。
As a solution to this, the number of bad clusters and the number of bad blocks generated in the NAND flash memory is managed, and data write from the host device to the NAND flash memory is performed according to the number of bad clusters and bad blocks. There is a method of switching the operation mode. A cluster is a management unit as a logical address in SSD. The cluster size is a natural number multiple of 2 or more of the sector size, and the cluster address is L
It consists of a high-order bit string from a predetermined bit of BA.

この方法においては、SSDの動作モードは、例えば以下の3つのモードに分かれる。   In this method, the operation mode of the SSD is divided into the following three modes, for example.

・WBモード(Write Back Mode):キャッシュメモリに一旦データを書き込み、所定
の条件に基づきNAND型フラッシュメモリへの追い出しを行う通常の動作モード。
WB mode (Write Back Mode): A normal operation mode in which data is once written in the cache memory and then evicted to the NAND flash memory based on a predetermined condition.

・WTモード:(Write Through Mode):一回のライト要求でキャッシュメモリに書き
込まれたデータを、NAND型フラッシュメモリに都度書き込む動作モード。NAND型
フラッシュメモリに都度書き込むことで、ホストから書き込まれたデータをできるだけ保
障する。SSDは、バッドクラスタテーブルまたはバッドブロックテーブルの残エントリ
数が所定数以下になったとき、WTモードへと遷移する。
WT mode: (Write Through Mode): An operation mode in which data written to the cache memory with a single write request is written to the NAND flash memory each time. By writing to the NAND flash memory each time, data written from the host is guaranteed as much as possible. The SSD transitions to the WT mode when the number of remaining entries in the bad cluster table or the bad block table becomes a predetermined number or less.

・ROモード(Read Only Mode):NAND型フラッシュメモリへの書き込みを伴う処
理を全て禁ずるモード。ホストからの全てのライト要求に対してエラーを返し書き込みを
行わないようにすることで、SSDが寿命に近づいたときに、ホストからすでに書き込ま
れていたデータをできるだけ保障できるようにしている。SSDは、バッドクラスタテー
ブルまたはバッドブロックテーブルの残エントリ数が所定数以下になったとき、またはフ
リーブロックが不足となったとき、ROモードへと遷移する。
RO mode (Read Only Mode): Mode in which all processes involving writing to the NAND flash memory are prohibited. By returning an error in response to all write requests from the host and not performing writing, it is possible to guarantee as much as possible the data already written from the host when the SSD is nearing the end of its life. The SSD transitions to the RO mode when the number of remaining entries in the bad cluster table or the bad block table falls below a predetermined number, or when there are insufficient free blocks.

WBモード及びWTモードにおいては、SSDはホストからリード要求とライト要求の
両方を受け付けて処理をする。一方、ROモードにおいては、SSDはホストからリード
要求を受け付けて処理をするが、ホストからのライト要求に対しては処理をせずエラーを
返す。
In the WB mode and the WT mode, the SSD receives and processes both a read request and a write request from the host. On the other hand, in the RO mode, the SSD receives and processes a read request from the host, but returns an error without processing the write request from the host.

Windows(登録商標)などのオペレーティングシステム(OS)を搭載したホストに対して
SSDが接続されたとき、ホストはSSDに対してライト要求を送信し、ライト要求が正
常に処理されたとき、ホストはSSDを利用可能な外部記憶装置として認識する。
When an SSD is connected to a host equipped with an operating system (OS) such as Windows (registered trademark), the host sends a write request to the SSD, and when the write request is processed normally, the host The SSD is recognized as an external storage device that can be used.

一方、上記ROモードに遷移したSSDがWindows(登録商標)を搭載したホストに接続
されたとき、ホストがSSDに対してライト要求を送信すると、SSDはホストにエラー
を返すため、ホストはSSDを利用可能な外部記憶装置として認識しない場合がある。そ
のため、読み出しは可能なROモードのSSDをホストに接続しても、過去に記録したデ
ータをSSDから読み出せない可能性があった。
On the other hand, when the SSD transitioned to the RO mode is connected to a host equipped with Windows (registered trademark) and the host sends a write request to the SSD, the SSD returns an error to the host. It may not be recognized as an external storage device that can be used. Therefore, even if an RO mode SSD capable of reading is connected to the host, there is a possibility that data recorded in the past cannot be read from the SSD.

このように、SSDが寿命が到達した場合、あるいはSSDが寿命に近づいた場合は、
SSDに対する書き込みを禁止すべきである。しかし、コンピュータシステムに搭載され
る通常のオペレーティングシステム(OS)では、ブート時にSSDへの書き込みが発生
し、またユーザが意図しないSSDへの書き込みがバックグラウンドで発生する。このた
め、SSDが寿命が到達した場合、あるいはSSDが寿命に近づいた場合に、コンピュー
タシステムに通常のOSが搭載される状況下では、SSDの信頼性がさらに劣化し、既に
書き込まれているデータが破壊される可能性がある。
In this way, when the SSD reaches the end of its life, or when the SSD is nearing the end of its life,
Writing to the SSD should be prohibited. However, in a normal operating system (OS) installed in a computer system, writing to the SSD occurs at the time of booting, and writing to the SSD unintended by the user occurs in the background. For this reason, when the SSD reaches the end of its life, or when the SSD is nearing the end of its life, the reliability of the SSD further deteriorates under the situation where a normal OS is installed in the computer system. May be destroyed.

そこで、本実施形態においては、SSDが寿命に到達したと判断された場合、ブートロ
ーダを書き換え、システムを再起動した際、SSD2に対する書き込み動作を行わない緊
急時ソフトウェアとしての例えば緊急時OSが起動されるようにすることで、SSDの信
頼性劣化を防止し、既に書き込まれているデータ破壊を防止する。緊急時OSとしては、
ブート時にSSDに対し読み出し動作のみを行い、ユーザが意図しないバックグラウンド
でのSSDへの書き込みを行わないものを採用する。
Therefore, in this embodiment, when it is determined that the SSD has reached the end of its life, when the boot loader is rewritten and the system is restarted, for example, an emergency OS is started as emergency software that does not perform a write operation on the SSD 2. By doing so, the reliability of the SSD is prevented from being deteriorated, and the data already written is prevented from being destroyed. As an emergency OS,
A device that performs only a read operation on the SSD at the time of booting and does not write to the SSD in the background not intended by the user is employed.

以下に添付図面を参照して、実施形態にかかる情報処理装置を詳細に説明する。なお、
これら実施形態により本発明が限定されるものではない。
Exemplary embodiments of an information processing apparatus will be explained below in detail with reference to the accompanying drawings. In addition,
The present invention is not limited to these embodiments.

(第1の実施形態)
図1にコンピュータシステムの第1の実施形態の構成を示す。本コンピュータシステム
1は、不揮発性記憶装置としてのSSD2と、ホスト装置3と、SSD2とホスト装置3
とを結ぶメモリインタフェース19とから構成されている。本実施形態では、不揮発性記
憶装置として、SSD(Solid State Drive)を用いるが、たとえば、ハードディスクド
ライブ、ハイブリッドディスクドライブ、SDカード、USBメモリ、マザーボード上に
直接実装されたNAND型フラッシュメモリなど、他の不揮発性記憶装置であってもよい
。また、本実施形態では、インタフェース19として、ATA(Advanced Technology At
tachment)インタフェースを用いるが、USB(Universal Serial Bus)やSAS(Seri
al Attached SCSI)やThunderbolt(登録商標)やPCI Expressなど他のインタフェースで
あってもよい。CPU(制御回路)4がホスト装置3における中央演算処理装置であり、
ホスト装置3における種々の演算及び制御はCPU4によって行われる。CPU4はサウ
スブリッジ7を介してSSD2や、DVD−ROMなどの光学ドライブ10の制御を行う
。CPU4は、ノースブリッジ5を介して、主メモリ6の制御を行う。主メモリ6として
は、たとえばDRAMを採用してよい。
(First embodiment)
FIG. 1 shows the configuration of a first embodiment of a computer system. The computer system 1 includes an SSD 2 as a nonvolatile storage device, a host device 3, an SSD 2, and a host device 3.
The memory interface 19 is connected to In the present embodiment, an SSD (Solid State Drive) is used as a nonvolatile storage device. For example, a hard disk drive, a hybrid disk drive, an SD card, a USB memory, a NAND flash memory directly mounted on a motherboard, and the like. The non-volatile storage device may be used. In this embodiment, the interface 19 is an ATA (Advanced Technology At).
tachment) interface, but USB (Universal Serial Bus) or SAS (Seri)
al Attached SCSI), Thunderbolt (registered trademark), PCI Express, and other interfaces may be used. The CPU (control circuit) 4 is a central processing unit in the host device 3,
Various calculations and controls in the host device 3 are performed by the CPU 4. The CPU 4 controls the optical drive 10 such as the SSD 2 or DVD-ROM via the south bridge 7. The CPU 4 controls the main memory 6 via the north bridge 5. As the main memory 6, for example, a DRAM may be adopted.

ユーザは、キーボード14やマウス15などの入力装置を通してホスト装置3の制御を
行い、キーボード14やマウス15からの信号は、USB(Universal Serial Bus)コン
トローラ13及びサウスブリッジ7を介してCPU4で処理される。CPU4は、ノース
ブリッジ5及び表示コントローラ8を介してディスプレイ(表示装置)9に画像データや
テキストデータなどを送る。ユーザは、ディスプレイ9を介してホスト装置3からの画像
データやテキストデータなどを視認することができる。
The user controls the host device 3 through an input device such as a keyboard 14 and a mouse 15, and signals from the keyboard 14 and mouse 15 are processed by the CPU 4 via a USB (Universal Serial Bus) controller 13 and the south bridge 7. The The CPU 4 sends image data, text data, and the like to the display (display device) 9 via the north bridge 5 and the display controller 8. The user can visually recognize image data, text data, and the like from the host device 3 via the display 9.

CPU4は、コンピュータシステム1の動作を制御するために設けられたプロセッサで
あり、SSD2から主メモリ6にロードされるオペレーティングシステム(OS)100
を実行する。更に、光学ドライブ10が、装填された光ディスクに対して読出し処理及び
書込み処理の少なくとも1つの処理の実行を可能にした場合に、CPU4は、それらの処
理を実行する。また、CPU4は、BIOS(Basic Input/Output System)−ROM1
1に格納されたシステムBIOSも実行する。尚、システムBIOSは、コンピュータシ
ステム1内のハードウェア制御のためのプログラムである。その他、CPU4は、サウス
ブリッジ7を介してLAN(Local Area Network)コントローラ12を制御する。
The CPU 4 is a processor provided to control the operation of the computer system 1, and an operating system (OS) 100 loaded from the SSD 2 to the main memory 6.
Execute. Further, when the optical drive 10 enables execution of at least one of reading processing and writing processing with respect to the loaded optical disk, the CPU 4 executes those processing. The CPU 4 is a BIOS (Basic Input / Output System) -ROM 1
The system BIOS stored in 1 is also executed. The system BIOS is a program for controlling hardware in the computer system 1. In addition, the CPU 4 controls a LAN (Local Area Network) controller 12 via the south bridge 7.

ノースブリッジ5は、CPU4のローカルバスと接続するブリッジデバイスである。ノ
ースブリッジ5には、主メモリ6をアクセス制御するメモリコントローラも内蔵されてい
る。また、ノースブリッジ5は、表示コントローラ8との通信などを実行する機能も有し
ている。
The north bridge 5 is a bridge device connected to the local bus of the CPU 4. The north bridge 5 also includes a memory controller that controls access to the main memory 6. The north bridge 5 also has a function of executing communication with the display controller 8 and the like.

主メモリ6は、プログラムやデータを一時的に記憶し、CPU4の作業用メモリとして
機能する。主メモリ6は、OS100を格納する記憶領域6Aと、制御ツール200を格
納する記憶領域6Bを含んでいる。OSは、一般的に知られているように、ホスト装置3
の入出力装置を管理し、ディスクやメモリを管理し、ソフトウェアがホスト装置3のハー
ドウェアを利用可能にするための制御を行うなど、ホスト装置3全体を管理するプログラ
ムである。
The main memory 6 temporarily stores programs and data and functions as a working memory for the CPU 4. The main memory 6 includes a storage area 6A for storing the OS 100 and a storage area 6B for storing the control tool 200. As generally known, the OS is the host device 3.
Is a program for managing the entire host device 3 such as managing the input / output devices, managing the disk and memory, and controlling the software so that the hardware of the host device 3 can be used.

表示コントローラ8は、コンピュータシステム1のディスプレイ9を制御するビデオ再
生コントローラである。サウスブリッジ7は、CPU4のローカルバスと接続するブリッ
ジデバイスである。サウスブリッジ7は、各種ソフトウェア及びデータを格納する記憶装
置であるSSD2を、ATAインタフェース19を介して制御する。
The display controller 8 is a video playback controller that controls the display 9 of the computer system 1. The south bridge 7 is a bridge device connected to the local bus of the CPU 4. The south bridge 7 controls the SSD 2, which is a storage device that stores various software and data, via the ATA interface 19.

コンピュータシステム1では、論理セクタ単位でSSD2へのアクセスを行う。ATA
インタフェース19を介して、ライトコマンド(ライト要求)、リードコマンド(リード
要求)、フラッシュコマンド等がSSD2に入力される。
In the computer system 1, the SSD 2 is accessed in units of logical sectors. ATA
A write command (write request), a read command (read request), a flash command, and the like are input to the SSD 2 via the interface 19.

また、サウスブリッジ7は、BIOS−ROM11、光学ドライブ10、LANコント
ローラ12、USBコントローラ13をアクセス制御するための機能も有している。US
Bコントローラ13にキーボード14、マウス15が接続されている。
The south bridge 7 also has a function for controlling access to the BIOS-ROM 11, the optical drive 10, the LAN controller 12, and the USB controller 13. US
A keyboard 14 and a mouse 15 are connected to the B controller 13.

制御ツール200は、例えば、図2に示すように、ホスト装置3が電源オフになってい
るときはSSD2のNAND型フラッシュメモリ(NANDメモリ)16の領域16Bに
格納されているが、ホスト3の起動時またはプログラム起動時に、NANDメモリ16の
領域16Bから主メモリ6上の領域6Bにロードされる。一方、ホスト3に複数の不揮発
性記憶装置が接続されている場合は、図3に示すように、SSD制御ツール200は、S
SD2とは別の不揮発性記憶装置20の領域20Bに格納されており、ホスト装置3の起
動時またはプログラム起動時に、領域20Bから主メモリ6上の領域6Bにロードされる
ようにしてもよい。特に、不揮発性記憶装置20がOSを格納するシステムドライブとし
て使用されており、SSD2が文書や静止画データや動画データなどユーザデータを格納
するデータドライブとして使用されている場合は、システムドライブ20にはOSやアプ
リケーションプログラムを主として格納するドライブとして使用し、データドライブ2に
はユーザデータを格納するドライブとして使用するというように、ドライブ2とドライブ
20の役割を明確に分ける観点で、システムドライブとしての不揮発性記憶装置20に制
御ツールを格納することが望ましい。
For example, as shown in FIG. 2, the control tool 200 is stored in the area 16B of the NAND flash memory (NAND memory) 16 of the SSD 2 when the host device 3 is powered off. At the time of start-up or program start-up, the area 16B of the NAND memory 16 is loaded into the area 6B on the main memory 6. On the other hand, when a plurality of non-volatile storage devices are connected to the host 3, as shown in FIG.
It is stored in the area 20B of the non-volatile storage device 20 different from SD2, and may be loaded from the area 20B to the area 6B on the main memory 6 when the host device 3 is activated or when the program is activated. In particular, when the nonvolatile storage device 20 is used as a system drive for storing the OS and the SSD 2 is used as a data drive for storing user data such as documents, still image data, and moving image data, the system drive 20 Is used as a drive that mainly stores the OS and application programs, and the data drive 2 is used as a drive that stores user data. It is desirable to store the control tool in the non-volatile storage device 20.

制御ツール200のセットアップをユーザが行う労力を省く観点では、例えば図2や図
3に示したように、制御ツール200がSSD2や不揮発性記憶装置20に格納された状
態でコンピュータシステム1が出荷され、店頭に並び、ユーザの手に渡ることが望ましい
。一方、ユーザが制御ツールのインストールの可否を選択できるようにする観点、および
ユーザに最新の制御ツールを提供できるようにするという観点では、制御ツール200は
、WEBからのダウンロード、またはDVD−ROMやUSBメモリなど外部記憶媒体か
らのインストールによりSSD2や不揮発性記憶装置20に格納できるようにすることが
望ましい。
From the viewpoint of saving the user from setting up the control tool 200, the computer system 1 is shipped in a state where the control tool 200 is stored in the SSD 2 or the nonvolatile storage device 20, for example, as shown in FIGS. It is desirable to line up at the store and go into the hands of the user. On the other hand, from the viewpoint of allowing the user to select whether or not to install the control tool and providing the user with the latest control tool, the control tool 200 can be downloaded from the WEB, DVD-ROM, It is desirable that data can be stored in the SSD 2 or the nonvolatile storage device 20 by installation from an external storage medium such as a USB memory.

図4はWEBからのダウンロードの一例である。制御ツール200はWEBサーバ21
内の記憶媒体22の領域22Bに格納されており、制御ツール200はインターネットや
ローカルネットワークや無線LANなどのネットワークを介して、たとえばLANコント
ローラ12を経由してSSD2のNANDメモリ16上の領域16Bにダウンロード(ま
たはインストール)される。図3の場合は、制御ツール200は、不揮発性記憶装置20
上の領域20Bにダウンロードまたはインストールされる。
FIG. 4 shows an example of downloading from the WEB. The control tool 200 is a WEB server 21
The control tool 200 is stored in the area 16B on the NAND memory 16 of the SSD 2 via the LAN controller 12, for example, via the Internet, a local network, a wireless LAN, or the like. Downloaded (or installed). In the case of FIG. 3, the control tool 200 includes the nonvolatile storage device 20.
It is downloaded or installed in the upper area 20B.

図5はDVD−ROMやCD−ROMなど光学メディアからのインストールの一例であ
る。制御ツール200はDVD−ROMやCD−ROMなどの光学メディア23に格納さ
れており、光学メディア23が光学ドライブ10にセットされることで、制御ツール20
0は光学ドライブ10を介してSSD2のNANDメモリ16上の領域16B(または領
域20B)にインストールされる。図6はUSBメモリからのインストールの一例である
。制御ツール200はUSBメモリ24の領域24Bに格納されており、USBメモリ2
4がUSBコントローラ13に接続されることで、制御ツール200はUSBコントロー
ラ13を介してSSD2のNANDメモリ16上の領域16B(または領域20B)にイ
ンストールされる。USBメモリ24のかわりに、SDカードなどその他外部メモリであ
ってもよいのはもちろんである。ユーザによる入手容易性の観点から、光学メディア23
やUSBメモリ24は、SSD2の出荷時に、付属品としてSSD2と一緒に梱包されて
販売されることが望ましい。一方、光学メディア23やUSBメモリ24はソフトウェア
商品として単独で販売されてもよいし、雑誌や書籍の付録として付属していてもよい。
FIG. 5 shows an example of installation from an optical medium such as a DVD-ROM or CD-ROM. The control tool 200 is stored in an optical medium 23 such as a DVD-ROM or a CD-ROM, and the control tool 20 is set when the optical medium 23 is set in the optical drive 10.
0 is installed in the area 16B (or area 20B) on the NAND memory 16 of the SSD 2 via the optical drive 10. FIG. 6 shows an example of installation from a USB memory. The control tool 200 is stored in the area 24B of the USB memory 24, and the USB memory 2
4 is connected to the USB controller 13, the control tool 200 is installed in the area 16B (or area 20B) on the NAND memory 16 of the SSD 2 via the USB controller 13. Of course, other external memories such as an SD card may be used instead of the USB memory 24. From the viewpoint of easy availability by the user, the optical medium 23
It is desirable that the USB memory 24 be sold together with the SSD 2 as an accessory when the SSD 2 is shipped. On the other hand, the optical media 23 and the USB memory 24 may be sold alone as software products, or may be attached as magazines or book appendices.

本実施形態では、OS100として、通常時OS(第1のオペレーティングシステム)
100Aと緊急時OS(第2のオペレーティングシステム)100Bの2種類が存在する
。通常時OS100AはSSD2の信頼性が劣化していない場合に使用されるオペレーテ
ィングシステムである。前述したように、通常時OSは、ブート時にSSDへの書き込み
が発生し、またユーザが意図しないSSDへの書き込みがバックグラウンドで発生する。
通常時OS100Aは、図7に示すように、ホスト装置3が電源オフになっているときは
NANDメモリ16の領域16Dに格納されている。緊急時OS100BはSSD2の信
頼性が劣化した場合に使用されるオペレーティングシステムであり、SSD2への書き込
みは行わない(書き込み非サポート)。すなわち、緊急時OSは、ブート時にSSDに対
し読み出し動作のみを行い、ユーザが意図しないバックグラウンドでのSSDへの書き込
みを行わない。なお、緊急時OS100Bは信頼性劣化した時のSSD2以外の不揮発性
記憶装置に対しては書き込みを行うことができてもよい。また、緊急時OS100Bは、
緊急時OSのシステム情報など一部のデータをSSD2に書き込む必要がある場合は、例
外としてSSD2に当該データを書き込むことを許可してもよいが、当該データはデータ
量がNANDメモリ16の容量に対して十分に小さいことが望ましい。さらに望ましくは
、ユーザが誤って書き込みコマンドを送信してしまいSSD2に対してデータを書き込ん
でしまうことを防止するために、緊急時OS100BはSSD2に対する通常の書き込み
コマンドを行うことを禁止し、SSD2に対して例外的にデータを書き込む必要がある場
合は、たとえばINCITS ACS-2に記述されているSCT Command Transportやその他ベンダー
独自のコマンドなど、特殊なコマンドを用いたコマンドのみによりSSD2に対する書き
込みを許可するようにすることが望ましい。
In the present embodiment, the OS 100 is a normal OS (first operating system) as the OS 100.
There are two types, 100A and emergency OS (second operating system) 100B. The normal-time OS 100A is an operating system used when the reliability of the SSD 2 is not deteriorated. As described above, in the normal OS, writing to the SSD occurs at the time of booting, and writing to the SSD not intended by the user occurs in the background.
As shown in FIG. 7, the normal-time OS 100A is stored in the area 16D of the NAND memory 16 when the host apparatus 3 is powered off. The emergency OS 100B is an operating system used when the reliability of the SSD 2 is deteriorated, and writing to the SSD 2 is not performed (writing not supported). That is, the emergency OS performs only a read operation on the SSD at the time of booting, and does not perform writing to the SSD in the background unintended by the user. Note that the emergency OS 100B may be able to write to a non-volatile storage device other than the SSD 2 when the reliability has deteriorated. In addition, the emergency OS 100B
When it is necessary to write some data such as system information of the emergency OS to the SSD 2, it may be permitted to write the data to the SSD 2 as an exception, but the data amount of the data is equal to the capacity of the NAND memory 16. It is desirable that it be sufficiently small. More preferably, in order to prevent a user from accidentally sending a write command and writing data to the SSD 2, the emergency OS 100B prohibits the normal write command for the SSD 2 from being sent to the SSD 2. If it is necessary to write data exceptionally, write to SSD2 is permitted only by commands using special commands such as SCT Command Transport described in INCITS ACS-2 and other vendor-specific commands. It is desirable to do so.

緊急時OS100Bは、図7に示すように、ホスト装置3が電源オフになっているとき
はNANDメモリ16の領域16Eに格納されている。緊急時OS100BはSSD2が
正常な状態においては使用されないため、領域16Eでの緊急時OSデータの破壊を防止
する観点では、通常時OS使用時には領域16Eはホスト装置3から書き換えできないよ
うに設定されていることが望ましい。たとえば、通常時OS100Aの動作時には、領域
16Eには後述するSSD2の管理情報において、LBAが割り当てられていないことが
望ましく、この場合は、緊急時OS動作が必要になった後に領域16EにLBAが割り当
てられる。あるいは、通常時OS100Aの動作時には、領域16Eは通常時OS100
Aによって書き込みプロテクトを設定されていることが望ましい。
As shown in FIG. 7, the emergency OS 100B is stored in the area 16E of the NAND memory 16 when the host apparatus 3 is powered off. Since the emergency OS 100B is not used when the SSD 2 is in a normal state, the area 16E is set so that it cannot be rewritten from the host device 3 when the normal OS is used from the viewpoint of preventing the destruction of the emergency OS data in the area 16E. It is desirable. For example, during the operation of the normal time OS 100A, it is desirable that the LBA is not allocated to the area 16E in the management information of the SSD 2 described later. In this case, the LBA is stored in the area 16E after the emergency OS operation is required. Assigned. Alternatively, during the operation of the normal time OS 100A, the area 16E has the normal time OS 100A.
It is desirable that write protection is set by A.

SSD2の信頼性が劣化した状態でSSD2へのアクセスを極力減らすという観点では
、緊急時OS100Bが格納されている領域16Eのデータ量はNANDメモリ16の容
量に比べて大幅に小さいことが望ましい。緊急時OS100Bとしては、たとえばMS−
DOS(商標)やLinux(登録商標)などのOSにSSD2への書き込みを禁止する
ようなカスタマイズを行ったり、SSD2のバックアップ機能を付加したりしたものを採
用してもよいし、SSD2用に独自に開発したソフトウェアであってもよい。
From the viewpoint of reducing access to the SSD 2 as much as possible while the reliability of the SSD 2 is deteriorated, it is desirable that the data amount of the area 16E in which the emergency OS 100B is stored is significantly smaller than the capacity of the NAND memory 16. As an emergency OS100B, for example, MS-
Customization that prohibits writing to SSD2 in an OS such as DOS (trademark) or Linux (registered trademark), or a backup function of SSD2 may be adopted. It may be software developed in the past.

コンピュータシステム1の電源がONしたときやOSが再起動されたときなどのような
、コンピュータシステム1の起動時、ホスト装置3はNANDメモリ16の領域16Cに
書き込まれているブートローダ300を読み出し、ブートローダ300の情報をもとに、
通常時OS100Aと緊急時OS100Bのどちらがホスト装置3における領域6Aにロ
ードされるかが決定される。そのためには、ブートローダ300には読み出すべきOSの
LBAを示すOSポインタ情報OSPTを保持させておく。ホスト装置3はブートローダ
300の読み出し時、OSポインタ情報OSPTの示すLBAを開始点として読み出しを
行い、読み出したデータを主メモリ6上の領域6Aに書き込むようにすればよい。ブート
ローダ300は、初期状態では、通常時OS100Aをロードされるように構成されてい
る。SSD2の信頼性が劣化したのち、主メモリ6上の領域6Bに格納された制御ツール
200はNANDメモリ16上の領域16Cに記憶されているブートローダ300を書き
換えて、緊急時OS100Bを読み出すようにブートローダ300を再構築する。ブート
ローダ300として、たとえばマスターブートレコード(MBR)を採用してもよいし、
GUIDパーティションテーブル(GPT)を採用してもよい。
When the computer system 1 is started up, such as when the computer system 1 is turned on or when the OS is restarted, the host device 3 reads the boot loader 300 written in the area 16C of the NAND memory 16 and reads the boot loader. Based on 300 information,
It is determined which of the normal OS 100A and the emergency OS 100B is loaded into the area 6A in the host device 3. For this purpose, the boot loader 300 holds OS pointer information OSPT indicating the LBA of the OS to be read. When reading from the boot loader 300, the host device 3 may read the LBA indicated by the OS pointer information OSPT as a starting point and write the read data to the area 6A on the main memory 6. The boot loader 300 is configured to be loaded with the normal-time OS 100A in the initial state. After the reliability of the SSD 2 deteriorates, the control tool 200 stored in the area 6B on the main memory 6 rewrites the boot loader 300 stored in the area 16C on the NAND memory 16 to read the emergency OS 100B. Rebuild 300. For example, a master boot record (MBR) may be adopted as the boot loader 300,
A GUID partition table (GPT) may be adopted.

ホスト装置3に複数の不揮発性記憶装置が接続されている場合は、OSは、SSD2と
は別の不揮発性記憶装置20に格納されていてもよい。たとえば、図8に示すように、通
常時OSと緊急時OSの両方が不揮発性記憶装置20に格納されていてもよいし、通常時
OSがSSD2に格納され、緊急時OSが不揮発性記憶装置20に格納されていてもよい
し、通常時OSが不揮発性記憶装置20に格納され、緊急時OSがSSD2に格納されて
いてもよい。特に、不揮発性記憶装置20がOSを格納するシステムドライブとして使用
されており、SSD2が文書や静止画データや動画データなどユーザデータを格納するデ
ータドライブとして使用されている場合は、システムドライブ20にはOSやアプリケー
ションプログラムを主として格納するドライブとして使用し、データドライブ2にはユー
ザデータを格納するドライブとして使用するというように、ドライブ2とドライブ20の
役割を明確に分ける観点で、システムドライブとしての不揮発性記憶装置20に通常時O
Sが格納されていることが望ましく、さらに望ましくは、システムドライブとしての不揮
発性記憶装置20に緊急時OSも格納されていることが望ましい。
When a plurality of nonvolatile storage devices are connected to the host device 3, the OS may be stored in a nonvolatile storage device 20 different from the SSD 2. For example, as shown in FIG. 8, both the normal OS and the emergency OS may be stored in the nonvolatile storage device 20, or the normal OS is stored in the SSD 2, and the emergency OS is a nonvolatile storage device. 20, the normal-time OS may be stored in the nonvolatile storage device 20, and the emergency OS may be stored in the SSD 2. In particular, when the nonvolatile storage device 20 is used as a system drive for storing the OS and the SSD 2 is used as a data drive for storing user data such as documents, still image data, and moving image data, the system drive 20 Is used as a drive that mainly stores the OS and application programs, and the data drive 2 is used as a drive that stores user data. The nonvolatile storage device 20 is normally O
S is preferably stored, and more preferably, the emergency OS is also stored in the nonvolatile storage device 20 as the system drive.

緊急時OSのセットアップをユーザが行う労力を省く観点では、例えば図7や図8に示
したように、緊急時OSがSSD2や不揮発性記憶装置20に格納された状態でコンピュ
ータシステム1が出荷され、店頭に並び、ユーザの手に渡ることが望ましい。一方、ユー
ザが緊急時OSのインストールの可否を選択できるようにする観点、およびユーザに最新
の緊急時OSを提供できるようにするという観点では、緊急時OSは、WEBからのダウ
ンロード、またはDVD−ROMやUSBメモリなど外部記憶媒体からのインストールに
よりSSD2や不揮発性記憶装置20に格納できるようにすることが望ましい。
From the viewpoint of saving the effort for the user to set up the emergency OS, for example, as shown in FIGS. 7 and 8, the computer system 1 is shipped with the emergency OS stored in the SSD 2 or the nonvolatile storage device 20, for example. It is desirable to line up at the store and go into the hands of the user. On the other hand, from the viewpoint of allowing the user to select whether or not the emergency OS can be installed and providing the user with the latest emergency OS, the emergency OS is downloaded from the WEB or DVD- It is desirable that data can be stored in the SSD 2 or the nonvolatile storage device 20 by installation from an external storage medium such as a ROM or a USB memory.

図9はWEBからのダウンロードの一例である。緊急時OSはWEBサーバ21内の記
憶媒体22の領域22Eに格納されており、緊急時OSはインターネットやローカルネッ
トワークや無線LANなどのネットワークを介して、たとえばLANコントローラ12を
経由してSSD2のNANDメモリ16上の領域16Eにダウンロードまたはインストー
ルされる。図8の場合は不揮発性記憶装置20上の領域20Eにダウンロードまたはイン
ストールされる。
FIG. 9 shows an example of downloading from the WEB. The emergency OS is stored in the area 22E of the storage medium 22 in the WEB server 21, and the emergency OS is connected to the NAND of the SSD 2 via the LAN controller 12 via a network such as the Internet, a local network, or a wireless LAN. It is downloaded or installed in the area 16E on the memory 16. In the case of FIG. 8, it is downloaded or installed in the area 20E on the nonvolatile storage device 20.

図10はDVD−ROMやCD−ROMなど光学メディアからのインストールの一例で
ある。緊急時OSはDVD−ROMやCD−ROMなどの光学メディア23の領域23E
に格納されており、光学メディア23が光学ドライブ10にセットされることで、緊急時
OSは光学ドライブ10を介してSSD2のNANDメモリ16上の領域16E(または
領域20E)にインストールされる。図11はUSBメモリからのインストールの一例で
ある。緊急時OSはUSBメモリ24の領域24Eに格納されており、USBメモリ24
がUSBコントローラ13に接続されることで、緊急時OSはUSBコントローラ13を
介してSSD2のNANDメモリ16上の領域16E(または領域20E)にインストー
ルされる。USBメモリ24のかわりに、SDカードなどその他外部メモリであってもよ
いのはもちろんである。ユーザによる入手容易性の観点から、光学メディア23やUSB
メモリ24はSSD2の出荷時に、付属品としてSSD2と一緒に梱包されて販売される
ことが望ましい。一方、光学メディア23やUSBメモリ24はソフトウェア商品として
単独で販売されてもよいし、雑誌や書籍の付録として付属していてもよい。緊急時OSと
制御ツールは光学メディア23やUSBメモリ24など同一の外部メモリに格納されてい
ることが、インストールの平易さの観点では望ましい。
FIG. 10 shows an example of installation from an optical medium such as a DVD-ROM or CD-ROM. The emergency OS is an area 23E of the optical medium 23 such as a DVD-ROM or CD-ROM.
When the optical medium 23 is set in the optical drive 10, the emergency OS is installed in the area 16E (or area 20E) on the NAND memory 16 of the SSD 2 via the optical drive 10. FIG. 11 shows an example of installation from a USB memory. The emergency OS is stored in the area 24E of the USB memory 24, and the USB memory 24
Is connected to the USB controller 13, the emergency OS is installed in the area 16E (or area 20E) on the NAND memory 16 of the SSD 2 via the USB controller 13. Of course, other external memories such as an SD card may be used instead of the USB memory 24. From the viewpoint of easy availability by the user, optical media 23 and USB
It is preferable that the memory 24 be sold together with the SSD 2 as an accessory when the SSD 2 is shipped. On the other hand, the optical media 23 and the USB memory 24 may be sold alone as software products, or may be attached as magazines or book appendices. The emergency OS and the control tool are preferably stored in the same external memory such as the optical medium 23 and the USB memory 24 from the viewpoint of ease of installation.

図12に、コンピュータシステム1のソフトウェアレベルでの階層構造を示す。主メモ
リ6上にロードされた制御ツール200及びその他ソフトウェア(制御ツール200以外
のソフトウェア)は、通常はSSD2と直接通信せずに、主メモリ6にロードされたOS
100を経由してSSD2と通信する。制御ツール200やその他ソフトウェアがSSD
2に対しリード要求、ライト要求などの命令を送信する必要が生じた場合、制御ツール2
00やその他ソフトウェアは、OS100にファイル単位のアクセス要求を送信する。O
S100はOS100に内包されるファイル管理テーブルを参照し、アクセス要求のあっ
たファイルに対応するSSD2の論理アドレス(LBA)を特定し、対応するLBAを含
む当該インタフェース固有の命令をSSD2に送信する。SSD2から応答が返ってきた
場合、OS100は変換後の当該インタフェース固有の応答がどのソフトウェアに対する
応答かを特定し、特定したソフトウェアに対して応答を返す。
FIG. 12 shows a hierarchical structure at the software level of the computer system 1. The control tool 200 and other software (software other than the control tool 200) loaded on the main memory 6 normally do not directly communicate with the SSD 2 and are loaded on the main memory 6.
Communicate with SSD 2 via 100. Control tool 200 and other software is SSD
When it becomes necessary to transmit a command such as a read request or a write request to 2, the control tool 2
00 and other software transmit an access request for each file to the OS 100. O
S100 refers to the file management table included in OS 100, identifies the logical address (LBA) of SSD2 corresponding to the file for which access is requested, and transmits an instruction specific to the interface including the corresponding LBA to SSD2. When a response is returned from the SSD 2, the OS 100 identifies to which software the interface-specific response after conversion is a response, and returns a response to the identified software.

次に、コンピュータシステム1の構成例について説明する。コンピュータシステム1は
、例えば、デスクトップコンピュータやノートブック型のポータブルコンピュータとして
実現し得る。図13は、コンピュータシステム1としてのデスクトップコンピュータの概
略図である。デスクトップコンピュータは、コンピュータ本体31、ディスプレイ9、キ
ーボード14、及びマウス15などを備えている。コンピュータ本体31は、主要なハー
ドウェアが搭載されたマザーボード30、SSD2、及び電源装置32などを備えている
。SSD2は、SATAケーブルを介してマザーボード30に物理的に接続され、マザー
ボード30上に実装されたサウスブリッジ7を介して、同じくマザーボード上に実装され
たCPU4に電気的に接続されている。電源装置32は、デスクトップコンピュータで使
用される各種電源を発生し、電源ケーブルを介してマザーボード30やSSD2などに電
源を供給する。
Next, a configuration example of the computer system 1 will be described. The computer system 1 can be realized, for example, as a desktop computer or a notebook portable computer. FIG. 13 is a schematic diagram of a desktop computer as the computer system 1. The desktop computer includes a computer main body 31, a display 9, a keyboard 14, a mouse 15, and the like. The computer main body 31 includes a mother board 30 on which main hardware is mounted, an SSD 2, a power supply device 32, and the like. The SSD 2 is physically connected to the mother board 30 via a SATA cable, and is electrically connected to the CPU 4 also mounted on the mother board via the south bridge 7 mounted on the mother board 30. The power supply device 32 generates various power sources used in the desktop computer and supplies power to the mother board 30 and the SSD 2 through a power cable.

図14は、コンピュータシステム1としてのポータブルコンピュータの概略図である。
ポータブルコンピュータは、コンピュータ本体34、ディスプレイユニット35などから
構成されている。ディスプレイユニット35は、例えばLCD(Liquid Crystal Display
)で構成される表示装置9が組み込まれている。ディスプレイユニット35は、コンピュ
ータ本体34に対し、この本体34の上面が露出される開放位置と本体34の上面を覆う
閉塞位置との間を回動自由に取り付けられている。本体34は薄い箱形の筐体を有してお
り、その上面には、電源スイッチ36、キーボード14、タッチパッド33等が配置され
ている。また、本体34も、デスクトップコンピュータと同様に、SSD2、マザーボー
ド、及び電源装置などを備えている。
FIG. 14 is a schematic diagram of a portable computer as the computer system 1.
The portable computer includes a computer main body 34, a display unit 35, and the like. The display unit 35 is, for example, an LCD (Liquid Crystal Display).
) Is incorporated. The display unit 35 is attached to the computer main body 34 so as to freely rotate between an open position where the upper surface of the main body 34 is exposed and a closed position covering the upper surface of the main body 34. The main body 34 has a thin box-shaped housing, and the power switch 36, the keyboard 14, the touch pad 33, and the like are disposed on the upper surface thereof. The main body 34 also includes an SSD 2, a motherboard, a power supply device, and the like, like the desktop computer.

本発明を適用する情報処理機器としては、コンピュータシステム1の他に、スチルカメ
ラ或いはビデオカメラなどの撮像装置などであってもよいし、タブレットコンピュータや
スマートフォンやゲーム機器やカーナビゲーションシステムなどであってもよい。
As the information processing apparatus to which the present invention is applied, in addition to the computer system 1, an imaging apparatus such as a still camera or a video camera may be used. Also good.

つぎに、SSD2の主な構成要素であるNANDメモリ16について説明する。図15
にNANDメモリ16を構成するNANDメモリチップ80の内部構成例を示す。NAN
Dメモリ16は、1以上の数のNANDメモリチップ80よりなる。NANDメモリチッ
プ80は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイを有する。メ
モリセルアレイを構成するメモリセルトランジスタは、半導体基板上に形成された積層ゲ
ート構造を備えたMOSFET(Metal Oxide Semiconductor Field Effect Transistor
)から構成される。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成され
た電荷蓄積層(浮遊ゲート電極)、及び浮遊ゲート電極上にゲート間絶縁膜を介在して形
成された制御ゲート電極を含んでいる。メモリセルトランジスタは、浮遊ゲート電極に蓄
えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶
する。本実施形態では、個々のメモリセルが上位ページ及び下位ページを使用しての2bi
t/cellの4値記憶方式の書き込み方式である場合について説明するが、個々のメモリセル
が単一ページを使用しての1bit/cellの2値記憶方式の書き込み方式、または上位ページ
及び中位ページ及び下位ページを使用しての3bit/cellの8値記憶方式の書き込み方式で
ある場合、あるいは4bit/cell以上の多値記憶方式の書き込み方式を採用する場合であっ
ても本発明の本質は変わらない。また、メモリセルトランジスタは浮遊ゲート電極を有す
る構造に限らず、MONOS(Metal-Oxide-Nitride-Oxide-Silicon)型など、電荷蓄積
層としての窒化界面に電子をトラップさせることで閾値電圧を調整可能な構造であっても
よい。MONOS型のメモリセルトランジスタについても同様に、1ビットを記憶するよ
うに構成されていてもよいし、多値を記憶するように構成されていてもよい。また、不揮
発性記憶媒体として、特開2010−161199号公報や特開2011−29586号
公報に記述されるような3次元的にメモリセルが配置された半導体記憶媒体であってもよ
い。
Next, the NAND memory 16 which is a main component of the SSD 2 will be described. FIG.
1 shows an example of the internal configuration of the NAND memory chip 80 constituting the NAND memory 16. NAN
The D memory 16 includes one or more NAND memory chips 80. The NAND memory chip 80 has a memory cell array in which a plurality of memory cells are arranged in a matrix. A memory cell transistor constituting a memory cell array is a MOSFET (Metal Oxide Semiconductor Field Effect Transistor) having a stacked gate structure formed on a semiconductor substrate.
). The stacked gate structure includes a charge storage layer (floating gate electrode) formed on a semiconductor substrate with a gate insulating film interposed therebetween, and a control gate electrode formed on the floating gate electrode with an inter-gate insulating film interposed therebetween. It is out. The memory cell transistor changes the threshold voltage according to the number of electrons stored in the floating gate electrode, and stores data according to the difference in the threshold voltage. In this embodiment, each memory cell has 2bi using an upper page and a lower page.
The case of t / cell four-value storage method will be described. However, each memory cell uses a single page for 1 bit / cell binary storage method, or upper page and middle The essence of the present invention is in the case of a 3-bit / cell 8-level storage writing method using pages and lower pages, or even when a multi-value storage writing method of 4 bit / cell or more is adopted does not change. The threshold voltage can be adjusted by trapping electrons at the nitriding interface as a charge storage layer, such as a MONOS (Metal-Oxide-Nitride-Oxide-Silicon) type, as well as a structure having a floating gate electrode. It may be a simple structure. Similarly, the MONOS memory cell transistor may be configured to store one bit or may be configured to store multiple values. Further, the nonvolatile storage medium may be a semiconductor storage medium in which memory cells are arranged three-dimensionally as described in JP 2010-161199 A or JP 2011-29586 A.

図15に示すように、NANDメモリチップ80は、データを記憶するメモリセルをマ
トリックス状に配置してなるメモリセルアレイ82を備えている。メモリセルアレイ82
は複数のビット線と複数のワード線と共通ソース線を含み、ビット線とワード線の交点に
電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモ
リセルアレイ82には、ビット線を制御するためのビット線制御回路83、及びワード線
電圧を制御するためのワード線制御回路85が接続されている。すなわち、ビット線制御
回路83は、ビット線を介してメモリセルアレイ82中のメモリセルのデータを読み出す
一方、ビット線を介してメモリセルアレイ82中のメモリセルに書き込み制御電圧を印加
してメモリセルに書き込みを行う。
As shown in FIG. 15, the NAND memory chip 80 includes a memory cell array 82 in which memory cells for storing data are arranged in a matrix. Memory cell array 82
Includes a plurality of bit lines, a plurality of word lines, and a common source line, and memory cells capable of electrically rewriting data are arranged in a matrix at intersections of the bit lines and the word lines. The memory cell array 82 is connected to a bit line control circuit 83 for controlling the bit lines and a word line control circuit 85 for controlling the word line voltage. That is, the bit line control circuit 83 reads the data of the memory cells in the memory cell array 82 via the bit lines, while applying a write control voltage to the memory cells in the memory cell array 82 via the bit lines. Write.

ビット線制御回路83には、カラムデコーダ84、データ入出力バッファ89及びデー
タ入出力端子88が接続されている。メモリセルアレイ82から読み出されたメモリセル
のデータは、ビット線制御回路83、データ入出力バッファ89を介してデータ入出力端
子88から外部へ出力される。また、外部からデータ入出力端子88に入力された書き込
みデータは、データ入出力バッファ89を介して、カラムデコーダ84によってビット線
制御回路83に入力され、指定されたメモリセルへの書き込みが行われる。
A column decoder 84, a data input / output buffer 89, and a data input / output terminal 88 are connected to the bit line control circuit 83. Data of the memory cell read from the memory cell array 82 is output from the data input / output terminal 88 to the outside via the bit line control circuit 83 and the data input / output buffer 89. Further, write data input from the outside to the data input / output terminal 88 is input to the bit line control circuit 83 by the column decoder 84 via the data input / output buffer 89, and writing to the designated memory cell is performed. .

また、メモリセルアレイ82、ビット線制御回路83、カラムデコーダ84、データ入
出力バッファ89、及びワード線制御回路85は、制御回路86に接続されている。制御
回路86は、制御信号入力端子87に入力される制御信号に従い、メモリセルアレイ82
、ビット線制御回路83、カラムデコーダ84、データ入出力バッファ89、及びワード
線制御回路85を制御するための制御信号及び制御電圧を発生させる。NANDメモリチ
ップ80のうち、メモリセルアレイ82以外の回路部分をNANDコントローラ(NAN
DC)81と呼ぶ。
Further, the memory cell array 82, the bit line control circuit 83, the column decoder 84, the data input / output buffer 89, and the word line control circuit 85 are connected to the control circuit 86. The control circuit 86 is responsive to the control signal input to the control signal input terminal 87 to provide a memory cell array 82.
A control signal and a control voltage for controlling the bit line control circuit 83, the column decoder 84, the data input / output buffer 89, and the word line control circuit 85 are generated. Of the NAND memory chip 80, circuit portions other than the memory cell array 82 are connected to a NAND controller (NAN).
DC) 81.

図16は、図15に示すメモリセルアレイ82の構成を示している。メモリセルアレイ
82はNANDセル型メモリセルアレイであり、複数のNANDセルを含んで構成されて
いる。1つのNANDセルは、直列接続されたメモリセルからなるメモリストリングMS
と、その両端に接続される選択ゲートS1、S2とにより構成されている。選択ゲートS
1はビット線BLに接続され、選択ゲートS2はソース線SRCに接続されている。同一
のロウに配置されたメモリセルMCの制御ゲートはワード線WL0〜WLm-1に共通接続さ
れている。また、第1の選択ゲートS1はセレクト線SGDに共通接続され、第2の選択
ゲートS2はセレクト線SGSに共通接続されている。
FIG. 16 shows a configuration of the memory cell array 82 shown in FIG. The memory cell array 82 is a NAND cell type memory cell array, and includes a plurality of NAND cells. One NAND cell is a memory string MS composed of memory cells connected in series.
And selection gates S1 and S2 connected to both ends thereof. Select gate S
1 is connected to the bit line BL, and the selection gate S2 is connected to the source line SRC. The control gates of the memory cells MC arranged in the same row are commonly connected to the word lines WL0 to WLm-1. The first selection gate S1 is commonly connected to the select line SGD, and the second selection gate S2 is commonly connected to the select line SGS.

メモリセルアレイ82は、1または複数のプレーンを含んでおり、プレーンは複数のブ
ロックを含んでいる。各ブロックは、複数のNANDセルにより構成され、このブロック
単位でデータが消去される。
The memory cell array 82 includes one or a plurality of planes, and the plane includes a plurality of blocks. Each block includes a plurality of NAND cells, and data is erased in units of blocks.

また、1つのワード線に接続された複数のメモリセルは、1物理セクタを構成する。こ
の物理セクタ毎にデータが書き込まれ、読み出される(この物理セクタは、後述するLB
Aの論理セクタとは無関係である)。1物理セクタには、2bit/cell書き込み方式(4値
)の場合例えば2ページ分のデータが記憶される。一方、1bit/cell書き込み方式(2値
)の場合は、1物理セクタに例えば1ページ分のデータが記憶され、3bit/cell書き込み
方式(8値)の場合、1物理セクタに例えば3ページ分のデータが記憶される。
A plurality of memory cells connected to one word line constitute one physical sector. Data is written and read for each physical sector (this physical sector is an LB described later).
A has no relation to the logical sector of A). One physical sector stores, for example, data for two pages in the case of the 2-bit / cell write method (four values). On the other hand, in the case of the 1 bit / cell write method (binary), for example, one page of data is stored in one physical sector, and in the case of the 3 bit / cell write method (eight values), for example, three pages are stored in one physical sector. Data is stored.

リード動作、プログラムベリファイ動作及びプログラム動作時において、後述のSSD
C41から受信した物理アドレスに応じて、1本のワード線が選択され、1物理セクタが
選択される。この物理セクタ内のページの切り替えは物理アドレスによって行われる。本
実施形態ではNANDメモリ16は2bit/cell書き込み方式であり、SSDC41は物理
セクタには上位ページ(Upper Page)と下位ページ(Lower Page)の2ページが物理ペー
ジとして割り当てられていると取扱い、それら全ページに対して物理アドレスが割り当て
られている。
In the read operation, the program verify operation, and the program operation, the SSD described later
One word line is selected according to the physical address received from C41, and one physical sector is selected. Switching of pages in the physical sector is performed by a physical address. In this embodiment, the NAND memory 16 is a 2-bit / cell write system, and the SSDC 41 treats that two pages of an upper page (Upper Page) and a lower page (Lower Page) are assigned as physical pages to the physical sector. Physical addresses are assigned to all pages.

2bit/cellの4値NANDメモリは、1つのメモリセルにおける閾値電圧が、4通りの
分布を持ち得るように構成されている。図17は、4値NANDセル型フラッシュメモリ
のメモリセルに記憶される2ビットの4値データ(データ“11”、“01”、“10”
、“00”)とメモリセルの閾値電圧分布との関係を示している。なお、図17において
、VA1は、下位ページのみ書き込み済みで上位ページが未書き込みの物理セクタについ
て、2つのデータを読み出す場合に選択ワード線に印加される電圧であり、VA1Vは、
A1への書き込みを行う場合において、書き込みが完了したかどうかを確認するために印
加されるベリファイ電圧を示している。
The 4-bit NAND memory of 2 bits / cell is configured so that the threshold voltage in one memory cell can have four distributions. FIG. 17 shows two-bit quaternary data (data “11”, “01”, “10”) stored in the memory cell of the quaternary NAND cell type flash memory.
, “00”) and the threshold voltage distribution of the memory cell. In FIG. 17, V A1 is a voltage applied to the selected word line when reading two data for a physical sector in which only the lower page has been written and the upper page has not been written, and V A1V is
In the case of writing to A1, the verify voltage applied to check whether the writing is completed is shown.

また、VA2、VB2、VC2は、下位ページと上位ページが書き込み済みの物理セク
タについて、4つのデータを読み出す場合に選択ワード線に印加される電圧であり、V
2V、VB2V、VC2Vは、各閾値電圧分布への書き込みを行う場合において、書き込
みが完了したかどうかを確認するために印加されるベリファイ電圧を示している。また、
Vread1、Vread2は、データの読み出しを行う場合に、NANDセル中の非選
択メモリセルに対し印加され、その保持データに拘わらず当該非選択メモリセルを導通さ
せる読み出し電圧を示している。さらに、Vev1、Vev2は、メモリセルのデータを
消去する場合において、その消去が完了したか否かを確認するためメモリセルに印加され
る消去ベリファイ電圧であり、負の値を有する。その大きさは、隣接メモリセルの干渉の
影響を考慮して決定される。上述の各電圧の大小関係は、
Vev1<VA1<VA1V<Vread1
Vev2<VA2<VA2V<VB2<VB2V<VC2<VC2V<Vread2
である。
Also, V A2, V B2, V C2 , the lower page and upper page for written physical sector, a voltage applied to the selected word line when reading four data, V A
2V , V B2V , and V C2V indicate verify voltages that are applied to check whether or not the writing is completed when writing to each threshold voltage distribution. Also,
Vread1 and Vread2 are read voltages that are applied to unselected memory cells in the NAND cell when data is read, and make the unselected memory cells conductive regardless of the retained data. Furthermore, Vev1 and Vev2 are erase verify voltages applied to the memory cells to confirm whether or not the erase has been completed when erasing the data in the memory cells, and have negative values. The size is determined in consideration of the influence of interference between adjacent memory cells. The magnitude relationship between the above voltages is as follows:
Vev1 <V A1 <V A1V < Vread1
Vev2 <V A2 <V A2V <V B2 <V B2V <V C2 <V C2V <Vread2
It is.

なお、消去ベリファイ電圧Vev1、Vev2、Vev3は前述の通り負の値であるが
、実際に消去ベリファイ動作においてメモリセルMCの制御ゲートに印加される電圧は、
負の値ではなく、ゼロ又は正の値である。すなわち、実際の消去ベリファイ動作において
は、メモリセルMCのバックゲートに正の電圧を与え、メモリセルMCの制御ゲートには
、ゼロ又はバックゲート電圧より小さい正の値の電圧を印加している。換言すれば、消去
ベリファイ電圧Vev1、Vev2、Vev3は、等価的に負の値を有する電圧である。
Although the erase verify voltages Vev1, Vev2, and Vev3 are negative values as described above, the voltage actually applied to the control gate of the memory cell MC in the erase verify operation is
It is zero or positive, not negative. That is, in an actual erase verify operation, a positive voltage is applied to the back gate of the memory cell MC, and a positive voltage smaller than zero or the back gate voltage is applied to the control gate of the memory cell MC. In other words, the erase verify voltages Vev1, Vev2, and Vev3 are equivalently negative voltages.

ブロック消去後のメモリセルの閾値電圧分布ERは、その上限値も負の値であり、デー
タ“11”が割り当てられる。下位ページおよび上位ページ書き込み状態のデータ“11
”、“01”、“10”、“00”のメモリセルは、それぞれ正の閾値電圧分布ER2、
A2、B2、C2を有し(A2、B2、C2の下限値も正の値である)、データ“01”
の閾値電圧分布A2が最も電圧値が低く、データ“00”の閾値電圧分布C2が最も電圧
値が高く、各種閾値電圧分布の電圧値はA2<B2<C2の関係を有する。下位ページ書
き込みかつ上位ページ未書き込み状態のデータ“10”のメモリセルは、正の閾値電圧分
布A1を有する(A1の下限値も正の値である)。なお、図17に示す閾値電圧分布はあ
くまでも一例であって、本発明はこれに限定されるものではない。例えば、図17では閾
値電圧分布A2,B2,C2は全て正の閾値電圧分布であるとして説明したが、閾値電圧
分布A2は負の電圧の分布であり、閾値電圧分布B2、C2が正の電圧の分布であるよう
な場合も、本発明の範囲に含まれる。また、閾値電圧分布ER1・ER2は正の値であっ
たとしても、本発明はこれに限定されるものではない。また、本実施形態ではER2、A
2、B2、C2のデータの対応関係がそれぞれ“11”、“01”、“10”、“00”
であるとしているが、たとえばそれぞれ“11”、“01” 、“00”、“10”であ
るような他の対応関係であってもよい。
The upper limit value of the threshold voltage distribution ER of the memory cell after the block erase is also a negative value, and data “11” is assigned. Lower page and upper page write state data “11”
”,“ 01 ”,“ 10 ”,“ 00 ”memory cells have positive threshold voltage distributions ER2,
A2, B2, and C2 (the lower limit values of A2, B2, and C2 are also positive values), and data “01”
The threshold voltage distribution A2 has the lowest voltage value, the threshold voltage distribution C2 of data “00” has the highest voltage value, and the voltage values of the various threshold voltage distributions have a relationship of A2 <B2 <C2. The memory cell of data “10” in the lower page write and upper page non-write state has a positive threshold voltage distribution A1 (the lower limit value of A1 is also a positive value). Note that the threshold voltage distribution shown in FIG. 17 is merely an example, and the present invention is not limited to this. For example, in FIG. 17, the threshold voltage distributions A2, B2, and C2 have been described as being positive threshold voltage distributions. However, the threshold voltage distribution A2 is a negative voltage distribution, and the threshold voltage distributions B2 and C2 are positive voltages. Such a distribution is also included in the scope of the present invention. Moreover, even if the threshold voltage distributions ER1 and ER2 are positive values, the present invention is not limited to this. In this embodiment, ER2, A
2, B2, C2 data corresponding to “11”, “01”, “10”, “00”, respectively.
However, other correspondence relationships such as “11”, “01”, “00”, and “10” may be used.

1つのメモリセルの2ビットデータは、下位ページデータと上位ページデータからなり
、下位ページデータと上位ページデータは別々の書き込み動作、つまり、2回の書き込み
動作により、メモリセルに書き込まれる。データを“*@”と標記するとき、*は上位ペ
ージデータを、@は下位ページデータを表している。
The 2-bit data of one memory cell includes lower page data and upper page data, and the lower page data and the upper page data are written into the memory cell by separate write operations, that is, two write operations. When data is marked as “* @”, * represents upper page data and @ represents lower page data.

まず、下位ページデータの書き込みを、図17の1段目〜2段目を参照して説明する。
全てのメモリセルは、消去状態の閾値電圧分布ERを有し、データ“11”を記憶してい
るものとする。図17に示すように、下位ページデータの書き込みを行うと、メモリセル
の閾値電圧分布ERは、下位ページデータの値(“1”、或いは“0”)に応じて、2つ
の閾値電圧分布(ER1、A1)に分けられる。下位ページデータの値が“1”の場合に
は、消去状態の閾値電圧分布ERを維持するのでER1=ERであるが、ER1>ERで
あってもよい。
First, writing of lower page data will be described with reference to the first to second stages in FIG.
All the memory cells have an erased threshold voltage distribution ER and store data “11”. As shown in FIG. 17, when lower page data is written, the threshold voltage distribution ER of the memory cell is divided into two threshold voltage distributions (“1” or “0”) according to the value (“1” or “0”) of the lower page data. ER1, A1). When the value of the lower page data is “1”, the threshold voltage distribution ER in the erased state is maintained, so ER1 = ER. However, ER1> ER may be satisfied.

一方、下位ページデータの値が“0”の場合には、メモリセルのトンネル酸化膜に高電
界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vth
を所定量だけ上昇させる。具体的には、ベリファイ電位VA1Vを設定し、このベリファ
イ電圧VA1V以上の閾値電圧となるまで書き込み動作が繰り返される。その結果、メモ
リセルは、書き込み状態(データ“10”)に変化する。書き込み動作を所定回繰り返し
ても閾値電圧に到達しなかった場合(または閾値電圧に到達しないメモリセル数が所定値
以上の場合)、当該物理ページに対する書き込みは「書き込みエラー」となる。
On the other hand, when the value of the lower page data is “0”, a high electric field is applied to the tunnel oxide film of the memory cell, electrons are injected into the floating gate electrode, and the threshold voltage Vth of the memory cell.
Is raised by a predetermined amount. Specifically, the verify potential V A1V is set, and the write operation is repeated until the threshold voltage becomes equal to or higher than the verify voltage V A1V . As a result, the memory cell changes to a write state (data “10”). If the threshold voltage is not reached even after repeating the write operation a predetermined number of times (or if the number of memory cells that do not reach the threshold voltage is equal to or greater than the predetermined value), writing to the physical page is a “write error”.

次に、上位ページデータの書き込みを、図17の2段目〜3段目を参照して説明する。
上位ページデータの書き込みは、チップの外部から入力される書き込みデータ(上位ペー
ジデータ)と、メモリセルに既に書き込まれている下位ページデータとに基づいて行われ
る。
Next, writing of upper page data will be described with reference to the second to third stages in FIG.
The upper page data is written based on write data (upper page data) input from the outside of the chip and lower page data already written in the memory cell.

即ち、図17の2段目〜3段目に示すように、上位ページデータの値が“1”の場合に
は、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧
Vthの上昇を防止する。その結果、データ“11”(消去状態の閾値電圧分布ER1)
のメモリセルは、データ“11”をそのまま維持し(ER2)、データ“10”(閾値電
圧分布A1)のメモリセルは、データ“10”をそのまま維持する(B2)。ただし、各
分布間の電圧マージンを確保するという点で、上述のベリファイ電圧VA1Vよりも大き
い正のベリファイ電圧VB2Vを用いて閾値電圧分布の下限値を調整し、これにより閾値
電圧分布の幅を狭めた閾値電圧分布B2を形成するのが望ましい。下限値調整を所定回繰
り返しても敷地電圧に到達しなかった場合(または閾値電圧に到達しないメモリセル数が
所定値以上の場合)、当該物理ページに対する書き込みは「書き込みエラー」となる。
That is, as shown in the second to third stages of FIG. 17, when the value of the upper page data is “1”, a high electric field is not applied to the tunnel oxide film of the memory cell, and the threshold voltage of the memory cell is set. Prevent rise in Vth. As a result, data “11” (threshold voltage distribution ER1 in the erased state)
The memory cell of “1” maintains the data “11” as it is (ER2), and the memory cell of the data “10” (threshold voltage distribution A1) maintains the data “10” as it is (B2). However, in terms of ensuring the voltage margin between the distribution, by adjusting the lower limit of the threshold voltage distribution with a large positive verify voltage V B2V than above verify voltage V A1V, thereby the width of the threshold voltage distribution It is desirable to form a threshold voltage distribution B2 with a narrowing. If the site voltage is not reached even after the lower limit adjustment is repeated a predetermined number of times (or if the number of memory cells that do not reach the threshold voltage is greater than or equal to the predetermined value), writing to the physical page becomes a “write error”.

一方、上位ページデータの値が“0”の場合には、メモリセルのトンネル酸化膜に高電
界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vth
を所定量だけ上昇させる。具体的には、ベリファイ電位VA2V、VC2Vを設定し、こ
のベリファイ電圧VA1V以上の閾値電圧となるまで書き込み動作が繰り返される。その
結果、データ“11”(消去状態の閾値電圧分布ER1)のメモリセルは、閾値電圧分布
A2のデータ“01”に変化し、データ“10”(A1)のメモリセルは、閾値電圧分布
C2のデータ“00”に変化する。このとき、ベリファイ電圧VA2V、VC2Vが用い
られて、閾値電圧分布A2、C2の下限値が調整される。書き込み動作を所定回繰り返し
ても敷地電圧に到達しなかった場合(または閾値電圧に到達しないメモリセル数が所定値
以上の場合)、当該物理ページに対する書き込みは「書き込みエラー」となる。
On the other hand, when the value of the upper page data is “0”, a high electric field is applied to the tunnel oxide film of the memory cell, electrons are injected into the floating gate electrode, and the threshold voltage Vth of the memory cell.
Is raised by a predetermined amount. Specifically, the verify potentials V A2V and V C2V are set, and the write operation is repeated until the threshold voltage becomes equal to or higher than the verify voltage V A1V . As a result, the memory cell with the data “11” (threshold voltage distribution ER1 in the erased state) changes to the data “01” with the threshold voltage distribution A2, and the memory cell with the data “10” (A1) has the threshold voltage distribution C2. The data changes to “00”. At this time, the verify voltages V A2V and V C2V are used to adjust the lower limit values of the threshold voltage distributions A2 and C2. If the site voltage is not reached even after repeating the write operation a predetermined number of times (or if the number of memory cells that do not reach the threshold voltage is equal to or greater than the predetermined value), writing to the physical page becomes a “write error”.

一方、消去動作においては、消去ベリファイ電位Vevを設定し、このベリファイ電圧
Vev以下の閾値電圧となるまで消去動作が繰り返される。その結果、メモリセルは、書
き込み状態(データ“00”)に変化する。消去動作を所定回繰り返しても敷地電圧に到
達しなかった場合(または閾値電圧に到達しないメモリセル数が所定値以上の場合)、当
該物理ページに対する消去は「消去エラー」となる。
On the other hand, in the erase operation, the erase verify potential Vev is set, and the erase operation is repeated until the threshold voltage becomes equal to or lower than the verify voltage Vev. As a result, the memory cell changes to a write state (data “00”). If the site voltage is not reached even if the erase operation is repeated a predetermined number of times (or if the number of memory cells that do not reach the threshold voltage is greater than or equal to a predetermined value), the erase for the physical page is an “erase error”.

以上が、一般的な4値記憶方式におけるデータ書き込み方式の一例である。3ビット以
上の多ビット記憶方式においても、上記の動作に更に上位のページデータに応じ、閾値電
圧分布を8通り以上に分割する動作が加わるのみであるので、基本的な動作は同様である
The above is an example of a data writing method in a general four-value storage method. Even in a multi-bit storage system of 3 bits or more, the basic operation is the same because only the operation of dividing the threshold voltage distribution into 8 or more types is added to the above operation according to the higher-order page data.

つぎに、SSD2の構成例について説明する。図18に示すように、SSD2は、不揮
発性半導体メモリとしてのNAND型フラッシュメモリ(以下NANDメモリと略す)1
6と、ATAインタフェース19を介してホスト装置3との信号の送受信を行うインタフ
ェースコントローラ(IFC)42と、インタフェースコントローラ42とNANDメモ
リ16との中間バッファとして機能するキャシュメモリ(CM)46を有する半導体メモ
リとしてのRAM(Random Access Memory)40と、NANDメモリ16及びRAM40
の管理、制御、及びインタフェースコントローラ42の制御を司るSSDコントローラ(
SSDC)41と、これら構成要素を接続するバス43を備える。
Next, a configuration example of the SSD 2 will be described. As shown in FIG. 18, the SSD 2 is a NAND flash memory (hereinafter abbreviated as a NAND memory) 1 as a nonvolatile semiconductor memory.
6 and an interface controller (IFC) 42 that transmits and receives signals to and from the host device 3 via the ATA interface 19, and a cache memory (CM) 46 that functions as an intermediate buffer between the interface controller 42 and the NAND memory 16. RAM (Random Access Memory) 40 as memory, NAND memory 16 and RAM 40
Management, control, and control of the interface controller 42 SSD controller (
SSDC) 41 and a bus 43 for connecting these components.

RAM40としては、DRAM(Dynamic Random Access Memory)、SRAM(Static
Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MR
AM(Magnetoresistive Random Access Memory)、PRAM(Phase Change Random Acc
ess Memory)などを採用することができる。RAM40はSSDC41に含まれてもよい
The RAM 40 includes DRAM (Dynamic Random Access Memory), SRAM (Static
Random Access Memory), FeRAM (Ferroelectric Random Access Memory), MR
AM (Magnetoresistive Random Access Memory), PRAM (Phase Change Random Acc
ess Memory) or the like. The RAM 40 may be included in the SSDC 41.

NANDメモリ16は、複数のNANDメモリチップ80からなり、ホスト装置3によ
って指定されたユーザデータを記憶したり、ユーザデータを管理する管理テーブルを記憶
したり、RAM40で管理される管理情報をバックアップ用に記憶したりする。NAND
メモリ16は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイ82を有
し、個々のメモリセルは上位ページ及び下位ページを使用して多値記憶が可能である。N
ANDメモリ16は、複数のメモリチップによって構成され、各メモリチップは、データ
消去の単位であるブロックを複数配列して構成される。また、NANDメモリ16では、
ページごとにデータの書き込み及びデータの読み出しが行われる。ブロックは、複数のペ
ージによって構成されている。
The NAND memory 16 includes a plurality of NAND memory chips 80, stores user data designated by the host device 3, stores a management table for managing user data, and backups management information managed by the RAM 40. Or remember. NAND
The memory 16 has a memory cell array 82 in which a plurality of memory cells are arranged in a matrix, and each memory cell can store multiple values using an upper page and a lower page. N
The AND memory 16 is constituted by a plurality of memory chips, and each memory chip is constituted by arranging a plurality of blocks which are data erasing units. In the NAND memory 16,
Data writing and data reading are performed for each page. The block is composed of a plurality of pages.

RAM40は、ホスト装置3とNANDメモリ16間でのデータ転送用キャッシュとし
て機能するキャッシュメモリ(CM)46を有する。また、RAM40は、管理情報記憶
用メモリ及び作業領域用メモリとして機能する。RAM40の領域40Aで管理される管
理テーブルは、NANDメモリ16の領域40Mに記憶されている各種管理テーブルがS
SD2起動時などに展開されたものであり、定期的あるいは電源断時にNANDメモリ1
6の領域40Mに退避保存される。
The RAM 40 includes a cache memory (CM) 46 that functions as a cache for data transfer between the host device 3 and the NAND memory 16. The RAM 40 functions as a management information storage memory and a work area memory. The management table managed in the area 40A of the RAM 40 is the same as the various management tables stored in the area 40M of the NAND memory 16.
It is developed at the time of SD2 startup, etc., and the NAND memory 1 is periodically or when the power is turned off.
6 is saved in the area 40M.

SSDC41は、NANDメモリ16に記憶されたシステムプログラム(ファームウエ
ア)を実行するプロセッサと、各種ハードウェア回路などによってその機能が実現され、
ホスト装置3からのライト要求、キャッシュフラッシュ要求、リード要求等の各種コマン
ドに対するホスト装置3−NANDメモリ16間のデータ転送制御、RAM40及びNA
NDメモリ16に記憶された各種管理テーブルの更新・管理、NANDメモリ16に書き
込むデータのECC符号化、NANDメモリ16から読み出したデータのECC複合化な
どを実行する。
The function of the SSDC 41 is realized by a processor that executes a system program (firmware) stored in the NAND memory 16 and various hardware circuits.
Data transfer control between the host device 3 and the NAND memory 16 in response to various commands such as a write request, a cache flush request, and a read request from the host device 3, the RAM 40, and the NA
Update and management of various management tables stored in the ND memory 16, ECC encoding of data written to the NAND memory 16, ECC decoding of data read from the NAND memory 16, and the like are executed.

ホスト装置3はSSD2に対し、リード要求またはライト要求を発行する際には、AT
Aインタフェース19を介して論理アドレスとしてのLBA(Logical Block Addressing
)を入力する。LBAは、論理セクタ(サイズ:例えば512B)に対して0からの通し
番号をつけた論理アドレスである。また、ホスト装置3はSSD2に対し、リード要求ま
たはライト要求を発行する際には、LBAと併せて、リード要求またはライト要求の対象
となる論理セクタサイズを入力する。
When the host device 3 issues a read request or write request to the SSD 2, the AT 3
LBA (Logical Block Addressing) as a logical address via the A interface 19
). LBA is a logical address in which a serial number from 0 is assigned to a logical sector (size: for example, 512 B). Further, when issuing a read request or a write request to the SSD 2, the host device 3 inputs a logical sector size that is a target of the read request or the write request together with the LBA.

IFC42は、ホスト装置3からのリード要求、ライト要求、その他要求及びデータを
受信し、受信した要求やデータをSSDC41に送信したり、SSDC41の制御により
RAM40にデータを送信したりする機能を持つ。
The IFC 42 has a function of receiving a read request, a write request, and other requests and data from the host device 3 and transmitting the received request and data to the SSDC 41 or transmitting data to the RAM 40 under the control of the SSDC 41.

図19にSSD2で使用する管理情報の構成を示す。これらの管理情報は、前述したよ
うに、NANDメモリ16の領域40Mで不揮発記憶されている。領域40Mで記憶され
た管理情報がSSD2の起動時にRAM40の領域40Aに展開されて使用される。領域
40Aの管理情報44は、定期的あるいは電源断時に領域40Mに退避保存される。RA
M40がMRAMやFeRAMなどのような不揮発RAMである場合には、この管理情報
44はRAM40にのみ記憶されるようにしてもよく、この場合はこの管理情報44はN
ANDメモリ16には記憶されない。NANDメモリ16への書き込み量を少なくするた
めには、管理情報45に記憶されるデータは、RAM40の領域40Aに記憶されている
データを圧縮したものであることが望ましい。また、NANDメモリ16への書き込み頻
度を少なくするためには、管理情報45には、RAM40の領域40Aに記憶されている
管理情報44の更新情報(差分情報)を追記するようにすることが望ましい。
FIG. 19 shows the configuration of management information used in SSD2. The management information is stored in a nonvolatile manner in the area 40M of the NAND memory 16 as described above. The management information stored in the area 40M is expanded and used in the area 40A of the RAM 40 when the SSD 2 is activated. The management information 44 in the area 40A is saved and saved in the area 40M periodically or when the power is turned off. RA
When M40 is a nonvolatile RAM such as MRAM or FeRAM, the management information 44 may be stored only in the RAM 40. In this case, the management information 44 is N
It is not stored in the AND memory 16. In order to reduce the amount of writing to the NAND memory 16, it is desirable that the data stored in the management information 45 is a compressed version of the data stored in the area 40 </ b> A of the RAM 40. In order to reduce the frequency of writing to the NAND memory 16, it is desirable to add update information (difference information) of the management information 44 stored in the area 40 </ b> A of the RAM 40 to the management information 45. .

図19に示すように、管理情報は、フリーブロックテーブル(FBT)60と、バッド
ブロックテーブル(BBT)61と、アクティブブロックテーブル(ABT)62と、ト
ラックテーブル(トラック単位の論物変換テーブル)63と、クラスタテーブル(クラス
タ単位の論物変換テーブル)64、統計情報65を含む。
As shown in FIG. 19, the management information includes free block table (FBT) 60, bad block table (BBT) 61, active block table (ABT) 62, and track table (logical / physical conversion table for each track) 63. And a cluster table (logical-physical conversion table for each cluster) 64 and statistical information 65.

LBAは、図20に示すように、論理セクタ(サイズ:例えば512B)に対して0か
らの通し番号をつけた論理アドレスである。本実施形態においては、SSD2の論理アド
レス(LBA)の管理単位として、LBAの下位(s+1)ビット目から上位のビット列
で構成されるクラスタアドレスと、LBAの下位(s+t+1)ビットから上位のビット
列で構成されるトラックアドレスとを定義する。すなわち、論理セクタは、ホスト装置3
からの最小アクセス単位である。クラスタは、SSD内部で「小さなデータ」を管理する
管理単位であり、論理セクタサイズの自然数倍がクラスタサイズとなるように定められる
。また、トラックは、SSD内部で「大きなデータ」を管理する管理単位であり、クラス
タサイズの2以上の自然数倍がトラックサイズとなるように定められる。したがって、ト
ラックアドレスはLBAをトラックサイズで割ったものであり、トラック内アドレスはL
BAをトラックサイズで割った余りであり、クラスタアドレスはLBAをクラスタサイズ
で割ったものであり、クラスタ内アドレスはLBAをクラスタサイズで割った余りである
。以下の説明では、便宜上、トラックのサイズは1物理ブロックに記録可能なデータのサ
イズに等しい(物理ブロックにSSDC41で行うECC処理の冗長ビットが含まれる場
合はこれを除いたサイズ)とし、クラスタのサイズは1物理ページに記録可能なデータの
サイズに等しい(物理ページにSSDC41で行うECC処理の冗長ビットが含まれる場
合はこれを除いたサイズ)とする。
As shown in FIG. 20, the LBA is a logical address in which a serial number from 0 is assigned to a logical sector (size: eg, 512B). In this embodiment, the management unit of the logical address (LBA) of SSD 2 is a cluster address composed of the upper bit string from the lower (s + 1) bit of the LBA and an upper bit string from the lower (s + t + 1) bit of the LBA. Define the track address to be configured. That is, the logical sector is the host device 3.
Is the minimum access unit from. The cluster is a management unit for managing “small data” in the SSD, and is determined so that a natural number multiple of the logical sector size becomes the cluster size. A track is a management unit for managing “large data” inside the SSD, and is determined so that a natural number multiple of 2 or more of the cluster size is the track size. Therefore, the track address is LBA divided by the track size, and the track address is L
BA is the remainder obtained by dividing the track size, the cluster address is obtained by dividing the LBA by the cluster size, and the intra-cluster address is the remainder obtained by dividing the LBA by the cluster size. In the following description, for the sake of convenience, the track size is equal to the size of data that can be recorded in one physical block (if the physical block includes redundant bits for ECC processing performed by the SSDC 41), the size of the cluster is assumed. The size is equal to the size of data that can be recorded on one physical page (if the physical page includes redundant bits for ECC processing performed by the SSDC 41, the size is excluded).

フリーブロックテーブル(FBT)60は、NANDメモリ16に書き込みを行うとき
に書き込み用に新規に割り当てることのできるNANDメモリの用途未割り当ての物理ブ
ロック(フリーブロック:FB)のIDを管理する。また、物理ブロックID毎に消去回
数を管理しており、物理ブロックが消去されたとき、当該ブロックの消去回数をインクリ
メントする。
The free block table (FBT) 60 manages IDs of unassigned physical blocks (free blocks: FB) of the NAND memory that can be newly assigned for writing when writing to the NAND memory 16. In addition, the erase count is managed for each physical block ID, and when the physical block is erased, the erase count of the block is incremented.

バッドブロックテーブル(BBT)61は、誤りが多いなど記憶領域として使用できな
い物理ブロック(物理ブロック)としてのバッドブロック(BB)のIDを管理する。F
BT60と同様に物理ブロックID毎に消去回数を管理するようにしてもよい。
The bad block table (BBT) 61 manages the ID of a bad block (BB) as a physical block (physical block) that cannot be used as a storage area due to many errors. F
Similar to BT60, the number of erasures may be managed for each physical block ID.

アクティブブロックテーブル(ABT)62は、用途が割り当てられた物理ブロックで
あるアクティブブロック(AB)を管理する。また、物理ブロックID毎に消去回数を管
理しており、物理ブロックが消去されたとき、当該ブロックの消去回数をインクリメント
する。
The active block table (ABT) 62 manages an active block (AB) that is a physical block to which a use is assigned. In addition, the erase count is managed for each physical block ID, and when the physical block is erased, the erase count of the block is incremented.

トラックテーブル63は、トラックアドレスと、このトラックアドレスに対応するトラ
ックデータが記憶される物理ブロックIDとの対応関係を管理する。
The track table 63 manages the correspondence between the track address and the physical block ID in which the track data corresponding to the track address is stored.

クラスタテーブル64は、クラスタアドレスと、このクラスタアドレスに対応するクラ
スタデータが記憶される物理ブロックIDと、このクラスタアドレスに対応するクラスタ
データが記憶される物理ブロック内ページアドレスとの対応関係を管理する。
The cluster table 64 manages the correspondence between the cluster address, the physical block ID in which the cluster data corresponding to the cluster address is stored, and the page address in the physical block in which the cluster data corresponding to the cluster address is stored. .

統計情報65には、SSD2の信頼性に関わる種々のパラメータ(X01〜X24)を
格納する。
The statistical information 65 stores various parameters (X01 to X24) related to the reliability of the SSD2.

統計情報65としては、バッドブロック数総計(統計情報X01)、消去回数総計(統
計情報X02)、消去回数平均値(統計情報X03)、NANDメモリの書き込みエラー
発生回数累積値(統計情報X04)、NANDメモリの消去エラー発生回数累積値(統計
情報X05)、読み出し論理セクタ数総計(統計情報X06)、書き込み論理セクタ数総
計(統計情報X07)、ECC訂正不能回数総計(統計情報X08)、nビット〜mビット
ECC訂正単位総計数(統計情報X09)、SATA通信のRエラー発生回数(統計情報
X10)、SATA通信のエラー発生回数(統計情報X11)、RAM40のエラー発生
回数(統計情報X12)、SSD2の使用時間総計(統計情報X13)、温度が推奨動作
温度の最高値を上回った時間累計(統計情報X14)、温度が推奨動作温度の最低値を下
回った時間累計(統計情報X15)、コマンドの応答時間最大値(統計情報X16)、コ
マンドの応答時間平均値(統計情報X17)、NANDメモリの応答時間最大値(統計情
報X18)、NANDの応答時間平均値(統計情報X19)、現在温度(統計情報X20
)、最高温度(統計情報X21)、最低温度(統計情報X22)、統計情報増加率(統計
情報X23)、NAND整理失敗フラグ(統計情報X24)などが含まれる。
The statistical information 65 includes the total number of bad blocks (statistical information X01), the total number of erasures (statistical information X02), the average number of erasures (statistical information X03), the cumulative number of times of occurrence of write errors in the NAND memory (statistical information X04), NAND memory erase error count cumulative value (statistical information X05), read logical sector count total (statistical information X06), write logical sector count total (statistical information X07), ECC uncorrectable count total (statistical information X08), n bits ~ M-bit ECC correction unit total count (statistical information X09), SATA communication R error occurrence count (statistical information X10), SATA communication error occurrence count (statistical information X11), RAM40 error occurrence count (statistical information X12), Total usage time of SSD2 (statistical information X13), cumulative time when temperature exceeded the maximum recommended operating temperature Statistical information X14), time accumulated when the temperature falls below the minimum recommended operating temperature (statistical information X15), command response time maximum value (statistical information X16), command response time average value (statistical information X17), NAND memory Response time maximum value (statistical information X18), NAND response time average value (statistical information X19), current temperature (statistical information X20)
), Maximum temperature (statistical information X21), minimum temperature (statistical information X22), statistical information increase rate (statistical information X23), NAND rearrangement failure flag (statistical information X24), and the like.

バッドブロック数総計(統計情報X01)について説明する。SSD2内のNANDメ
モリ16の物理ブロックが一つバッドブロックに追加されるごとに統計情報X01が1イ
ンクリメントされる。統計情報X01はSSD2の製造時(検査工程前)にゼロにリセッ
トされていることが望ましく、検査工程でエラーが発生したり、閾値分布の分布間マージ
ンが少ないことが判明したブロックは、あらかじめバッドブロックに加えておくことがさ
らに望ましい。統計情報X01は統計情報65に格納せず、BBT61から直接計算して
もよい。統計情報X01が大きいほど信頼性が悪化していることを示す。
The total number of bad blocks (statistical information X01) will be described. Each time one physical block of the NAND memory 16 in the SSD 2 is added to the bad block, the statistical information X01 is incremented by one. It is desirable that the statistical information X01 is reset to zero at the time of manufacturing the SSD 2 (before the inspection process), and blocks in which an error has occurred in the inspection process or a margin between distributions of the threshold distribution is found to be bad in advance. It is more desirable to add it to the block. The statistical information X01 may be calculated directly from the BBT 61 without being stored in the statistical information 65. The larger the statistical information X01, the worse the reliability.

消去回数総計(統計情報X02)について説明する。統計情報X02はSSD2内のN
ANDメモリ16の全ブロックの消去回数累計値を示す。SSD2内のNANDメモリ1
6の物理ブロックが一つ消去されるごとに統計情報X02が1インクリメントされる。統
計情報X02はSSD2の製造時(検査工程前)にゼロにリセットされていることが望ま
しい。統計情報X02は統計情報65に格納せずFBT60、BBT61、ABT62か
ら直接計算してもよい。統計情報X02が大きいほど信頼性が悪化していることを示す。
The total number of erasures (statistical information X02) will be described. Statistical information X02 is N in SSD2
The cumulative number of erase times of all blocks of the AND memory 16 is shown. NAND memory 1 in the SSD 2
Each time six physical blocks are erased, the statistical information X02 is incremented by one. The statistical information X02 is desirably reset to zero when the SSD 2 is manufactured (before the inspection process). The statistical information X02 may be directly calculated from the FBT 60, BBT 61, and ABT 62 without being stored in the statistical information 65. The larger the statistical information X02 is, the worse the reliability is.

消去回数平均値(統計情報X03)について説明する。統計情報X03はSSD2内の
NANDメモリ16の全ブロックの消去回数の1ブロックあたりの平均値を示す。管理情
報を格納するブロックなど一部のブロックを統計情報X03の集計対象から除外してもよ
い。統計情報X03はSSD2の製造時(検査工程前)にゼロにリセットされていること
が望ましい。統計情報X03は統計情報65に格納せずFBT60、BBT61、ABT
62から直接計算してもよい。統計情報X03が大きいほど信頼性が悪化していることを
示す。
The erase number average value (statistical information X03) will be described. The statistical information X03 indicates an average value per block of the number of erasures of all blocks of the NAND memory 16 in the SSD 2. Some blocks such as a block for storing management information may be excluded from the aggregation target of the statistical information X03. It is desirable that the statistical information X03 is reset to zero when the SSD 2 is manufactured (before the inspection process). Statistical information X03 is not stored in statistical information 65, but FBT60, BBT61, ABT
You may calculate directly from 62. The larger the statistical information X03, the worse the reliability.

NANDメモリの書き込みエラー発生回数累積値(統計情報X04)について説明する
。統計情報X04はSSD2内のNANDメモリ16で書き込みエラーが1書き込み単位
で発生するごとに1加算される(ブロック単位で加算してもよい)。統計情報X04はS
SD2の製造時(検査工程前)にゼロにリセットされていることが望ましい。統計情報X
04が大きいほど信頼性が悪化していることを示す。
A cumulative value of the number of occurrences of write errors in the NAND memory (statistical information X04) will be described. The statistical information X04 is incremented by 1 each time a write error occurs in the write unit in the NAND memory 16 in the SSD 2 (may be added in block units). Statistical information X04 is S
It is desirable to reset to zero at the time of manufacturing SD2 (before the inspection process). Statistical information X
The larger 04, the worse the reliability.

NANDメモリの消去エラー発生回数累積値(統計情報X05)について説明する。統
計情報X05はSSD2製造時(検査工程前)にゼロにリセットされていることが望まし
い。SSD2内のNANDメモリ16で消去エラーが1ブロックで発生するごとに統計情
報X05が1加算される。複数のブロックをまとめて消去単位とし、この消去単位1つで
消去エラーが発生するごとに統計情報X05に1加算するようにしてもよい。統計情報X
05が大きいほど信頼性が悪化していることを示す。
A cumulative value of the number of occurrences of erasure errors in the NAND memory (statistical information X05) will be described. It is desirable that the statistical information X05 is reset to zero when the SSD 2 is manufactured (before the inspection process). Each time an erase error occurs in one block in the NAND memory 16 in the SSD 2, the statistical information X05 is incremented by one. A plurality of blocks may be collectively set as an erasure unit, and 1 may be added to the statistical information X05 every time an erasure error occurs in one erasure unit. Statistical information X
The larger 05, the worse the reliability.

読み出し論理セクタ数総計(統計情報X06)について説明する。統計情報X06はI
FC42が読み出しデータとしてホスト装置3に送信したデータの論理セクタ数合計であ
る。統計情報X06はSSD2製造時(検査工程前)にゼロにリセットされていることが
望ましい。統計情報X06が大きいほど信頼性が悪化していることを示す。
The total number of read logical sectors (statistical information X06) will be described. Statistical information X06 is I
This is the total number of logical sectors of data transmitted by the FC 42 to the host device 3 as read data. The statistical information X06 is desirably reset to zero when the SSD 2 is manufactured (before the inspection process). The larger the statistical information X06, the worse the reliability.

書き込み論理セクタ数総計(統計情報X07)について説明する。統計情報X07はI
FC42が書き込みデータとしてホスト装置3から受信したデータの論理セクタ数合計で
ある。統計情報X07はSSD2の製造時(検査工程前)にゼロにリセットされているこ
とが望ましい。統計情報X07が大きいほど信頼性が悪化していることを示す。
The total number of write logical sectors (statistical information X07) will be described. Statistical information X07 is I
This is the total number of logical sectors of data received from the host device 3 as write data by the FC 42. The statistical information X07 is desirably reset to zero when the SSD 2 is manufactured (before the inspection process). The larger the statistical information X07, the worse the reliability.

ECC訂正不能回数総計(統計情報X08)について説明する。ECC訂正によりエラ
ービットが修復できなかった場合に、1読み出し単位ごとに統計情報X08を1インクリ
メントする。エラー訂正できなかったエラービット数の推定値を加算するようにしてもよ
いし、エラー訂正できなかったブロックの数を加算するようにしてもよい。統計情報X0
8はSSD2製造時(検査工程前)にゼロにリセットされていることが望ましい。統計情
報X08が大きいほど信頼性が悪化していることを示す。
The total number of ECC uncorrectable times (statistical information X08) will be described. If the error bit cannot be repaired by the ECC correction, the statistical information X08 is incremented by 1 for each read unit. An estimated value of the number of error bits that could not be error-corrected may be added, or the number of blocks that could not be error-corrected may be added. Statistical information X0
8 is desirably reset to zero when the SSD 2 is manufactured (before the inspection process). The larger the statistical information X08, the worse the reliability.

nビット〜mビットECC訂正単位総計数(統計情報X09)について説明する。n,
mは自然数で、0≦n≦m≦訂正可能最大ビット数である。ECC訂正単位(たとえば物
理ページ)に対してECC訂正を行った時、全エラービットが正常に修復され、かつ修復
されたエラービット数がn以上m以下である場合、ECC訂正単位1つにつき「nビット
〜mビットECC訂正単位総計数」を1加算する。ECC訂正により1訂正単位につき最
大64ビット訂正可能である場合、たとえば、「1ビット〜8ビットECC訂正単位総計
数」「9ビット〜16ビットECC訂正単位総計数」「17ビット〜24ビットECC訂
正単位総計数」「25ビット〜32ビットECC訂正単位総計数」「33ビット〜40ビ
ットECC訂正単位総計数」「41ビット〜48ビットECC訂正単位総計数」「49ビ
ット〜56ビットECC訂正単位総計数」「57ビット〜64ビットECC訂正単位総計
数」の8つのパラメータを用意し、ECC訂正が正常に行われた場合、1ECC訂正単位
のECC訂正につきこれら8つのパラメータのうちいずれか1つに1がインクリメントさ
れる。統計情報X09はSSD2の製造時(検査工程前)にゼロにリセットされているこ
とが望ましい。統計情報X09が大きいほど信頼性が悪化していることを示す。
The n-bit to m-bit ECC correction unit total count (statistical information X09) will be described. n,
m is a natural number, 0 ≦ n ≦ m ≦ maximum number of bits that can be corrected. When ECC correction is performed on an ECC correction unit (for example, a physical page), if all error bits are normally repaired and the number of repaired error bits is n or more and m or less, “ 1 is added to the “n-bit to m-bit ECC correction unit total count”. When a maximum of 64 bits can be corrected per ECC unit by ECC correction, for example, “1 to 8 bit ECC correction unit total count”, “9 to 16 bit ECC correction unit total count”, and “17 to 24 bit ECC correction” "Total unit count""25-bit to 32-bit ECC correction unit total count""33-bit to 40-bit ECC correction unit total count""41-bit to 48-bit ECC correction unit total count""49-bit to 56-bit ECC correction unit total Number ”“ 57-bit to 64-bit ECC correction unit total count ”is prepared, and when ECC correction is normally performed, one of these eight parameters is set per ECC correction of one ECC correction unit. 1 is incremented. The statistical information X09 is desirably reset to zero when the SSD 2 is manufactured (before the inspection process). The larger the statistical information X09, the worse the reliability.

SATA通信のRエラー発生回数(統計情報X10)について説明する。統計情報X1
0はSATA規格におけるRエラー(Reception Error, R_ERR)が1回発生するごとに1
インクリメントされる。ホストとSSDの間で送受信されるフレームにたとえばCRCエ
ラーなど何らかのエラーがあった場合、Rエラーとしてカウントされる。統計情報X10
として、SATA規格のPhy Event Countersのカウンタのいずれかを採用してもよい。統計情
報X10はSSD2の製造時(検査工程前)にゼロにリセットされていることが望ましい
。統計情報X10が大きいほど信頼性が悪化していることを示す。
The number of R error occurrences (statistical information X10) of SATA communication will be described. Statistical information X1
0 is 1 each time an R error (Reception Error, R_ERR) in the SATA standard occurs.
Incremented. If there is any error such as a CRC error in a frame transmitted and received between the host and the SSD, it is counted as an R error. Statistical information X10
As an alternative, any of the SATA standard Phy Event Counters counters may be employed. It is desirable that the statistical information X10 is reset to zero when the SSD 2 is manufactured (before the inspection process). The larger the statistical information X10, the worse the reliability.

SATA通信のエラー発生回数(統計情報X11)について説明する。その他の(Rエ
ラー以外の)SATA通信での異常が1回発生するごとに1インクリメントされる。たと
えば、ATAインタフェース19やIFC42やSSDC41がSATA Generation3規格と
して設計されているにも関わらず、実際にSSD2やホスト装置3との間でネゴシエーシ
ョンされた通信規格がGeneration2のようなより低速の通信規格であった場合、SATA
通信上のエラーとみなし、統計情報X11を1インクリメントする。統計情報X11はS
SD2の製造時(検査工程前)にゼロにリセットされていることが望ましい。この値が大
きいほど信頼性が悪化していることを示す。
The number of SATA communication errors (statistical information X11) will be described. Each time another abnormality (other than R error) in SATA communication occurs, it is incremented by one. For example, although the ATA interface 19, IFC 42, and SSDC 41 are designed as the SATA Generation 3 standard, the communication standard actually negotiated with the SSD 2 or the host device 3 is a slower communication standard such as Generation 2. If there is, SATA
Assuming a communication error, the statistical information X11 is incremented by one. Statistical information X11 is S
It is desirable to reset to zero at the time of manufacturing SD2 (before the inspection process). The larger this value, the worse the reliability.

RAM40のエラー発生回数(統計情報X12)について説明する。たとえば、RAM
40にECC回路やエラー検知回路を搭載している場合、ECC訂正できなかった旨の信
号やエラー検知された旨の信号をRAM40からSSDC41が受け取った場合、統計情
報X12を1インクリメントする。統計情報X12はSSD2の製造時(検査工程前)に
ゼロにリセットされていることが望ましい。この値が大きいほど信頼性が悪化しているこ
とを示す。
The number of error occurrences (statistical information X12) in the RAM 40 will be described. For example, RAM
When the ECC circuit and the error detection circuit are mounted on 40, when the SSDC 41 receives from the RAM 40 a signal indicating that ECC correction has not been performed or a signal indicating that an error has been detected, the statistical information X12 is incremented by one. It is desirable that the statistical information X12 is reset to zero when the SSD 2 is manufactured (before the inspection process). The larger this value, the worse the reliability.

SSD2の使用時間総計(統計情報X13)について説明する。SSD2の電源がON
になっている間、SSDC41がクロックをカウントしたり内部の時計回路から時刻情報
を受信することで、経過時間をインクリメントする。あるいは、SSDC41がホスト装
置3から定期的にホスト装置3の時刻情報を受信するようにし、その時刻情報の差分をイ
ンクリメントするようにしてもよい。統計情報X13はSSD2製造時(検査工程前)に
ゼロにリセットされていることが望ましい。この値が大きいほど信頼性が悪化しているこ
とを示す。
The total usage time (statistical information X13) of the SSD 2 will be described. SSD2 is powered on
The SSDC 41 increments the elapsed time by counting the clock or receiving the time information from the internal clock circuit. Alternatively, the SSDC 41 may periodically receive the time information of the host device 3 from the host device 3 and increment the difference of the time information. It is desirable that the statistical information X13 is reset to zero when the SSD 2 is manufactured (before the inspection process). The larger this value, the worse the reliability.

推奨動作温度の最高値を上回った時間累計(統計情報X14)について説明する。たと
えば、SSD2の基板上、SSDC41内、NANDメモリ16内など、SSD2内に温
度計が実装されている場合、SSDC41は温度計から定期的に温度情報を受信している
。受信した温度が推奨動作温度(たとえば100℃)を上回った場合、SSDC41はク
ロックや内部の時計やホスト装置3から取得する時刻情報をもとに、推定動作温度以上で
動作している時間数をインクリメントしていく。統計情報X14はSSD2の製造時(検
査工程前)にゼロにリセットされていることが望ましい。この値が大きいほど信頼性が悪
化していることを示す。
The accumulated time (statistical information X14) exceeding the maximum recommended operating temperature will be described. For example, when a thermometer is mounted in the SSD 2 such as in the SSDC 41 or in the NAND memory 16 on the board of the SSD 2, the SSDC 41 periodically receives temperature information from the thermometer. When the received temperature exceeds the recommended operating temperature (for example, 100 ° C.), the SSDC 41 calculates the number of hours of operation above the estimated operating temperature based on the clock, the internal clock, or time information acquired from the host device 3. Increment. It is desirable that the statistical information X14 is reset to zero when the SSD 2 is manufactured (before the inspection process). The larger this value, the worse the reliability.

推奨動作温度の最低値を下回った時間累計(統計情報X15)について説明する。SS
D2内に温度計が実装されている場合、SSDC41は温度計から定期的に温度情報を受
信している。受信した温度が推奨動作温度(たとえば−40℃)を下回った場合、SSD
C41はクロックや内部の時計やホスト装置3から取得する時刻情報をもとに、推定動作
温度以上で動作している時間数をインクリメントしていく。SSD2の製造時(検査工程
前)にゼロにリセットされていることが望ましい。この値が大きいほど信頼性が悪化して
いることを示す。
The cumulative total time (statistical information X15) below the minimum recommended operating temperature will be described. SS
When a thermometer is mounted in D2, the SSDC 41 periodically receives temperature information from the thermometer. If the received temperature falls below the recommended operating temperature (eg -40 ° C), SSD
C41 increments the number of hours of operation above the estimated operating temperature based on the clock, the internal clock, and time information acquired from the host device 3. It is desirable to reset to zero at the time of manufacturing the SSD 2 (before the inspection process). The larger this value, the worse the reliability.

コマンドの応答時間最大値(統計情報X16)について説明する。統計情報X16はホ
スト装置3からコマンドを受信してから、ホスト装置3へ応答するまで(またはコマンド
実行完了するまで)に要した時間(またはクロック数)の最大値である。X16を上回る
応答時間が発生した場合は、この応答時間をX16に上書きする。コマンドそれぞれに対
して統計情報X16を保持してもよい。SSD2の製造時(検査工程前)またはSSD2
の出荷時にはX16がゼロにリセットされていることが望ましい。
The command response time maximum value (statistical information X16) will be described. The statistical information X16 is the maximum value of the time (or the number of clocks) required from receiving a command from the host device 3 to responding to the host device 3 (or until command execution is completed). When a response time exceeding X16 occurs, this response time is overwritten on X16. Statistical information X16 may be held for each command. When manufacturing SSD2 (before inspection process) or SSD2
It is desirable that X16 is reset to zero at the time of shipment.

コマンドの応答時間平均値(統計情報X17)について説明する。統計情報X17は、
ホスト装置3からコマンドを受信してから、ホスト装置3へ応答するまで(またはコマン
ド実行完了するまで)に要した時間(またはクロック数)の平均値である。たとえば応答
時間リストを一定数RAM40に保持しておき、その応答時間リストの平均値を算出する
ことにより得られる。コマンドそれぞれに対して統計情報X17を保持してもよい。SS
D2の製造時(検査工程前)またはSSD2の出荷時にはX17がゼロにリセットされて
いることが望ましい。
The command response time average value (statistical information X17) will be described. Statistical information X17
This is the average value of the time (or the number of clocks) required from receiving a command from the host device 3 to responding to the host device 3 (or until command execution is completed). For example, it is obtained by holding a certain number of response time lists in the RAM 40 and calculating the average value of the response time lists. Statistical information X17 may be held for each command. SS
It is desirable that X17 is reset to zero when D2 is manufactured (before the inspection process) or when SSD2 is shipped.

NANDメモリの応答時間最大値(統計情報X18)について説明する。統計情報X1
8は、SSDC41がNANDメモリ16に命令してから応答を得る(またはコマンド実
行完了通知を受信する)までに要した時間(またはクロック数)の最大値である。X18
を上回る応答時間が発生した場合は、この応答時間をX18に上書きする。コマンドそれ
ぞれに対して統計情報X18を保持してもよい。SSD2の製造時(検査工程前)または
SSD2の出荷時にはX18がゼロにリセットされていることが望ましい。
The response time maximum value (statistical information X18) of the NAND memory will be described. Statistical information X1
8 is the maximum value of the time (or the number of clocks) required from when the SSDC 41 instructs the NAND memory 16 to obtain a response (or to receive a command execution completion notification). X18
If a response time exceeding 1 is generated, this response time is overwritten in X18. Statistical information X18 may be held for each command. It is desirable that X18 is reset to zero when the SSD 2 is manufactured (before the inspection process) or when the SSD 2 is shipped.

NANDの応答時間平均値(統計情報X19)について説明する。統計情報X19は、
SSDC41がNANDメモリ16に命令してから応答を得る(またはコマンド実行完了
通知を受信する)までに要した時間(またはクロック数)の平均値である。たとえば応答
時間リストを一定数RAM40に保持しておき、その応答時間リストの平均値を算出する
ことにより得られる。コマンドそれぞれに対して統計情報X19を保持してもよい。SS
D2の製造時(検査工程前)またはSSD2の出荷時にはX19がゼロにリセットされて
いることが望ましい。
The NAND response time average value (statistical information X19) will be described. Statistical information X19 is
This is an average value of the time (or the number of clocks) required from when the SSDC 41 instructs the NAND memory 16 to obtain a response (or to receive a command execution completion notification). For example, it is obtained by holding a certain number of response time lists in the RAM 40 and calculating the average value of the response time lists. Statistical information X19 may be held for each command. SS
It is desirable that X19 is reset to zero when D2 is manufactured (before the inspection process) or when SSD2 is shipped.

現在温度(統計情報X20)について説明する。SSD2内に温度計が実装されている
場合、SSDC41は温度計から定期的に温度情報を受信する。SSDC41は温度計か
ら最後に受信した温度を現在温度として統計情報X20に保持する。この値が極端に大き
いと(たとえば85℃以上)、SSD2の信頼性に悪影響があり、また、この温度が極端
に小さいと(たとえば−10℃以下)、SSD2の信頼性に悪影響があると判断する。
The current temperature (statistical information X20) will be described. When a thermometer is mounted in the SSD 2, the SSDC 41 periodically receives temperature information from the thermometer. The SSDC 41 holds the temperature received last from the thermometer as the current temperature in the statistical information X20. If this value is extremely large (for example, 85 ° C. or higher), the reliability of the SSD 2 is adversely affected. If the temperature is extremely small (for example, −10 ° C. or lower), the reliability of the SSD 2 is adversely affected. To do.

最高温度(統計情報X21)について説明する。SSDC41は、現在温度X20の最
大値を最高温度として統計情報X21に保持する。この値が極端に大きいと(たとえば8
5℃以上)、SSD2の信頼性に悪影響がある。SSDC41は、X21よりも大きい現
在温度を温度計から受信した時、X21を現在温度に書き換える。SSD2の製造時(検
査工程前)またはSSD2の出荷時にはX21がSSD2の動作温度にくらべて十分に小
さい温度(たとえば−40℃)にリセットされていることが望ましい。
The maximum temperature (statistical information X21) will be described. The SSDC 41 holds the maximum value of the current temperature X20 in the statistical information X21 as the maximum temperature. If this value is extremely large (for example, 8
5 ° C. or higher), which has an adverse effect on the reliability of SSD2. When the SSDC 41 receives a current temperature higher than X21 from the thermometer, the SSDC 41 rewrites X21 to the current temperature. It is desirable that X21 is reset to a temperature (for example, −40 ° C.) sufficiently lower than the operating temperature of the SSD 2 at the time of manufacturing the SSD 2 (before the inspection process) or shipping the SSD 2.

最低温度(統計情報X22)について説明する。SSDC41は、現在温度X20の最
小値を最低温度として統計情報X22に保持する。この値が極端に小さいと(たとえば−
40℃以下)、SSD2の信頼性に悪影響がある。SSDC41は、X22よりも小さい
現在温度を温度計から受信した時、X22を現在温度に書き換える。SSD2の製造時(
検査工程前)またはSSD2の出荷時にはX22がSSD2の動作温度にくらべて十分に
大きい温度(たとえば120℃)にリセットされていることが望ましい。
The minimum temperature (statistical information X22) will be described. The SSDC 41 holds the minimum value of the current temperature X20 in the statistical information X22 as the lowest temperature. If this value is extremely small (for example-
40 ° C. or less), and the reliability of SSD 2 is adversely affected. When the SSDC 41 receives a current temperature smaller than X22 from the thermometer, the SSDC 41 rewrites X22 to the current temperature. When manufacturing SSD2 (
It is desirable that X22 is reset to a temperature sufficiently higher than the operating temperature of the SSD 2 (for example, 120 ° C.) before shipment of the SSD 2 or before the inspection process.

統計情報増加率(統計情報X23)について説明する。統計情報X01〜X19の最新
でない情報(たとえば一定時刻前や、SSD2をパワーオンした時の値や前回SSD2を
パワーダウンしたときの値など)を別途保持しておく。統計情報X23は、例えば、下記
のいずれかで定義される。
The statistical information increase rate (statistical information X23) will be described. Information that is not the latest of the statistical information X01 to X19 (for example, a value before a certain time, a value when the SSD 2 is powered on, a value when the SSD 2 is previously powered down, etc.) is held separately. The statistical information X23 is defined by any of the following, for example.

統計情報増加率=(最新統計情報)―(旧情報)
統計情報増加率=((最新統計情報)―(旧情報))/(旧情報を取得してからの経過
時刻)
統計情報増加率=((最新統計情報)―(旧情報))/(旧情報を取得してからのNA
NDアクセス回数)
SSD2の製造時(検査工程前)にゼロにリセットされていることが望ましい。この値
が大きいほど信頼性が悪化していることを示す。
Statistical information increase rate = (latest statistical information)-(old information)
Statistical information increase rate = ((Latest statistical information)-(Old information)) / (Elapsed time since the acquisition of old information)
Statistical information increase rate = ((Latest statistical information)-(Old information)) / (NA after obtaining old information)
ND access count)
It is desirable to reset to zero at the time of manufacturing the SSD 2 (before the inspection process). The larger this value, the worse the reliability.

NAND整理失敗フラグ(統計情報X24)について説明する。統計情報X24が1に
なっていると、NAND整理によっても動作に十分な数のフリーブロック数を確保できな
いことになる。SSD2の製造時(検査工程前)にゼロにリセットされていることが望ま
しい。この値が大きいほど信頼性が悪化していることを示す。
The NAND organization failure flag (statistical information X24) will be described. If the statistical information X24 is 1, a sufficient number of free blocks for operation cannot be secured even by NAND organization. It is desirable to reset to zero at the time of manufacturing the SSD 2 (before the inspection process). The larger this value, the worse the reliability.

統計情報65としては、上述したすべてのパラメータを格納してもよいし、これらの一
部あるいはどれか一つのみを格納してもよい。統計情報65は最新情報をRAM40上の
領域40Aに保持し、定期的にNANDメモリ16上の領域40Mにバックアップするこ
とが望ましい。一方、RAM40やNANDメモリ16のどちらか一方にのみ保存するよ
うにしてもよいし、当該統計情報をホスト装置3に送信して、ホスト装置3やホスト装置
3に接続された記憶装置に保存するようにしてもよい。
As the statistical information 65, all the parameters described above may be stored, or a part or any one of them may be stored. It is desirable that the statistical information 65 holds the latest information in the area 40A on the RAM 40 and is periodically backed up in the area 40M on the NAND memory 16. On the other hand, it may be stored only in either the RAM 40 or the NAND memory 16, or the statistical information is transmitted to the host device 3 and stored in the host device 3 or a storage device connected to the host device 3. You may do it.

(LBA正引き変換)
つぎに、図21を用いてSSD2においてLBAから物理アドレスを特定する手順(L
BA正引き変換)について説明する。LBAが指定されたとき、SSDC41はLBAか
らトラックアドレスとクラスタアドレスとクラスタ内アドレスを計算する。
(LBA forward conversion)
Next, the procedure for identifying the physical address from the LBA in the SSD 2 with reference to FIG.
(BA forward conversion) will be described. When the LBA is designated, the SSDC 41 calculates a track address, a cluster address, and an intra-cluster address from the LBA.

SSDC41は、まずトラックテーブル63を検索し、計算したトラックアドレスに対
応する物理ブロックIDを特定する(ステップS100、S101)。SSDC41は、
特定した物理ブロックIDが有効であるか否かを判定し(ステップS102)、物理ブロ
ックIDがヌルではなく有効な値である場合は(ステップS102:Yes)、この物理
ブロックIDがABT62にエントリされているか否かを検索する(ステップS103)
。ABT62に物理ブロックIDがエントリされている場合は(ステップS104:Ye
s)、この物理ブロックIDの指定する物理ブロックの先頭位置からトラック内アドレス
分だけシフトした位置が指定されたLBAに対応するNANDメモリ16上の物理的な位
置となる(ステップS105)。このような場合には、LBAに対応するNANDメモリ
16上の物理的な位置の特定にはクラスタテーブル64を必要とせず、このようなLBA
を「トラック管理されているLBA」と呼ぶ。ステップS104において、ABT62に
物理ブロックIDがエントリされていない場合は(ステップS104:No)、指定され
たLBAは対応する物理アドレスを持たないことになり、このような状態を「未書き込み
状態」と呼ぶ(ステップS106)。
The SSDC 41 first searches the track table 63 and identifies the physical block ID corresponding to the calculated track address (steps S100 and S101). SSDC 41
It is determined whether or not the identified physical block ID is valid (step S102). If the physical block ID is not null but a valid value (step S102: Yes), this physical block ID is entered in the ABT 62. It is searched whether or not (step S103)
. When the physical block ID is entered in the ABT 62 (step S104: Ye
s) The position shifted by the in-track address from the start position of the physical block designated by this physical block ID becomes the physical position on the NAND memory 16 corresponding to the designated LBA (step S105). In such a case, the cluster table 64 is not required for specifying the physical position on the NAND memory 16 corresponding to the LBA, and such an LBA
Is called “track-managed LBA”. In step S104, when the physical block ID is not entered in the ABT 62 (step S104: No), the designated LBA does not have a corresponding physical address, and such a state is referred to as an “unwritten state”. Call (step S106).

ステップS102において、指定されたトラックアドレスに対応する物理アドレスがヌ
ルであり無効な値の場合は(ステップS102:No)、SSDC41はLBAからクラ
スタアドレスを計算し、クラスタテーブル64を検索し、計算したクラスタアドレスに対
応する物理ブロックID及び対応する物理ブロック内ページアドレスをクラスタテーブル
64から取得する(ステップS107)。物理ブロックIDと物理ブロック内ページアド
レスが指定する物理ページの先頭位置からクラスタ内アドレス分だけシフトした位置が指
定されたLBAに対応するNANDメモリ16上の物理的な位置となる。このような場合
は、LBAに対応するNANDメモリ16上の物理的な位置は、トラックテーブル63の
みからは特定できず、クラスタテーブル64の参照を必要とすることになり、このような
LBAを「クラスタ管理されているLBA」という(ステップS108)。
In step S102, when the physical address corresponding to the designated track address is null and an invalid value (step S102: No), the SSDC 41 calculates a cluster address from the LBA, searches the cluster table 64, and calculates The physical block ID corresponding to the cluster address and the corresponding intra-physical block page address are acquired from the cluster table 64 (step S107). The position shifted by the intra-cluster address from the start position of the physical page specified by the physical block ID and the intra-physical page address is the physical position on the NAND memory 16 corresponding to the specified LBA. In such a case, the physical position on the NAND memory 16 corresponding to the LBA cannot be specified only from the track table 63, and it is necessary to refer to the cluster table 64. This is referred to as “cluster-managed LBA” (step S108).

(読み出し動作)
つぎに、図22、図23を用いてSSD2における読み出し動作を説明する。本実施形
態で説明する読み出し動作はINCITS ACS−2に記載されている60h READ FPDMA
QUEUEDの場合であるが、25h READ DMA EXTなどその他書き込みコマンドを採用してもよく
、読み出しコマンドの種類の違いは発明の本質には影響しない。SSD2がホスト装置3
から読み出し命令を受信した場合は(ステップS110)、SSDC41がこの読み出し
命令をRAM40上の読み出し命令待ち行列に追加し(ステップS111)、読み出し命
令を受理した旨をホスト装置3に返信する。
(Read operation)
Next, a read operation in the SSD 2 will be described with reference to FIGS. The read operation described in this embodiment is a 60h READ FPDMA described in INCITS ACS-2.
In the case of QUEUED, other write commands such as 25h READ DMA EXT may be adopted, and the difference in the type of read command does not affect the essence of the invention. SSD2 is host device 3
When the read command is received from the CPU 40 (step S110), the SSDC 41 adds the read command to the read command queue on the RAM 40 (step S111), and sends back to the host apparatus 3 that the read command has been accepted.

一方、SSDC41は、RAM40上の読み出し命令待ち行列に命令が存在している場
合、読み出し処理を実行可能な状態になっているか否かを判定し(ステップS120)、
読み出し処理を実行可能な状態になったと判断すると、先の図21に示したLBA正引き
変換手順にしたがってホスト装置3から受信したLBAからデータの物理的な位置を特定
する(ステップS121)。SSDC41は、特定した位置の物理ページからデータを読
み出し(ステップS123)、読み出したデータのうちECC冗長ビットを用いてECC
復号化し(ステップS124)、復号化したデータをIFC42を介してホスト装置3に
送信し(ステップS125)、統計情報65を更新する。なお、NANDメモリ16から
読み出したデータは、いったんRAM40に書き込み、RAM40に書き込んだデータを
復号化してホスト装置3に送信するようにしてもよいし、復号化したデータをいったんR
AM40に書き込み、RAM40に書き込んだデータをホスト装置3に送信するようにし
てもよい。
On the other hand, if there is an instruction in the read instruction queue on the RAM 40, the SSDC 41 determines whether or not the read process can be executed (step S120).
If it is determined that the read process is ready, the physical position of the data is specified from the LBA received from the host device 3 according to the LBA forward conversion procedure shown in FIG. 21 (step S121). The SSDC 41 reads data from the physical page at the specified position (step S123), and uses the ECC redundant bit in the read data to perform ECC.
The decrypted data is decrypted (step S124), the decrypted data is transmitted to the host apparatus 3 via the IFC 42 (step S125), and the statistical information 65 is updated. The data read from the NAND memory 16 may be once written in the RAM 40, and the data written in the RAM 40 may be decrypted and transmitted to the host device 3. Alternatively, the decrypted data is temporarily stored in the R memory.
The data written in the AM 40 and the data written in the RAM 40 may be transmitted to the host device 3.

ステップS124において、SSDC41はECCによる復号化を試みるが、復号化で
きなかった場合、復号化できなかったページを含む物理ブロックをABT62から削除し
てBBT61に登録し、統計情報65のECC訂正できなかったECC訂正単位数総計(
統計情報X08)を加算する。その際、当該ブロックのデータをFBT60から割り当て
たフリーブロックにコピーし、当該フリーブロックの物理ブロックIDをABT62に登
録してトラックテーブル63およびクラスタテーブル64の物理ブロックをコピー元物理
ブロックIDからコピー先物理ブロックIDに書き換えることが望ましい。
In step S124, the SSDC 41 attempts to decode by ECC. If the decoding cannot be performed, the physical block including the page that could not be decoded is deleted from the ABT 62 and registered in the BBT 61, and the ECC of the statistical information 65 cannot be corrected. Total number of ECC correction units (
Statistical information X08) is added. At that time, the data of the block is copied to the free block allocated from the FBT 60, the physical block ID of the free block is registered in the ABT 62, and the physical blocks of the track table 63 and the cluster table 64 are copied from the copy source physical block ID to the copy destination. It is desirable to rewrite the physical block ID.

(書き込み動作)
つぎに、図24、図25を用いてSSD2における書き込み動作を説明する。本実施形
態で説明する書き込み動作はINCITS ACS−2に記載されている61h WRITE FPDM
A QUEUEDの場合であるが、35h WRITE DMA EXTなどその他書き込みコマンドを採用しても
よく、書き込みコマンドの種類の違いは発明の本質には影響しない。SSD2がホスト装
置3から書き込み命令を受信した場合は(ステップS130)、SSDC41がこの書き
込み命令をRAM40上の読み出し命令待ち行列に追加し(ステップS131)、書き込
み命令を受理した旨をホスト装置3に返信する。
(Write operation)
Next, a write operation in the SSD 2 will be described with reference to FIGS. The write operation described in this embodiment is a 61h WRITE FPDM described in INCITS ACS-2.
In the case of A QUEUED, other write commands such as 35h WRITE DMA EXT may be adopted, and the difference in the type of write command does not affect the essence of the invention. When the SSD 2 receives a write command from the host device 3 (step S130), the SSDC 41 adds this write command to the read command queue on the RAM 40 (step S131), and notifies the host device 3 that the write command has been accepted. Send back.

一方、SSDC41は、RAM40上の書き込み命令待ち行列に命令が存在している場
合、書き込み処理を実行可能な状態になっているか否かを判定し(ステップS140)、
書き込み処理を実行可能な状態になったと判断すると、ホスト装置3に書き込み可能であ
ることを通知し、ホスト装置3から書き込みデータを受信し、受信したデータをECC符
号化し、符号化したデータをRAM40のキャッシュメモリ46に記憶する。なお、符号
化しないデータをキャッシュメモリ46に記憶し、NANDメモリ16に書き込む時に符
号化するようにしてもよい。
On the other hand, if there is an instruction in the write instruction queue on the RAM 40, the SSDC 41 determines whether or not the write process can be executed (step S140).
If it is determined that the write process can be executed, the host apparatus 3 is notified that the write process is possible, the write data is received from the host apparatus 3, the received data is ECC-encoded, and the encoded data is stored in the RAM 40. Stored in the cache memory 46. Note that unencoded data may be stored in the cache memory 46 and encoded when written to the NAND memory 16.

つぎに、SSDC41はFBT60を読み出し(ステップS141)、FBT60から
フリーブロックの物理ブロックIDを取得する。フリーブロックが存在しない場合は(ス
テップS142:No)、SSDC41は後述するNANDメモリ16の整理(NAND
整理)を行い(ステップS143)、この整理の後、FBT60を読み出し(ステップS
144)、FBT60からフリーブロックの物理ブロックIDを取得する。SSDC41
は、物理ブロックIDを取得したフリーブロックに対し、消去動作を行う。消去エラーが
発生した場合は、当該物理ブロックIDをBBT61に追加し、FBT60から削除し、
S141からやり直してフリーブロックを再取得する。なお、一度消去エラーが発生した
物理ブロックであっても、再度消去動作を行うと消去エラーが発生せずに正常に消去でき
ることがあるため、バッドブロック数の不必要な増大を防止するという観点では、FBT
60やABT62に統計情報X05としてのブロックごと消去エラー発生回数の項目を各
ブロックごとに設け、ブロックの消去エラーが発生した場合にこれをインクリメントする
ようにし、ブロックごと消去エラー発生回数が所定値以上になった場合に当該ブロックを
BBT61に登録するようにするのが望ましい。さらに望ましくは、連続して消去エラー
が発生する物理ブロックのみをバッドブロック化するために、SSDC41は、前記「ブ
ロックごと消去エラー発生回数」のかわりに「ブロックごと消去連続エラー回数」の項目
をもうけ、ブロックの消去エラーが発生した場合にこれをインクリメントするようにし、
消去をエラー無く行えた場合にこれをゼロにリセットするようにし、「ブロックごと消去
連続エラー回数」が所定値以上になった場合に当該ブロックをBBT61に登録するよう
にするのが望ましい。
Next, the SSDC 41 reads the FBT 60 (step S141), and acquires the physical block ID of the free block from the FBT 60. If there is no free block (step S142: No), the SSDC 41 arranges the NAND memory 16 described later (NAND
Organizing) (step S143), and after this organizing, the FBT 60 is read (step S).
144) The physical block ID of the free block is acquired from the FBT 60. SSDC41
Performs an erasing operation on the free block for which the physical block ID has been acquired. When an erasure error occurs, the physical block ID is added to the BBT 61, deleted from the FBT 60,
The process re-starts from S141 to reacquire the free block. Note that even if a physical block has an erasure error once, it can be erased normally without erasure if the erasure operation is performed again. From the viewpoint of preventing an unnecessary increase in the number of bad blocks. , FBT
60 or ABT 62 is provided with an item of erase error occurrence count for each block as statistical information X05 for each block. When a block erase error occurs, this is incremented, and the erase error occurrence count for each block exceeds a predetermined value. In this case, it is desirable to register the block in the BBT 61. More preferably, in order to convert only physical blocks in which erasure errors continuously occur into bad blocks, the SSDC 41 provides an item of “number of erasure errors per block” instead of the “number of erasure errors per block”. , If a block erase error occurs, increment this,
It is desirable to reset this to zero when erasing can be performed without error, and to register the block in the BBT 61 when the “number of consecutive erasure errors for each block” exceeds a predetermined value.

つぎに、SSDC41は、書き込み命令で指定されているLBAが未書き込み状態であ
るか否かを検索するために、先の図21に示した正引き変換手順にしたがってLBAに対
応する有効なデータがNANDメモリ16に記憶済みであるか否か判定する(ステップS
145、S146)。
Next, the SSDC 41 searches for valid data corresponding to the LBA according to the forward conversion procedure shown in FIG. 21 in order to search whether the LBA specified by the write command is in an unwritten state. It is determined whether or not already stored in the NAND memory 16 (step S
145, S146).

LBAが未書き込み状態である場合は(ステップS146:Yes)、SSDC41は
、キャッシュメモリ46に記憶している受信データをフリーブロックに書き込み(ステッ
プS147)、書き込みを行ったフリーブロック(新物理ブロック)のID及びその消去
回数をABT62に登録し、書き込みを行った物理ブロックのIDをFBT60から削除
する(ステップS151)。この際、受信データのLBAをトラック単位の区画(トラッ
ク区画)で区切り、トラック区画内がデータで埋め尽くされているか否かを判定すること
で、トラック管理するかクラスタ管理するかを判定する(ステップS152)。すなわち
、トラック区画内がデータで埋め尽くされている場合は、トラック管理となり、トラック
区画内がデータで埋め尽くされていない場合は、クラスタ管理となる。クラスタ管理の場
合は、クラスタテーブル64を書き換えて、LBAに新物理ブロックIDを関連付け(ス
テップS153)、さらにトラックテーブル63を書き換えて、LBAに無効な物理ブロ
ックID(例えば、ヌル)を関連付ける。トラック管理の場合は、トラックテーブルを書
き換えて、LBAに新物理ブロックIDを関連付ける(ステップS154)。
When the LBA is in an unwritten state (step S146: Yes), the SSDC 41 writes the received data stored in the cache memory 46 to the free block (step S147), and the free block (new physical block) that has been written. And the erase count are registered in the ABT 62, and the ID of the written physical block is deleted from the FBT 60 (step S151). At this time, it is determined whether the track management or the cluster management is performed by dividing the LBA of the received data by a track unit (track partition) and determining whether or not the track partition is filled with data ( Step S152). That is, when the track section is filled with data, track management is performed, and when the track section is not filled with data, cluster management is performed. In the case of cluster management, the cluster table 64 is rewritten to associate the new physical block ID with the LBA (step S153), and the track table 63 is rewritten to associate the invalid physical block ID (for example, null) with the LBA. In the case of track management, the track table is rewritten and the new physical block ID is associated with the LBA (step S154).

一方、ステップS146において、LBAが未書き込み状態でない場合は、SSDC4
1は正引き変換により得られた物理ブロックIDをもとに、対応する物理ブロック内全デ
ータをNANDメモリ16から読み出して、RAM40に書き込む(ステップS148)
。そして、キャッシュメモリ46に記憶されているデータとNANDメモリ16から読み
出してRAM40に書き込んだデータとをRAM40上で合成し(ステップS149)、
合成したデータをフリーブロックに書き込む(ステップS150)。
On the other hand, if the LBA is not in an unwritten state in step S146, SSDC4
1 reads all the data in the corresponding physical block from the NAND memory 16 based on the physical block ID obtained by forward conversion, and writes it in the RAM 40 (step S148).
. Then, the data stored in the cache memory 46 and the data read from the NAND memory 16 and written to the RAM 40 are combined on the RAM 40 (step S149),
The synthesized data is written in the free block (step S150).

なお、ステップS150で書き込みエラーが発生した場合は、当該物理ブロックIDを
BBT61に追加し、FBT60から削除し、ステップS141からやり直してフリーブ
ロックを再取得する。なお、一度書き込みエラーが発生した物理ブロックであっても、再
度書き込み動作を行うと書き込みエラーが発生せずに正常に書き込みできることがあるた
め、バッドブロック数の不必要な増大を防止するという観点では、FBT60やABT6
2に統計情報X04としてのブロックごと書き込みエラー発生回数の項目を各ブロックご
とに設け、ブロックの書き込みエラーが発生した場合にこれをインクリメントするように
し、「ブロックごと書き込みエラー発生回数」が所定値以上になった場合に当該ブロック
をBBT61に登録するようにするのが望ましい。さらに望ましくは、連続して書き込み
エラーが発生する物理ブロックのみをバッドブロック化するために、SSDC41は、前
記「ブロックごと書き込みエラー発生回数」のかわりに「ブロックごと書き込み連続エラ
ー回数」の項目をもうけ、ブロックの書き込みエラーが発生した場合にこれをインクリメ
ントするようにし、書き込みをエラー無く行えた場合にこれをゼロにリセットするように
し、「ブロックごと書き込み連続エラー回数」が所定値以上になった場合に当該ブロック
をBBT61に登録するようにするのが望ましい。
If a write error occurs in step S150, the physical block ID is added to the BBT 61, deleted from the FBT 60, and re-acquired from step S141. Note that even if a physical block has a write error once, it can be written normally without a write error if the write operation is performed again. Therefore, from the viewpoint of preventing an unnecessary increase in the number of bad blocks. , FBT60 and ABT6
2 is provided with an item of the number of write errors for each block as the statistical information X04 for each block. When a block write error occurs, this is incremented, and “the number of write errors for each block” exceeds a predetermined value. In this case, it is desirable to register the block in the BBT 61. More preferably, in order to convert only the physical blocks in which write errors continuously occur into bad blocks, the SSDC 41 provides an item of “number of consecutive write errors per block” instead of the above “number of write errors per block”. When a block write error occurs, this is incremented, and when the write can be performed without error, this is reset to zero, and the "number of consecutive write errors per block" exceeds the specified value. It is desirable to register the block in the BBT 61.

SSDC41は、書き込みを行ったフリーブロック(新物理ブロック)のID及びその
消去回数をABT62に登録し、書き込みを行った物理ブロックのIDをFBT60から
削除する(ステップS151)。LBAがクラスタ管理である場合は、クラスタテーブル
64の旧物理ブロックIDを新物理ブロックIDに書き換える(ステップS152、S1
53)。トラック管理の場合は、トラックテーブルの旧物理ブロックIDを新物理ブロッ
クIDに書き換える(ステップS152、S154)。さらに、SSDC41は、旧物理
ブロックID及びその消去回数をFBT60に追加し、旧物理ブロックID及びその消去
回数をABT62から削除する(ステップS155)。SSDC41は以上の書き込み処
理の内容を統計情報65に反映する。
The SSDC 41 registers the ID of the free block (new physical block) that has been written and the number of times of erasure in the ABT 62, and deletes the ID of the physical block that has been written from the FBT 60 (step S151). When the LBA is cluster management, the old physical block ID in the cluster table 64 is rewritten to the new physical block ID (steps S152 and S1).
53). In the case of track management, the old physical block ID in the track table is rewritten to the new physical block ID (steps S152 and S154). Further, the SSDC 41 adds the old physical block ID and its erase count to the FBT 60, and deletes the old physical block ID and its erase count from the ABT 62 (step S155). The SSDC 41 reflects the contents of the above writing process in the statistical information 65.

(NAND整理)
SSD2の全LBAの容量は、SSD2のNANDメモリ16の全容量よりも小さく設
計されているため、書き込み動作がトラック単位で書き込まれ続ける限りはフリーブロッ
クが枯渇することはない。一方、未書き込みLBAに対してクラスタ単位の書き込みが多
数発生した場合、クラスタ単位の書き込み一つに対してクラスタよりも容量の大きい物理
ブロックが割り当てられることになるため、書き込まれるデータ容量よりも多くのNAN
Dメモリ16物理ブロックを必要とすることになり、それによりフリーブロックが枯渇す
る可能性がある。フリーブロックが枯渇した場合は、以下に示すNANDメモリ16の整
理によってフリーブロックを新たに確保することができる。
(NAND organization)
Since the capacity of the entire LBA of the SSD 2 is designed to be smaller than the total capacity of the NAND memory 16 of the SSD 2, the free blocks will not be exhausted as long as the write operation continues to be written in track units. On the other hand, if a large number of cluster unit writes occur to an unwritten LBA, a physical block having a capacity larger than that of the cluster is allocated to one cluster unit write. NAN
D memory 16 physical blocks will be required, which can lead to depletion of free blocks. When free blocks are depleted, new free blocks can be secured by organizing the NAND memory 16 described below.

図26を用いてSSD2におけるNAND整理を説明する。物理ブロックに記憶されて
いる全てのクラスタが有効クラスタであるとは限らず、有効クラスタに該当しない無効ク
ラスタはLBAに対応付けられていない。有効クラスタとは最新のデータを記憶している
クラスタであり、無効クラスタとは同一LBAのデータが他の場所に書きこまれ、参照さ
れることがなくなったクラスタである。物理ブロックは無効クラスタの分だけデータに空
きがあることになり、有効クラスタのデータを集めて違うブロックに書き直すNAND整
理を実行することでフリーブロックを確保することができる。
The NAND arrangement in the SSD 2 will be described with reference to FIG. Not all clusters stored in the physical block are valid clusters, and invalid clusters that do not correspond to valid clusters are not associated with LBAs. A valid cluster is a cluster that stores the latest data, and an invalid cluster is a cluster in which data of the same LBA is written to another location and is no longer referenced. The physical block has data for the invalid cluster, and the free block can be secured by executing the NAND organizing that collects the data of the valid cluster and rewrites the data to a different block.

まず、物理ブロックIDi=0にし、空き領域累積量S=0にする(ステップS160
)。SSDC41は、このIDがi=0の物理ブロックがトラックテーブル63にエント
リされているか否かを判定する(ステップS161)。トラックテーブルにエントリされ
ている場合はiを+1し(ステップS162)、つぎの番号のIDを持つ物理ブロックに
ついて同様の判定を行う(ステップS161)。すなわち、物理ブロックIDがトラック
テーブル63に含まれている場合は、この物理ブロックのデータはトラック管理であるた
め、NAND整理対象に含めない。
First, the physical block IDi = 0 is set, and the free space accumulated amount S = 0 is set (step S160).
). The SSDC 41 determines whether or not the physical block whose ID is i = 0 is entered in the track table 63 (step S161). If it is entered in the track table, i is incremented by 1 (step S162), and the same determination is performed for the physical block having the next ID number (step S161). That is, when the physical block ID is included in the track table 63, the data of this physical block is track management and is not included in the NAND organizing target.

SSDC41は、ID=iの物理ブロックがトラック管理でない場合は(ステップS1
61:No)、つぎにクラスタテーブル64を参照し、ID=iの物理ブロックに含まれ
る有効クラスタのアドレスを全て取得する(ステップS163)。そして、SSDC41
は、取得した有効クラスタの総容量分のサイズvを求め(ステップS164)、v<物理
ブロックサイズであるときは(ステップS165)、現在物理ブロックのIDをNAND
整理対象ブロックリストに加える(ステップS166)。さらに、SSDC41は、取得
クラスタ累計量Sに現在物理ブロックの取得クラスタ容量vを加算し、取得クラスタ累計
量Sを更新する(ステップS167)。
If the physical block with ID = i is not track management, the SSDC 41 (step S1
61: No) Next, referring to the cluster table 64, all the addresses of valid clusters included in the physical block with ID = i are acquired (step S163). And SSDC41
Obtains the size v for the total capacity of the acquired effective cluster (step S164), and if v <physical block size (step S165), the current physical block ID is NANDed.
It adds to the arrangement target block list (step S166). Further, the SSDC 41 adds the acquired cluster capacity v of the current physical block to the acquired cluster accumulated amount S, and updates the acquired cluster accumulated amount S (step S167).

ステップS165で、v<物理ブロックサイズでないとき、あるいはステップS168
で取得クラスタ累計量Sが物理ブロックサイズに到達していない場合は、SSDC41は
、iを+1し(ステップS162)、つぎの番号のIDを持つ物理ブロックについて、ス
テップS161〜S167の手順を前記同様に実行する。そして、ステップS168で、
取得クラスタ累計量Sが物理ブロックサイズに到達するまで、ステップS161〜S16
7の手順を繰り返す。
If v <physical block size is not satisfied in step S165, or step S168
If the acquired cluster cumulative amount S has not reached the physical block size, the SSDC 41 increments i by 1 (step S162), and the procedure of steps S161 to S167 is the same as described above for the physical block having the next ID number. To run. In step S168,
Steps S161 to S16 are performed until the acquired cluster cumulative amount S reaches the physical block size.
Repeat step 7.

そして、ステップS168において、取得クラスタ累計量Sが物理ブロックサイズに到
達した場合は、SSDC41は、NAND整理対象ブロックリスト上の全物理ブロックに
ついての全有効クラスタのデータをNANDメモリ16から読み出してRAM40に書き
込み(ステップS169)、さらに、NAND整理対象ブロックリスト上の全物理ブロッ
クに対して消去処理を行い(ステップS170)、消去処理を行った全物理ブロックをA
BT62から削除してFBT60に追加する(ステップS171)。その際、消去回数を
インクリメントする。なお、ステップS170で行う消去動作の対象は、ステップS17
2でデータを書き込む対象のブロックに限定してもよく、ブロックの消去回数を抑制する
という観点ではそのように行うことが望ましい。
If the acquired cluster cumulative amount S reaches the physical block size in step S168, the SSDC 41 reads the data of all valid clusters for all physical blocks on the NAND organization target block list from the NAND memory 16 and stores them in the RAM 40. Write (step S169), and erase processing is performed on all physical blocks on the NAND rearrangement target block list (step S170).
It deletes from BT62 and adds to FBT60 (step S171). At that time, the erase count is incremented. The target of the erase operation performed in step S170 is step S17.
2 may be limited to a block to which data is written, and it is desirable to do so from the viewpoint of suppressing the number of block erases.

消去エラーが発生した場合は、当該物理ブロックIDをBBT61に追加し、FBT6
0から削除する。なお、一度消去エラーが発生した物理ブロックであっても、再度消去動
作を行うと消去エラーが発生せずに正常に消去できることがあるため、バッドブロック数
の不必要な増大を防止するという観点では、FBT60やABT62に「ブロックごと消
去エラー発生回数」の項目を各ブロックごとに設け、ブロックの消去エラーが発生した場
合にこれをインクリメントするようにし、ブロックごと消去エラー発生回数が所定値以上
になった場合に当該ブロックをBBT61に登録するようにするのが望ましい。さらに望
ましくは、連続して消去エラーが発生する物理ブロックのみをバッドブロック化するため
に、SSDC41は、前記「ブロックごと消去エラー発生回数」のかわりに「ブロックご
と消去連続エラー回数」の項目をもうけ、ブロックの消去エラーが発生した場合にこれを
インクリメントするようにし、消去をエラー無く行えた場合にこれをゼロにリセットする
ようにし、「ブロックごと消去連続エラー回数」が所定値以上になった場合に当該ブロッ
クをBBT61に登録するようにするのが望ましい。
When an erasure error occurs, the physical block ID is added to the BBT 61, and the FBT 6
Delete from 0. Note that even if a physical block has an erasure error once, it can be erased normally without erasure if the erasure operation is performed again. From the viewpoint of preventing an unnecessary increase in the number of bad blocks. In the FBT 60 and ABT 62, an item “Number of occurrences of erasure error for each block” is provided for each block, and when a block erasure error occurs, this is incremented. In this case, it is desirable to register the block in the BBT 61. More preferably, in order to convert only physical blocks in which erasure errors continuously occur into bad blocks, the SSDC 41 provides an item of “number of erasure errors per block” instead of the “number of erasure errors per block”. When a block erase error occurs, this is incremented, and when erase is performed without error, it is reset to zero, and the "number of consecutive erase errors per block" exceeds a specified value. It is desirable to register the block in the BBT 61.

そして、SSDC41は、FBT60から新たなフリーブロックを取得し、取得したフ
リーブロックに対しRAM40に書き込んだデータを書き込み(ステップS172)、デ
ータを書き込んだフリーブロックの物理ブロックID及び当該ブロックの消去回数をAB
T62に追加し、さらにデータが書き込まれたブロックのブロックIDをFBT60から
削除する(ステップS173)。さらに、SSDC41は、今回のNAND整理に対応す
るように、クラスタテーブル64におけるクラスタアドレス、物理ブロックID及び物理
ブロック内ページアドレスを更新する(ステップS174)。SSDC41は上記NAN
D整理の処理内容を統計情報65に反映する。
Then, the SSDC 41 acquires a new free block from the FBT 60, writes the data written in the RAM 40 to the acquired free block (step S172), and sets the physical block ID of the free block in which the data is written and the erase count of the block. AB
In addition to T62, the block ID of the block in which data is written is deleted from the FBT 60 (step S173). Furthermore, the SSDC 41 updates the cluster address, the physical block ID, and the page address in the physical block in the cluster table 64 so as to correspond to the current NAND arrangement (step S174). SSDC41 is the above NAN
The contents of the D organization process are reflected in the statistical information 65.

なお、ステップS172で書き込みエラーが発生した場合は、当該物理ブロックIDを
BBT61に追加し、FBT60から削除し、フリーブロックを再取得する。なお、一度
書き込みエラーが発生した物理ブロックであっても、再度書き込み動作を行うと書き込み
エラーが発生せずに正常に書き込みできることがあるため、バッドブロック数の不必要な
増大を防止するという観点では、FBT60やABT62に「ブロックごと書き込みエラ
ー発生回数」の項目を各ブロックに設け、ブロックの書き込みエラーが発生した場合にこ
れをインクリメントするようにし、「ブロックごと書き込みエラー発生回数」が所定値以
上になった場合に当該ブロックをBBT61に登録するようにするのが望ましい。さらに
望ましくは、連続して書き込みエラーが発生する物理ブロックのみをバッドブロック化す
るために、SSDC41は、前記「ブロックごと書き込みエラー発生回数」のかわりに「
ブロックごと書き込み連続エラー回数」の項目をもうけ、ブロックの書き込みエラーが発
生した場合にこれをインクリメントするようにし、書き込みをエラー無く行えた場合にこ
れをゼロにリセットするようにし、「ブロックごと書き込み連続エラー回数」が所定値以
上になった場合に当該ブロックをBBT61に登録するようにするのが望ましい。
When a write error occurs in step S172, the physical block ID is added to the BBT 61, deleted from the FBT 60, and a free block is reacquired. Note that even if a physical block has a write error once, it can be written normally without a write error if the write operation is performed again. Therefore, from the viewpoint of preventing an unnecessary increase in the number of bad blocks. The FBT 60 and ABT 62 have an item “number of write errors per block” in each block so that if a block write error occurs, this is incremented. In this case, it is desirable to register the block in the BBT 61. More preferably, in order to convert only physical blocks in which write errors continuously occur into bad blocks, the SSDC 41 replaces “the number of write error occurrences for each block” with “
Create an item for `` Number of consecutive write errors for each block '', increment this if a block write error occurs, reset it to zero if there was no error in writing, It is desirable to register the block in the BBT 61 when the “number of errors” exceeds a predetermined value.

なお、図26の手順では、フリーブロックにデータを詰め込むことを優先するNAND
整理を行ったが、ステップS164で、vを物理ブロックサイズから取得したクラスタの
容量を減算することによって求め、ステップS165でv>0か否かを判定し、v>0の
場合はステップS168に移行し、v>0でない場合はステップS162に移行させるよ
うにすることで、フリーブロックを確保することを優先するNAND整理を行うようにし
てもよい。
In the procedure of FIG. 26, NAND that prioritizes filling data into free blocks.
In step S164, v is obtained by subtracting the acquired cluster capacity from the physical block size. In step S165, it is determined whether v> 0. If v> 0, the process proceeds to step S168. If v> 0 is not satisfied, the process may be shifted to step S162 to perform NAND arrangement that prioritizes securing a free block.

つぎに、図27を用いてSSD2における削除通知について説明する。削除通知は、ホ
スト装置3上のOS100によってデータの削除が行われた場合に、ホスト装置3から外
部記憶装置に対して送信される命令である。削除通知の例として、例えば、INCITS
ATA/ATAPI Command Set−2(ACS−2)で記述されているDa
ta Set Management Command(通称トリム(TRIM)コマンド)があげられる。これは、
OS100上でデータが削除された場合、削除されたデータの存在する論理アドレス領域
(LBA領域)を、LBA及びセクタ数の組みよりなるLBA Range Entry
として外部記憶装置に通知することにより、外部記憶装置上でもその領域を空き領域とし
て扱うことができる方式である。削除通知により、SSD2はフリーブロックを新たに確
保することができる。なお、トリムコマンドの機能は、Data Set Manage
ment Commandだけでなく、たとえば、INCITS ACS−2で記述され
ているSCT Command Transportや、その他ベンダー独自のコマンド
などその他コマンドによって実現してもよい。OS100が緊急時OSである場合は、N
ANDメモリに対する書き込みを減らすという観点では、緊急時OSでは当該削除通知の
発行を禁止することが望ましい。一方、当該削除通知処理ではNANDメモリ16に関し
て高々管理情報45程度の書き換えしか発生しないため、緊急時OSにおいても当該削除
通知を許可してもよい。
Next, the deletion notification in the SSD 2 will be described with reference to FIG. The deletion notification is a command transmitted from the host device 3 to the external storage device when data is deleted by the OS 100 on the host device 3. As an example of deletion notification, for example, INCITS
Da described in ATA / ATAPI Command Set-2 (ACS-2)
ta Set Management Command (commonly known as a trim (TRIM) command). this is,
When data is deleted on the OS 100, a logical address area (LBA area) where the deleted data exists is changed to an LBA Range Entry consisting of a combination of the LBA and the number of sectors.
Is notified to the external storage device so that the area can be handled as a free area even on the external storage device. By the deletion notification, the SSD 2 can secure a new free block. The function of the trim command is Data Set Management.
In addition to the ment command, other commands such as an SCT Command Transport described in INCITS ACS-2 and other vendor-specific commands may be used. N if OS100 is an emergency OS
From the viewpoint of reducing writing to the AND memory, it is desirable that the emergency OS prohibits the issuance of the deletion notification. On the other hand, in the deletion notification process, only rewriting of the management information 45 at most occurs with respect to the NAND memory 16, and therefore the deletion notification may be permitted even in an emergency OS.

SSD2がホスト装置3から削除通知を受信した場合は(ステップS180)、SSD
C41は、削除通知に含まれるLBAを先の図21に示した手順に従ってLBA正引き変
換する。SSDC41は、削除通知に含まれるLBAがトラック管理である場合は(ステ
ップS181:Yes)、物理ブロックIDをFBT60に追加してABT62から削除
する(ステップS184)。一方、SSDC41は、削除通知に含まれるLBAがクラス
タ管理である場合は(ステップS181:No)、物理ブロックに対応する全クラスタを
クラスタテーブル64から削除し(ステップS182)、トラックテーブル63において
、LBAに対応するトラックに対応する物理ブロックIDに適当な有効値(例えばFFF
F)を記入し(ステップS183)、物理ブロックIDをFBT60に追加してABT6
2から削除する(ステップS184)。SSD2では、NAND整理以外に、削除通知処
理によってもフリーブロックを確保することができる。
If the SSD 2 receives a deletion notification from the host device 3 (step S180), the SSD
C41 converts the LBA included in the deletion notification into LBA forward lookup according to the procedure shown in FIG. If the LBA included in the deletion notification is track management (step S181: Yes), the SSDC 41 adds the physical block ID to the FBT 60 and deletes it from the ABT 62 (step S184). On the other hand, if the LBA included in the deletion notification is cluster management (step S181: No), the SSDC 41 deletes all clusters corresponding to the physical block from the cluster table 64 (step S182), and the track table 63 stores the LBA. A valid value appropriate for the physical block ID corresponding to the track corresponding to (for example, FFF)
F) is entered (step S183), the physical block ID is added to the FBT 60, and the ABT 6
2 (step S184). In SSD2, a free block can be secured not only by NAND organizing but also by deletion notification processing.

このようなNAND整理により、書き込みに対し十分な数のフリーブロックを確保でき
るのが通常である。NAND整理によっても、書き込みに対し十分な数のフリーブロック
を確保できなかった場合は、統計情報65のNAND整理失敗フラグを1にして、ホスト
装置3による統計情報65の取得を通じてSSD2がフリーブロックを確保できなかった
ことをホスト装置3に通知できるようにすることが望ましい。NAND整理失敗フラグが
1になってから実際にSSD2が動作しなくなるまでの時間に猶予をもたせるという観点
では、
(NAND整理をして確保できたフリーブロック数)<(書き込みに必要なフリーブロ
ック数)+(マージン)
の条件を満たす場合にNAND整理失敗フラグを1にセットするようにしておくことが望
ましい。
Such a NAND arrangement usually ensures a sufficient number of free blocks for writing. If a sufficient number of free blocks for writing cannot be secured even by the NAND organizing, the NAND organizing failure flag of the statistical information 65 is set to 1, and the SSD 2 acquires a free block through the acquisition of the statistical information 65 by the host device 3. It is desirable to be able to notify the host device 3 that it has not been ensured. From the viewpoint of giving a grace period until the SSD 2 actually stops operating after the NAND rearrangement failure flag becomes 1.
(Number of free blocks secured by organizing NAND) <(Number of free blocks required for writing) + (Margin)
It is desirable to set the NAND rearrangement failure flag to 1 when the above condition is satisfied.

上記NAND整理は、ホスト装置3からライト要求を受信した時だけでなく、ホストか
ら最後に命令を受信してから所定時間経過した時、またはホスト装置3からスタンバイや
アイドルやスリープ状態に移行するコマンドを受信した時などに実行してもよいし、AC
S−2に記載のSCT Command Transportやその他ベンダーコマンドなどを通じて、NAN
D整理を開始する命令をSSD2がホスト装置3から受信した時などに実行してもよい。
なお、OS100が緊急時OSである場合は、NANDメモリに対する書き込みを減らす
という観点では、ホスト装置3から最後に命令を受信してから所定時間経過した時、ホス
ト装置3からスタンバイやアイドルやスリープ状態に移行するコマンドを受信した時に、
上記NAND整理を行わないことが望ましい。さらには、OS100が緊急時OSである
場合は、NANDメモリ16に対する書き込みを減らすという観点では、緊急時OSにお
いてはNAND整理を開始する命令発行が禁止されていることが望ましい。
The NAND organizing is not only performed when a write request is received from the host device 3, but also when a predetermined time has elapsed since the last instruction was received from the host, or a command for shifting from the host device 3 to a standby, idle or sleep state. It may be executed when receiving AC, or AC
Through SCT Command Transport and other vendor commands described in S-2, NAN
The instruction to start D organization may be executed when the SSD 2 receives from the host device 3.
When the OS 100 is an emergency OS, from the viewpoint of reducing writing to the NAND memory, when a predetermined time has elapsed since the last instruction was received from the host device 3, the host device 3 is in a standby, idle, or sleep state. When a command to transition to is received,
It is desirable not to perform the NAND arrangement. Furthermore, when the OS 100 is an emergency OS, it is desirable that the emergency OS is prohibited from issuing an instruction to start NAND organizing from the viewpoint of reducing writing to the NAND memory 16.

(エラー処理)
次に、図28を用いてSSD2でのNANDメモリ16に関するエラー処理について説
明する。ホスト装置3からのライト要求に対する処理やNAND整理処理など各種処理は
通常は上記のように行われるが、NANDメモリ16に対する書き込み動作(プログラム
動作)で書き込みエラーが発生する場合、NANDメモリ16に対する消去動作(イレー
ズ動作)で消去エラーが発生する場合、NANDメモリ16に対する読み出し動作の際に
ECCエラー(誤り訂正処理の失敗)が生じる場合などがあり、これらに対する例外処理
が必要となる。
(Error handling)
Next, error processing related to the NAND memory 16 in the SSD 2 will be described with reference to FIG. Various processes such as a process for a write request from the host device 3 and a NAND organizing process are normally performed as described above. However, if a write error occurs in a write operation (program operation) to the NAND memory 16, an erase to the NAND memory 16 is performed. When an erasure error occurs during an operation (erase operation), an ECC error (failure of error correction processing) may occur during a read operation on the NAND memory 16, and an exception process is required for these.

SSDC41は、上記の何れかのエラーが発生した場合(ステップS190)、エラー
が発生した物理ブロックをBBT61に追加し(ステップS191)、エラーが発生した
物理ブロックをABT62及びFBT60から削除することで(ステップS192)、以
後は、エラーが発生した物理ブロックにアクセスできないようにする。この際、エラーが
発生した物理ブロックのデータを別の物理ブロックにコピーしてもよい。SSDC41は
上記エラー処理を統計情報65に反映させる。
When any of the above errors occurs (step S190), the SSDC 41 adds the physical block in which the error has occurred to the BBT 61 (step S191), and deletes the physical block in which the error has occurred from the ABT 62 and the FBT 60 ( In step S192), the physical block in which the error has occurred is prevented from being accessed thereafter. At this time, the data of the physical block in which the error has occurred may be copied to another physical block. The SSDC 41 reflects the error processing in the statistical information 65.

上記では、エラー処理の一例を、読み出し処理、書き込み処理、NAND整理処理に関
して示したが、エラー処理はこれらの例に限らず、NANDメモリ16に対する全ての読
み出し処理、書き込み処理、消去処理に対して適用可能である。
In the above, an example of error processing has been described with respect to read processing, write processing, and NAND organizing processing. However, error processing is not limited to these examples, and all read processing, write processing, and erase processing for the NAND memory 16 are performed. Applicable.

(制御ツール)
SSD2を利用しているうちに、NANDメモリ16の各ブロックの信頼性が劣化して
いき、バッドブロックの数が増えていき、フリーブロック数とアクティブブロック数の和
が減っていくことになる。さらにSSD2を使用していると、NAND整理を行っても、
書き込み処理を行うのに十分なフリーブロック数を確保できなくなり、これがSSD2の
寿命である。以下では、SSD2の寿命が到達した場合の制御ツール200の処理を示す
(Control tool)
While the SSD 2 is used, the reliability of each block of the NAND memory 16 deteriorates, the number of bad blocks increases, and the sum of the number of free blocks and the number of active blocks decreases. Furthermore, if you use SSD2,
A sufficient number of free blocks for the writing process cannot be secured, which is the life of the SSD 2. In the following, the process of the control tool 200 when the life of the SSD 2 has been reached is shown.

制御ツール200は起動されると、主メモリ6に常駐してSSD2の統計情報65を監
視する。SSD2の統計情報65を常に監視するためには、制御ツール200の起動プロ
グラムが通常時OS100Aのスタートアッププログラムに登録されるなどして、通常時
OS100Aが領域16D(または20D)から領域6Aに読み出されるときまたはその
直後に制御ツール200が領域16B(または領域20B)から読み出されるのが望まし
い。たとえば、OS100がWindows(登録商標)である場合は、制御ツール200を、
例えばWindows(登録商標)のスタートアップメニューに登録したり、あるいはサービス
として登録したり、Windows(登録商標)のレジストリに登録したりすることで、制御ツ
ール200を起動時の常駐プログラムに設定しておくことで、制御ツール200を自動起
動させることが可能となる。
When activated, the control tool 200 resides in the main memory 6 and monitors the statistical information 65 of the SSD 2. In order to constantly monitor the statistical information 65 of the SSD 2, the startup program of the control tool 200 is registered in the startup program of the normal OS 100A, and the normal OS 100A is read from the area 16D (or 20D) to the area 6A. It is desirable that the control tool 200 be read from the region 16B (or region 20B) at or shortly thereafter. For example, when the OS 100 is Windows (registered trademark), the control tool 200 is
For example, the control tool 200 is set as a resident program at startup by registering it in the Windows (registered trademark) startup menu, registering it as a service, or registering it in the Windows (registered trademark) registry. As a result, the control tool 200 can be automatically activated.

制御ツール200は、例えば図29に示すように、一定時間おき(たとえば1分おき)
にSSD2から統計情報65を取得する。統計情報を取得する方式として、例えば、INCI
TS ACS-2に記述されている、メモリの自己診断機能であるS.M.A.R.T(Self-Monitoring A
nalysis and Reporting Technology)のコマンドであるSMART READ DATA(B0h(D0h))
又はACS-2に記述されているSCT Command Transportやその他ベンダー独自のコマンドを用
いてもよい。
For example, as shown in FIG. 29, the control tool 200 is arranged at regular intervals (for example, every minute).
The statistical information 65 is acquired from the SSD 2. As a method for obtaining statistical information, for example, INCI
SMART (Self-Monitoring A), a memory self-diagnosis function described in TS ACS-2
nalysis and Reporting Technology) SMART READ DATA (B0h (D0h))
Alternatively, SCT Command Transport described in ACS-2 or other vendor-specific commands may be used.

図30は、SSD2で管理される統計情報65(統計情報X01〜X19、X23、X
24)に関するテーブルを示すものである。S.M.A.R.Tを用いる場合、図30に示すよう
に、統計情報65の構成要素(X01〜X19、X23、X24など)それぞれに対し、
属性ID(attribute ID)を割り当るが、これら構成要素の一部のみに割り当ててもよい
のはもちろんである。これら統計情報65の構成要素に関し、規格化後、最良値としてSM
ABを採用し、規格化後の信頼性保証下限値としてSMAL=SMAB*AMALR(0≦AMALR<1)(SM
ALは整数で、四捨五入、小数点以下切り上げ、小数点以下切り上げのいずれかにより少数
から整数に変換される)を採用し、
attribute value = SMAL + SMAB×(1-AMALR)×(RMAX−生の値)/ RMAX
attribute Threshold=30(固定値)
RMAX=信頼性保証できる統計情報生の値の上限値
生の値=統計情報の生の値
により、SSDC41は、smart情報のattribute value(図30の「Value」)を計算し
て制御ツール200に送信する。attribute Thresholdは、図26の「Threshold」であり
、生の値は、図26の「Raw Data」である。
FIG. 30 shows statistical information 65 (statistical information X01 to X19, X23, X23) managed by SSD2.
24 shows a table relating to 24). When using SMART, as shown in FIG. 30, for each component of the statistical information 65 (X01 to X19, X23, X24, etc.)
Although attribute ID (attribute ID) is assigned, it is needless to say that it may be assigned to only a part of these components. With regard to the constituent elements of the statistical information 65, SM is set as the best value after normalization.
Adopting AB, SMAL = SMAB * AMALR (0 ≦ AMALR <1) (SM
AL is an integer, and is converted from a decimal number to an integer by rounding, rounding up the decimal point, or rounding up the decimal point)
attribute value = SMAL + SMAB x (1-AMALR) x (RMAX-raw value) / RMAX
attribute Threshold = 30 (fixed value)
RMAX = upper limit of raw value of statistical information that can guarantee reliability
Based on the raw value = the raw value of the statistical information, the SSDC 41 calculates the attribute value of smart information (“Value” in FIG. 30) and transmits it to the control tool 200. The attribute Threshold is “Threshold” in FIG. 26, and the raw value is “Raw Data” in FIG.

規格化後の最良値SMABは任意の自然数であればよく、たとえばSMAB=100を
採用してもよい。AMALRは0≦AMALR<1をみたす任意の数であればよく、たと
えばAMALR=0.3を採用してもよい。また、RMAX、AMALRおよびSMAB
は各X01〜X19、X23、X24に対して、それぞれ別の値を採用することができる
。SMAB=100で、AMALR=;0.3を採用した時、採用対象の統計情報に関し
てattribute valueの最良値が100(たとえば出荷直後に100)になっており、信頼
性が劣化するにつれて徐々に減少していき、SSD2が信頼性保証できなくなったとき(
統計情報の生の値がRMAXに等しいかそれ以上になったとき)、attribute valueが3
0かそれ以下の値に到達することになる。なお、Attribute ValueがThresholdを超過して
いるか否かをホスト3が検知する手段として、ACS-2に記載のコマンドであるB0h/DAh SMA
RT RETURN STATUSを用い、当該コマンドのOutputからAttribute ValueがThresholdを超過
しているか否かを判断してもよい。
The standardized best value SMAB may be any natural number. For example, SMAB = 100 may be adopted. The AMALR may be an arbitrary number satisfying 0 ≦ AMALLR <1, and for example, AMALR = 0.3 may be adopted. Also, RMAX, AMALR and SMAB
Can adopt different values for X01 to X19, X23, and X24. When SMAB = 100 and MALLR =; 0.3 is adopted, the best attribute value for the statistical information to be adopted is 100 (for example, 100 immediately after shipment), and gradually decreases as reliability deteriorates. When SSD2 can no longer guarantee reliability (
Attribute value is 3) when the raw value of the statistic is equal to or greater than RMAX)
A value of 0 or less will be reached. As a means for the host 3 to detect whether or not the attribute value exceeds the threshold, B0h / DAh SMA is a command described in ACS-2.
RT RETURN STATUS may be used to determine whether the Attribute Value exceeds the threshold from the output of the command.

RMAXは、たとえば図31のように統計情報の生の値とSSD2の不良率の関係を開
発段階に導き出し、不良率が許容値を超える時の統計情報生の値をRMAXとして採用す
ることが望ましい。たとえば、SSD2の開発段階で、多数個(たとえば100個)の試
験用SSD2群に対して高温で書き込み動作を繰り返しながら、書き込んだデータが一定
時間以上正しく記憶され続けるかを検証する摩耗試験を行い、同時に統計情報をモニタし
つづけ、不良率が一定割合に到達する時点での統計情報の生の値をRMAXとして採用す
ればよい。たとえば、摩耗したSSD2を高温状態である時間以上放置して、その後SS
D2の温度を下げ、SSD2に対して読み出し動作を行い、読み出したデータがECC訂
正できない場合(またはECC訂正できないデータが一定数以上の場合)、これをSSD
2の不良として定義し、不良数を、同等の試験を行ったSSD2の個数で割った値を不良
率として採用すればよい。この不良率が、前記許容できる不良率を統計的に有意に下回る
統計情報生の値をRMAXとして採用すればよい。RMAXにある程度マージンをもたせ
て、
RMAX´=RMAX−マージン
としたRMAX´をRMAXとして採用してもよい。
For RMAX, for example, as shown in FIG. 31, it is desirable to derive the relationship between the raw value of statistical information and the failure rate of SSD2 to the development stage, and to adopt the raw value of statistical information when the failure rate exceeds an allowable value as RMAX. . For example, during the SSD2 development stage, a wear test is performed to verify whether the written data continues to be stored correctly for a certain time or more while repeating the write operation at a high temperature for a large number (for example, 100) of test SSD2 groups. At the same time, the statistical information may be continuously monitored, and the raw value of the statistical information at the time when the defect rate reaches a certain ratio may be adopted as RMAX. For example, the worn SSD 2 is allowed to stand for a long time at a high temperature, and then SS
If the temperature of D2 is lowered and a read operation is performed on SSD2, and the read data cannot be ECC-corrected (or if the data that cannot be ECC-corrected is more than a certain number), this is converted to SSD
2 is defined as a defect rate, and a value obtained by dividing the number of defects by the number of SSDs 2 that have undergone an equivalent test may be adopted as the defect rate. The raw value of statistical information whose statistical failure rate is significantly lower than the acceptable failure rate may be adopted as RMAX. Give RMAX some margin,
RMAX ′ with RMAX ′ = RMAX−margin may be adopted as RMAX.

図30の「Worst」を制御ツール200がSSD2の寿命を診断する仕様として採用し
てもよい。「Worst」はattribute valueの最悪値としてSSDC41に計算される。たと
えば、X01〜X19、X23の場合、Worstは、たとえばSSD2が出荷後の(または
製造後の)、attribute valueの最小値である。あるいは、Worstとして、過去ある一定時
間範囲内のattribute valueの最小値をWorst Valueとして採用してもよいし、ある一定回
数(一定データ量)通信または処理が行われた過去にさかのぼって、その過去から現在に
至るまでの最小値をworst valueとして採用してもよい。
“Worst” in FIG. 30 may be adopted as a specification for the control tool 200 to diagnose the life of the SSD 2. “Worst” is calculated by the SSDC 41 as the worst value of the attribute value. For example, in the case of X01 to X19 and X23, Worst is the minimum value of the attribute value after the SSD 2 is shipped (or manufactured), for example. Alternatively, the minimum value of the attribute value within a certain fixed time range may be adopted as the worst value as the worst, or the past is traced back to the past in which communication or processing was performed a certain number of times (a constant amount of data). The minimum value from the current to the present may be adopted as the worst value.

図30の「Raw Data」(Raw Value)を制御ツール200がSSD2の寿命を診断する
仕様として採用してもよい。統計情報(たとえば、X01〜X19、X23、X24)の
生の値がRaw DataとしてSSD2から制御ツール200に送信される。この場合、制御ツ
ール200は、RMAXを制御ツール200内にすでに保持しているかSSD2から別途
読み出すかその他記憶装置から読み出すかしてRMAXを取得し、RMAXとRaw Dataを
比較し、Raw Data>RMAXまたはRaw Data≧RMAXとなった時、SSD2が寿命に到達したと
判断する。たとえば、NAND整理失敗フラグの場合、これが1である場合にSSD2が
寿命に到達したと判断する。たとえば、バッドブロック数総計の場合、これが所定値を上
回った場合にSSD2が寿命に到達したと判断する。Raw Dataとして、必ずしも統計情報
の生の値を出力する必要はなく、たとえば、統計情報の生の値を四則演算した値をRaw Da
taとしてSSDC41が制御ツール200に送信し、同じくRMAXを四則演算した値と
比較することで判定を行ってもよい。また、統計情報の生の値を暗号化したデータをRaw
DataとしてSSDC41が制御ツール200に送信し、SSDC41がこれを復号化して
復号化後のデータをRMAXと比較することで判定を行ってもよい。
“Raw Data” (Raw Value) in FIG. 30 may be adopted as a specification for the control tool 200 to diagnose the life of the SSD 2. Raw values of statistical information (for example, X01 to X19, X23, X24) are transmitted as raw data from the SSD 2 to the control tool 200. In this case, the control tool 200 acquires RMAX by holding RMAX in the control tool 200, reading it separately from the SSD 2, or reading it from other storage devices, compares RMAX with Raw Data, and Raw Data> RMAX. Alternatively, when Raw Data ≧ RMAX, it is determined that the SSD 2 has reached the end of its life. For example, in the case of the NAND rearrangement failure flag, when this is 1, it is determined that the SSD 2 has reached the end of its life. For example, in the case of the total number of bad blocks, when this exceeds a predetermined value, it is determined that the SSD 2 has reached the end of its life. As raw data, it is not always necessary to output the raw value of statistical information. For example, Raw Da
The SSDC 41 may transmit to the control tool 200 as ta, and the determination may be performed by comparing RMAX with a value obtained by performing four arithmetic operations. In addition, the raw data encrypted statistical data
The SSDC 41 may transmit the data to the control tool 200, and the SSDC 41 may perform the determination by decrypting the data and comparing the decrypted data with the RMAX.

上記のようにして、制御ツール200は、SSD2が寿命に到達したか否か(SSD2
が異常状態であるか否か)を判定し、SSD2が寿命に到達したと判定された場合(SS
D2が異常状態であると判定された場合)、後述する寿命到達時処理(ステップS205
)に移行する。統計情報65は、統計情報X01〜X19、X23、X24以外にも種々
の形態をとりうるが、本発明はこれらに対しても適用可能である。また、X01〜X19
、X23、X24と不良率の関係には正の相関関係が存在するが、不良率と負の相関関係
が存在する統計情報に対しても本発明は適用可能である。たとえば、SSD2が出荷後に
体験した最低温度などである。その場合、RMAXの代わりに、信頼性保証できる下限値
RMINを採用し、統計情報がRMINを下回った場合にSSD2が寿命に到達したと判
断すればよい。
As described above, the control tool 200 determines whether the SSD 2 has reached the end of its life (SSD 2
Is determined to be abnormal or not, and it is determined that the SSD 2 has reached the end of its life (SS
(When it is determined that D2 is in an abnormal state), a process at the end of life described later (step S205)
). The statistical information 65 can take various forms other than the statistical information X01 to X19, X23, and X24, but the present invention is also applicable to these. X01 to X19
, X23, X24 and the defect rate have a positive correlation, but the present invention is also applicable to statistical information having a defect rate and a negative correlation. For example, the minimum temperature experienced by the SSD 2 after shipment. In that case, instead of RMAX, the lower limit value RMIN that can guarantee the reliability is adopted, and when the statistical information falls below RMIN, it may be determined that the SSD 2 has reached the end of its life.

図29において、S.M.A.R.Tを用いる場合、制御ツール200は、一定時間おき(たと
えば1分おき)に統計情報の取得を行う(ステップS200:Yes)。制御ツール20
0は、統計情報取得コマンドであるACS−2に記載のB0h/D0h SMART R
EAD DATAを発行し(ステップS201)、SSD2から統計情報を含むデータを
受信し(ステップS202)、この受信したデータを診断する(ステップS203)。診
断方法は前述したとおりである。ステップS204において、SSD2が寿命に到達した
と制御ツール200が判断した時(ステップS204:Yes)、制御ツールは寿命到達
時処理に移行する(ステップS205)。SSD2が寿命に到達していなくても、統計情
報があらかじめ定められたRMAXを上回ったり、あるいは通常動作ではありえない異常
値を示した場合などにおいても、ステップS205の処理に移行することが望ましい。
In FIG. 29, when SMART is used, the control tool 200 acquires statistical information at regular time intervals (for example, every one minute) (step S200: Yes). Control tool 20
0 is B0h / D0h SMART R described in ACS-2 which is a statistical information acquisition command
EAD DATA is issued (step S201), data including statistical information is received from the SSD 2 (step S202), and the received data is diagnosed (step S203). The diagnostic method is as described above. In step S204, when the control tool 200 determines that the SSD 2 has reached the end of life (step S204: Yes), the control tool proceeds to the end of life process (step S205). Even if the SSD 2 has not reached the end of its service life, it is desirable to move to the processing of step S205 even when the statistical information exceeds a predetermined RMAX or indicates an abnormal value that cannot be a normal operation.

統計情報65以外の情報を用いて、寿命到達時処理に移行してもよい。たとえば、図3
2に示すように、制御ツール200は、OS100がSSD2から受信する応答情報(図
12参照)をOS100から取得(監視)し(ステップS210)、エラー応答であった
場合(ステップS211)、SSD2が異常状態に至ったと判断し、寿命到達時処理に移
行する(ステップS212)。監視する応答はどのようなコマンドに対する応答でもよい
が、たとえばACS−2記載の61h WRITE FPDMA QUEUEDや35h WRITE DMA EXTなどのSS
D2に対する書き込みコマンドに対する応答のみを監視することが、CPU4への負荷低
減の観点から望ましい。特に、SSD2が特許文献1として提示した特開2009−21
7603号公報の発明を採用したSSDである場合、SSD2が寿命に至ると、SSD2
への書き込みコマンドに対する応答がエラーで返ってくるようになるため、統計情報の取
得無しに寿命到達を判断することができる。なお、SSD2が特許文献1として提示した
特開2009−217603号公報の発明を採用したSSDで無い場合であっても本発明
が適用できることはもちろんである。
なお、SSD2が書き込みコマンドに対してエラーを返す状態である場合で、後述する
SSD2のブートローダの書き換えや緊急時OSの書き込み等書き込みを行う場合は、特
許文献1のReadOnlyモード状態において特殊な書き込みコマンド(例えばACS
−2に記述されているSCT Command Transportやその他ベンダー独
自コマンドなど)に対してはエラーを返さないようSSDC41を構成しておき、前述し
た特殊な書き込みコマンドを用いてSSD2に書き込みを行うことが望ましい。なお、S
SD2以外の記憶装置への書き込みには必要ない。あるいは、通常時OS時が、書き込み
コマンドとしてある書き込みコマンド(たとえば61h WRITE FPDMA QUEUED)のみを使うよ
うなOSである場合には、SSDC41が特許文献1のReadOnlyモードに至ると
、当該書き込みコマンド(たとえば61h WRITE FPDMA QUEUED)に対してエラーを返すよう
にSSDC41を構成し、別の書き込みコマンド(たとえば30h WRITE SECTOR(S))に対
してはエラーを返さないようにSSDC41を構成し、別の書き込みコマンド(たとえば
30h WRITE SECTOR(S))を用いてSSD2に対してブートローダや緊急時OSなどの書き
込みを行うようにしてもよい。
Information other than the statistical information 65 may be used to shift to the process at the end of life. For example, FIG.
2, the control tool 200 acquires (monitors) response information (see FIG. 12) received by the OS 100 from the SSD 2 from the OS 100 (step S210). If the error is a response (step S211), the control tool 200 It is determined that an abnormal state has been reached, and the process proceeds to the end of life process (step S212). The response to be monitored may be a response to any command, but for example, SS such as 61h WRITE FPDMA QUEUED or 35h WRITE DMA EXT described in ACS-2.
It is desirable from the viewpoint of reducing the load on the CPU 4 to monitor only the response to the write command to D2. In particular, Japanese Patent Application Laid-Open No. 2009-21 proposed by SSD2 as Patent Document 1.
In the case of an SSD adopting the invention of No. 7603, when the SSD 2 reaches the end of its life, the SSD 2
The response to the write command is returned with an error, so it is possible to determine the end of life without acquiring statistical information. Of course, the present invention can be applied even when the SSD 2 is not an SSD adopting the invention of Japanese Patent Laid-Open No. 2009-217603 presented as Patent Document 1.
When the SSD 2 is in a state of returning an error in response to a write command, when performing writing such as rewriting of the boot loader of the SSD 2 to be described later or writing in the emergency OS, a special write command is used in the ReadOnly mode state of Patent Document 1. (Eg ACS
It is desirable to configure the SSDC 41 so as not to return an error for the SCT Command Transport described in -2 and other vendor-specific commands, and to write to the SSD 2 using the special write command described above. . S
It is not necessary for writing to a storage device other than SD2. Alternatively, when the OS at normal time is an OS that uses only a write command (for example, 61h WRITE FPDMA QUEUED) as a write command, when the SSDC 41 reaches the ReadOnly mode of Patent Document 1, the write command (for example, 61h WRITE FPDMA QUEUED) is configured to return an error, and another write command (eg, 30h WRITE SECTOR (S)) is configured to return no error, and another write command is configured. (For example
30h WRITE SECTOR (S)) may be used to write the boot loader, emergency OS, etc. to SSD2.

監視対象のコマンドは、書き込みコマンド以外のコマンドであってもよいのはもちろん
である。たとえば、コマンド応答としてACS−2記載のB0H/D4H SMART EXECUTE OFF-LI
NE IMMEDIATEの応答(Outputs)やレポートを用いてもよいし、90h EXECUTE DEVICE DIAGNO
STICの応答を用いてもよい。
Of course, the command to be monitored may be a command other than the write command. For example, B0H / D4H SMART EXECUTE OFF-LI described in ACS-2 as a command response
NE IMMEDIATE response (Outputs) and reports can be used, or 90h EXECUTE DEVICE DIAGNO
STIC responses may be used.

あるコマンド応答がエラーであっても、同コマンドを再度送信するとエラーでない可能
性があり、この場合はSSD2が寿命に到達していない可能性があるため、再現性のある
コマンドエラーが発生した場合にのみ寿命到達時処理を行う観点では、コマンドエラーが
複数回発生した場合に寿命到達時処理を行うことが望ましい。さらに、エラー再現性を厳
密に判定する観点では、コマンドエラーが複数回連続で発生した場合に寿命到達時処理を
行うことが望ましい。あるいは、図33に示すように、SSD2へのコマンド監視中にコ
マンド応答がエラーで返ってきた場合(ステップS220、S221:Yes)、制御ツ
ール200またはOS100が同コマンドをSSD2に再度送信(コマンドリトライ)し
(ステップS222)、リトライしたコマンドがエラーした場合に(ステップS223:
Yes)、寿命到達時処理を行うようにしてもよい(ステップS224)。
Even if a command response is an error, if the command is sent again, it may not be an error. In this case, SSD2 may not have reached its end of life, so if a reproducible command error occurs From the viewpoint of performing the process at the end of the lifetime only, it is desirable to perform the process at the end of the lifetime when a command error occurs a plurality of times. Furthermore, from the viewpoint of strictly determining the error reproducibility, it is desirable to perform the process at the end of life when a command error occurs continuously a plurality of times. Alternatively, as shown in FIG. 33, when a command response is returned as an error during command monitoring to the SSD 2 (steps S220 and S221: Yes), the control tool 200 or the OS 100 transmits the command to the SSD 2 again (command retry). (Step S222), and when the retried command has an error (Step S223:
Yes), a process at the end of the life may be performed (step S224).

(寿命到達時処理)
つぎに、寿命到達時処理(異常状態時処理)について説明する。第1の実施形態では、
通常時OSおよび緊急時OSがSSD2にすでに格納されている場合での寿命到達時処理
について説明する。通常時OS100A、緊急時OS100Bおよびブートローダ300
は、図7〜図11に示したように、たとえば、コンピュータシステム1の出荷前にコンピ
ュータシステム1の製造業者によりSSD2に書き込まれているか、コンピュータシステ
ム1の出荷後にユーザがDVD−ROMやUSBメモリやSSDなどのインストールディ
スクによりインストールを行うか、コンピュータシステム1の出荷後にユーザがWEBか
らインストールイメージをダウンロードしダウンロードしたインストールイメージを使っ
てインストールを行うことで、SSD2に書き込まれる。NANDメモリ16において、
図7に示すように、ブートローダ300は領域16Cに、通常時OS100Aは領域16
Dに、緊急時OS100Bは領域16Eに書き込まれており、RAM40に格納される管
理情報44により、領域16C、領域16D、領域16EにはそれぞれLBAが割り当て
られている。領域16CにはLBA16Cが、領域16DにはLBA16Dが、領域16
EにはLBA16Eが割り当てられているとする。ブートローダ300内で保持される前
述のOSポインタ情報OSPT(読み出すべきOSのLBAを示しているポインタ情報)
にも、同様にLBAが割り当てられており、OSPTに割り当てられるLBAをLBAO
SPTと呼称する。LBAOSPTはLBA16Cに含まれている。
(Processing at end of life)
Next, the process at the time of reaching the end of life (processing in the abnormal state) will be described. In the first embodiment,
A process at the end of the life when the normal-time OS and the emergency OS are already stored in the SSD 2 will be described. Normal OS 100A, emergency OS 100B, and boot loader 300
7 to 11, for example, the computer system 1 is written by the manufacturer of the computer system 1 on the SSD 2 before the shipment of the computer system 1, or the user can read the DVD-ROM or USB memory after the computer system 1 is shipped. It is written on the SSD 2 by performing installation using an installation disk such as or SSD, or by installing the installation image downloaded by the user after downloading the computer system 1 from the WEB. In the NAND memory 16,
As shown in FIG. 7, the boot loader 300 is in the area 16C, and the normal OS 100A is in the area 16C.
D, the emergency OS 100B is written in the area 16E, and LBAs are assigned to the areas 16C, 16D, and 16E, respectively, according to the management information 44 stored in the RAM 40. The area 16C has the LBA 16C, the area 16D has the LBA 16D, the area 16
Assume that L is assigned EBA16E. The aforementioned OS pointer information OSPT (pointer information indicating the LBA of the OS to be read) held in the boot loader 300
Similarly, LBA is assigned to the LBA assigned to OSPT.
This is called SPT. LBAOSPT is included in LBA16C.

制御ツール200は、ブートローダ300を書き換えることで、次回以降コンピュータ
システム1が起動されたときには、通常時OS100Aではなく緊急時OS100Bがホ
スト装置3の主メモリ6上の領域6Aに読み出されるようにする。通常時OS100Aが
OS100としてCPU4に使用されている時は、ホスト装置3はSSD2に対して書き
込み動作を行う恐れがあり、それによりSSD2の寿命がさらに短くなったり、SSD2
に書き込んだデータやすでに書き込まれているデータを破壊してしまう可能性がある。一
方、本実施形態により、通常時OS100Aではなく、緊急時OS100Bを主メモリ6
上の領域6Aに読み出し、CPU4が緊急時OS100Bをオペレーティングとして使用
しているときは、ホスト3がSSD2に対して書き込み動作を行うことは禁止されるため
、SSD2のデータが破壊されたりSSD2が読み出し不可能になったりする前に、SS
D2のデータを読み出したり、SSD2に格納されているユーザデータを別の記憶媒体に
バックアップしたりすることが可能になる。
The control tool 200 rewrites the boot loader 300 so that the emergency OS 100B is read into the area 6A on the main memory 6 of the host device 3 instead of the normal OS 100A when the computer system 1 is started next time. When the OS 100A is normally used by the CPU 4 as the OS 100, the host device 3 may perform a write operation on the SSD 2, thereby further shortening the life of the SSD 2, or the SSD 2
There is a possibility of destroying data written to or already written data. On the other hand, according to the present embodiment, the emergency OS 100B is not the main memory 6 but the normal OS 100A.
When reading to the upper area 6A and the CPU 4 is using the emergency OS 100B as an operating system, the host 3 is prohibited from performing a write operation on the SSD 2, so the data of the SSD 2 is destroyed or the SSD 2 is read. Before it becomes impossible, SS
It becomes possible to read the data of D2 and back up the user data stored in the SSD 2 to another storage medium.

たとえば図29のステップS205で寿命到達時処理が呼び出されると、図34に示す
ように、制御ツール200はブートローダ300を書き換えて、次回以降コンピュータシ
ステム1が起動されたときには、通常時OS100Aではなく緊急時OS100Bが主メ
モリ6上の領域6Aに読み出されるようにする。たとえば、制御ツール200は、LBA
OSPTに対して、書き込みデータとしてLBA16Eを書き込む。これにより、次回以
降コンピュータシステム1が起動されると、CPU4はOSポインタ情報OSPTを読み
出し、OSポインタ情報OSPTの示すLBAであるLBA16Eに対して読み出し命令
を送信することで、緊急時OS100Bを読み出すことができる。ブートローダ300の
書き換え前後で、制御ツール200がディスプレイ9を通して、「SSDが寿命に到達し
ました。緊急時OSを有効にします。」という旨の表示を行ってもよい。
For example, when the end-of-life process is called in step S205 of FIG. 29, as shown in FIG. 34, the control tool 200 rewrites the boot loader 300 and the next time the computer system 1 is started up, the emergency OS 100A is not used. The OS 100B is read to the area 6A on the main memory 6. For example, the control tool 200 is an LBA
LBA 16E is written as write data to OSPT. As a result, when the computer system 1 is started after the next time, the CPU 4 reads the OS pointer information OSPT and reads the emergency OS 100B by transmitting a read command to the LBA 16E which is the LBA indicated by the OS pointer information OSPT. Can do. Before and after the rewriting of the boot loader 300, the control tool 200 may display through the display 9 that “SSD has reached the end of its life.

図34では、寿命到達時処理としてブートローダ300の書き換えのみを行ったが、図
35に示すように、制御ツール200は、ステップS240でのブートローダ書き換え後
に、コンピュータシステム1に対してリセットコマンドを送信したり、通常時OSに対し
てリセットコマンドを送信したりすることにより、コンピュータシステム1を再起動して
もよい(ステップS241)。
In FIG. 34, only the boot loader 300 is rewritten as the process at the end of the life, but as shown in FIG. 35, the control tool 200 transmits a reset command to the computer system 1 after the boot loader rewrite in step S240. Alternatively, the computer system 1 may be restarted by transmitting a reset command to the normal OS (step S241).

また、図36に示すように、ステップS250でのブートローダ書き換え後に、ディス
プレイ9を通して、「SSDが寿命に到達しました。緊急時OSを有効にします。今すぐ
再起動しますか?」という旨のテキスト表示と、OKボタンの表示を行い(ステップS2
51)、OKボタンがたとえばマウス15やキーボード14により押下されたとき(ステ
ップS252:Yes)、コンピュータシステム1を再起動するようにしてもよい(ステ
ップS253)。また、OKボタンの表示の代わりに、コマンドプロンプト画面で「SS
Dが寿命に到達しました。緊急時OSを有効にします。今すぐ再起動しますか?y:Ye
s, n:No」というテキスト表示を行い、キーボード14から“y”とエンターキーを
入力されたとき、コンピュータシステム1を再起動するようにしてもよい。
As shown in FIG. 36, after rewriting the boot loader in step S250, through the display 9, "SSD has reached the end of life. Activate the emergency OS. Do you want to restart now?" Text display and OK button display are performed (step S2
51) When the OK button is pressed by, for example, the mouse 15 or the keyboard 14 (step S252: Yes), the computer system 1 may be restarted (step S253). Also, instead of displaying the OK button, “SS” is displayed on the command prompt screen.
D has reached the end of its life. Enable emergency OS. Do you want to restart now? y: Ye
The text “s, n: No” may be displayed, and the computer system 1 may be restarted when “y” and the enter key are input from the keyboard 14.

図37は、コンピュータシステム1の再起動時の動作手順を示すものである。コンピュ
ータシステム1が再起動されると、CPU4は領域16Cに対応するLBAおよびLBA
OSPTを使用してブートローダ300およびOSポインタ情報OSPTをSSD2から
読み出す(ステップS260)。つぎに、CPU4は、ブートローダ300を使用して所
要のブート処理を行うとともに、OSポインタ情報OSPTを解析し、OSポインタ情報
OSPTが示すLBAを特定する。そして、CPU4は、特定したLBAに対する読み出
し命令をSSD2へ送信することで、OSポインタ情報OSPTが指定するOSをSSD
2から読み出す。したがって、OSポインタ情報OSPTが示すLBAが通常時OS10
0Aの記憶領域である領域16Dを指定しているときには(ステップS261:Yes)
、通常時OA100Aが領域16Dから読み出されて主メモリ6上の領域6Aに書き込ま
れ(ステップS262)、OSポインタ情報OSPTが示すLBAが緊急時OS100B
の記憶領域である領域16Eを指定しているときには(ステップS261:No)、緊急
時OA100Bが領域16Eから読み出されて主メモリ6上の領域6Aに書き込まれる(
ステップS263)。このように、制御ツール200による寿命到達時処理によってブー
トローダ300のOSポインタ情報OSPTが、緊急時OS100Bを読み出すように書
き換えられているときには、緊急時OA100Bが領域16Eから読み出されて主メモリ
6上の領域6Aに書き込まれることになる。
FIG. 37 shows an operation procedure when the computer system 1 is restarted. When the computer system 1 is restarted, the CPU 4 determines the LBA and LBA corresponding to the area 16C.
The boot loader 300 and the OS pointer information OSPT are read from the SSD 2 using the OSPT (step S260). Next, the CPU 4 performs a required boot process using the boot loader 300, analyzes the OS pointer information OSPT, and specifies the LBA indicated by the OS pointer information OSPT. Then, the CPU 4 transmits the read command for the specified LBA to the SSD 2, thereby setting the OS designated by the OS pointer information OSPT to the SSD.
Read from 2. Therefore, the LBA indicated by the OS pointer information OSPT is the normal time OS10.
When the area 16D which is the storage area of 0A is designated (step S261: Yes)
The normal time OA 100A is read from the area 16D and written to the area 6A on the main memory 6 (step S262), and the LBA indicated by the OS pointer information OSPT is the emergency OS 100B.
Is specified (step S261: No), the emergency OA 100B is read from the area 16E and written to the area 6A on the main memory 6 (
Step S263). As described above, when the OS pointer information OSPT of the boot loader 300 is rewritten so as to read the emergency OS 100B by the process at the end of life by the control tool 200, the emergency OA 100B is read from the area 16E and stored in the main memory 6. Is written in the area 6A.

(バックアップ機能)
ユーザがSSD2のユーザデータを他の記憶装置に容易にバックアップしやすくすると
いう観点では、緊急時OS100Bに、ユーザデータバックアップ機能を付加することが
望ましい。SSD2が寿命に到達したと考えられる状態では、SSD2のデータリテンシ
ョン特性が悪化していると考えられるため、できるだけ早急にSSD2上のユーザデータ
を他のバックアップ用記憶装置にデータを退避させることが必要である。
(Backup function)
From the viewpoint of allowing the user to easily back up user data of the SSD 2 to another storage device, it is desirable to add a user data backup function to the emergency OS 100B. In a state where the SSD 2 is considered to have reached the end of its life, the data retention characteristics of the SSD 2 are considered to have deteriorated. Therefore, it is necessary to save the user data on the SSD 2 to another backup storage device as soon as possible. It is.

図38は、緊急時OS100Bがバックアップ機能を搭載している場合の、ホスト装置
3の構成を示す図である。ホスト装置3には、インタフェース19(本実施形態ではSA
TAインタフェースを採用する)を介して、バックアップ用記憶装置(他のSSD、ハー
ドディスクドライブなど)150が接続されている。バックアップ用記憶装置150はコ
ンピュータシステム1の出荷時には搭載されている必要が無く、たとえばユーザが別途購
入したSSDをバックアップ用記憶装置150として用いる場合は、SSDのSATAポ
ートをSATAケーブルを経由してマザーボード30(図13参照)に接続し、SSD2
の電源ポートを電源ケーブルを経由して電源32に接続するとよい。
FIG. 38 is a diagram showing a configuration of the host device 3 when the emergency OS 100B has a backup function. The host device 3 has an interface 19 (SA in this embodiment).
A backup storage device (other SSD, hard disk drive, etc.) 150 is connected via a TA interface. The backup storage device 150 does not need to be installed when the computer system 1 is shipped. For example, when an SSD purchased separately by the user is used as the backup storage device 150, the SATA port of the SSD is connected to the motherboard via the SATA cable. 30 (see FIG. 13) and SSD2
Is preferably connected to the power source 32 via a power cable.

図39は、緊急時OS100Bにバックアップ機能を付加した場合の、緊急時OS10
0Bの起動手順の一例を示すものである。図39のステップS270〜S273の動作は
、図37のステップS260〜S263の動作と同じである。図39では、図37に示し
たコンピュータシステム1の起動手順にステップS274〜S276を追加している。緊
急時OS100Bの起動後、ステップS274以降の処理は、たとえば、ユーザがキーボ
ード14やマウス15を介して緊急時OS100Bのプログラムメニューからバックアッ
プ機能を選択するか、あるいは、緊急時OS100Bが起動すると自動的に開始される。
バックアップ処理の前に、ディスプレイ9に「バックアップするか?」というメッセージ
と、OKボタンを表示して、バックアップするタイミングをユーザが自由に選択できるよ
うにすることが望ましい。マウス15やキーボード14によりOKボタンを選択すると、
ステップS275のYesにすすむ。あるいは、ディスプレイ9に、コマンドプロンプト
経由で「バックアップするか?Yes:Y、No:N」というメッセージを表示して、キ
ーボード14からYボタンとエンターキーを押すことでステップS275のYesにすす
むようにしてもよい。このようにして、バックアップ機能が選択されると(ステップS2
75:Yes)、緊急時OS100Bはバックアップ処理を開始する。
FIG. 39 shows an emergency OS 10 when a backup function is added to the emergency OS 100B.
An example of the start procedure of 0B is shown. The operations in steps S270 to S273 in FIG. 39 are the same as the operations in steps S260 to S263 in FIG. In FIG. 39, steps S274 to S276 are added to the startup procedure of the computer system 1 shown in FIG. After the emergency OS 100B is activated, the processes in and after step S274 are automatically performed when, for example, the user selects a backup function from the program menu of the emergency OS 100B via the keyboard 14 or the mouse 15, or when the emergency OS 100B is activated. To begin.
Before the backup process, it is desirable to display a message “Do you want to backup?” And an OK button on the display 9 so that the user can freely select the backup timing. When the OK button is selected with the mouse 15 or the keyboard 14,
Proceed to Yes in step S275. Alternatively, a message “Do you want to back up? Yes: Y, No: N” is displayed on the display 9 via the command prompt, and the Y button and the enter key are pressed from the keyboard 14 to proceed to Yes in step S275. Good. When the backup function is selected in this way (step S2
75: Yes), the emergency OS 100B starts backup processing.

バックアップ処理の内容としては、たとえば、緊急時OS100Bは、SSD2から読
み出したデータのLBA(SSD2のLBA)と同一のLBA(バックアップ用記憶装置
150上のLBA)に、SSD2から読み出したデータを書き込む(LBA単位のバック
アップ)。例えば、SSD2上のLBA=0hのデータはバックアップ用記憶装置150
上のLBA=0hにコピーされる(ステップS276)。また、SSD2上のLBA=2
34c5hのデータはバックアップ用記憶装置150上のLBA=234c5hにコピー
される。データのコピーは、SSD2に対し、たとえばACS−2記載の60h READ FPDMA
QUEUEDや25h READ DMA EXTコマンドをLBAおよびセクタ長を指定して送信し、SSD
2から読み出しデータを受信して主メモリ6に書き込み、たとえばACS−2記載の61h
WRITE FPDMA QUEUEDや35h WRITE DMA EXTをバックアップ用記憶装置150にLBAおよ
びセクタ長を指定して送信し、主メモリ6に書き込んだデータをバックアップ用記憶装置
150に送信することで実行される。バックアップ処理は全LBA領域について行っても
よいが、一部のLBA領域についてのみ行ってもよい。
As the contents of the backup processing, for example, the emergency OS 100B writes the data read from the SSD 2 to the same LBA (LBA on the backup storage device 150) as the LBA of the data read from the SSD 2 (LBA of the SSD 2) ( LBA backup). For example, the data of LBA = 0h on the SSD 2 is stored in the backup storage device 150.
The upper LBA = 0h is copied (step S276). In addition, LBA = 2 on SSD2
The data 34c5h is copied to LBA = 234c5h on the backup storage device 150. Copy data to SSD2, for example 60h READ FPDMA described in ACS-2
Send QUEUED or 25h READ DMA EXT command with LBA and sector length specified, SSD
2 receives the read data and writes it to the main memory 6, for example 61h described in ACS-2
WRITE FPDMA QUEUED or 35h WRITE DMA EXT is transmitted by specifying the LBA and sector length to the backup storage device 150, and the data written in the main memory 6 is transmitted to the backup storage device 150. The backup process may be performed for all LBA areas, but may be performed only for some LBA areas.

なお、このバックアップ処理の際、緊急時OS100Bは、SSD2の全ファイルをバ
ックアップ用記憶装置150にコピーするようにしてもよい。多くのOSにおいては、ユ
ーザはLBAを直接指定してデータにアクセスするのではなく、ファイルID(ファイル
名)を用いてデータにアクセスする。例えば、SSD2は、図40に示すように、ファイ
ルIDとLBAやセクタ長を関連付けるファイル管理テーブル140を格納している。管
理情報44によってファイル管理テーブル140にもLBAが割り当てられている。通常
時OS100Aは、図12に示したその他ソフトウェアから受信したファイルIDを、フ
ァイル管理テーブル140をもとにLBAに変換してSSD2に送信したり、SSD2か
ら受信したLBAをファイル管理テーブル140をもとにファイルIDに変換してその他
ソフトウェアに送信したりする。バックアップ処理において、緊急時OS100Bはファ
イル管理テーブル140をSSD2から読み出し、ファイルIDそれぞれに対し、ファイ
ル管理テーブル140で対応しているLBAのデータを読み出すコマンド(60h READ FPD
MA QUEUEDや25h READ DMA EXTコマンドなど)をSSD2に送信し、SSD2から読み出
しデータを受信して主メモリ6に書き込む。さらに、緊急時OS100Bは、バックアッ
プ用記憶装置150のファイル管理テーブル(図示せず)を読み出し、まだファイルID
の割り当てられていないLBAに対し主メモリ6に書き込んだデータを書き込み、書き込
んだLBAとファイル名を対応付けるようSSD2の全ファイルの全LBAを取得し、取
得したLBAの全データを読み出し、読み出したデータをバックアップ用記憶装置150
に書き込み、書き込んだLBAとファイルIDが対応付けられるようにバックアップ用記
憶装置150のファイル管理テーブル(図示せず)を書き換える。バックアップ処理は全
ファイルについて行ってもよいが、一部のファイルについてのみ行ってもよい。
In this backup process, the emergency OS 100B may copy all the files of the SSD 2 to the backup storage device 150. In many OSs, a user does not access data by directly specifying an LBA, but accesses data using a file ID (file name). For example, as shown in FIG. 40, the SSD 2 stores a file management table 140 that associates file IDs with LBAs and sector lengths. The LBA is also assigned to the file management table 140 by the management information 44. The normal-time OS 100A converts the file ID received from the other software shown in FIG. 12 into an LBA based on the file management table 140 and transmits it to the SSD 2, or stores the LBA received from the SSD 2 in the file management table 140. Or convert it into a file ID and send it to other software. In the backup process, the emergency OS 100B reads the file management table 140 from the SSD 2, and reads the LBA data corresponding to each file ID in the file management table 140 (60h READ FPD
MA QUEUED, 25h READ DMA EXT command, etc.) are transmitted to SSD 2, read data is received from SSD 2 and written to main memory 6. Further, the emergency OS 100B reads a file management table (not shown) in the backup storage device 150 and still has a file ID.
The data written to the main memory 6 is written to the LBA to which no data is assigned, all the LBAs of all the files of the SSD 2 are acquired so that the written LBAs are associated with the file names, all the data of the acquired LBAs are read, and the read data Backup storage device 150
And the file management table (not shown) of the backup storage device 150 is rewritten so that the written LBA and the file ID are associated with each other. The backup process may be performed for all files, but may be performed for only some files.

また、バックアップ用記憶装置150にバックアップデータを書き込む際、SSD2か
ら読み出したデータを圧縮して書き込んでもよい。また、ファイル管理テーブル140を
はじめとするSSD2の管理情報を読み出し、使用されている領域やファイルの情報を取
得し、取得した情報をもとに、SSD2のデータについてのROMイメージを作成し、作
成したROMイメージを他のバックアップ用記憶装置150に保存するようにしてもよい
Further, when the backup data is written to the backup storage device 150, the data read from the SSD 2 may be compressed and written. Also, read the management information of SSD2 including the file management table 140, acquire the information of the used area and file, create the ROM image for the data of SSD2 based on the acquired information, create The ROM image may be stored in another backup storage device 150.

上記説明では、バックアップ用記憶装置として、SATAインタフェースで接続される
SATAデバイスである場合を採用したが、その他のバックアップ用記憶装置を用いても
よいのはもちろんである。たとえば、図41に示すように、バックアップ用記憶装置とし
てUSBメモリやUSB対応SSDなどのUSBストレージデバイス151を採用しても
よく、図42に示すように、バックアップ用記憶装置としてDVD−RやDVD−RWや
Blu−ray(登録商標) Discなどのような書き込み可能な光学ドライブ152
を採用してもよく、図43に示すように、バックアップ用記憶装置としてインターネット
やLAN経由で接続されたネットワークストレージサーバ153を採用してもよい。また
、当該バックアップ機能は他の実施形態の場合にも適用可能である。
In the above description, the backup storage device is a SATA device connected via the SATA interface, but other backup storage devices may be used. For example, as shown in FIG. 41, a USB storage device 151 such as a USB memory or a USB-compatible SSD may be adopted as a backup storage device. As shown in FIG. 42, a DVD-R or DVD is used as a backup storage device. A writable optical drive 152 such as RW or Blu-ray (registered trademark) Disc
As shown in FIG. 43, a network storage server 153 connected via the Internet or a LAN may be used as a backup storage device. The backup function can also be applied to other embodiments.

図7に示したように、緊急時OS100Bの格納領域16Eは管理情報44でLBAに
対応付けられているとした。一方、ユーザによって不用意に領域16Eのデータが書き換
えられてしまうことを防止するためには、SSD2の出荷時にLBAを割り当てることな
く格納領域16Eに緊急時OSを記録しておいて、寿命到達時処理時に、制御ツール20
0がSCT Command Transportやベンダー独自のコマンドをSSD2
に送信することにより、SSDC41が管理情報44を書き換えて領域16EにLBAを
割り当てるようにしてもよい。あるいは、LBAが割り当てられている領域16EのLB
A Rangeを含むSCT Command Transportやベンダー独自のコ
マンドを制御ツール200がSSD2に送信することにより、領域16EがLBAに割り
当てられないようにSSDC41が管理情報44を書き換え、寿命到達時処理時に、制御
ツール200がSCT Command Transportやベンダー独自のコマンド
をSSD2に送信することにより、SSDC41が管理情報44を書き換えて領域16E
にLBAを割り当てるようにしてもよい。
As shown in FIG. 7, the storage area 16E of the emergency OS 100B is associated with the LBA in the management information 44. On the other hand, in order to prevent the user from inadvertently rewriting the data in the area 16E, the emergency OS is recorded in the storage area 16E without allocating the LBA when the SSD 2 is shipped, and the life is reached. Control tool 20 during processing
0 is SCT Command Transport or a vendor-specific command SSD2
, The SSDC 41 may rewrite the management information 44 and assign an LBA to the area 16E. Alternatively, the LB of the area 16E to which the LBA is allocated
When the control tool 200 sends an SCT Command Transport including A Range and a vendor-specific command to the SSD 2, the SSDC 41 rewrites the management information 44 so that the area 16E is not allocated to the LBA, and the control tool When 200 sends SCT Command Transport or a vendor-specific command to SSD 2, SSDC 41 rewrites management information 44 and stores area 16E.
An LBA may be assigned to the.

このように第1の実施形態によれば、制御ツール200は、SSD2が寿命に到達した
か否か、SSD2が正常な状態であるか否かを判定し、SSD2が寿命に到達したと判定
された場合やSSD2が異常な状態であると判定された場合、ブートローダ300を、書
き込み動作をサポートしていない緊急時OSが起動されるように書き換え、コンピュータ
システム1を再起動した際、緊急時OSが起動されるようにすることで、SSD2に対す
る書き込み動作を禁止、あるいはSSD2に対する書き込み動作を陽に行わないようにす
ることで、SSD2の信頼性劣化を防止し、SSD2に書き込むデータやSSDにすでに
書き込まれているデータが破壊されることを防止し、ユーザがユーザデータを容易にSS
D2から読み出したり他の記憶装置にバックアップしたりすることを実現する。
Thus, according to the first embodiment, the control tool 200 determines whether or not the SSD 2 has reached the end of its life, whether or not the SSD 2 is in a normal state, and is determined that the SSD 2 has reached the end of its life. Or when it is determined that the SSD 2 is in an abnormal state, the boot loader 300 is rewritten so that an emergency OS that does not support the writing operation is started, and when the computer system 1 is restarted, the emergency OS Is activated to prohibit the write operation to the SSD 2 or to prevent the write operation to the SSD 2 from being performed explicitly, thereby preventing the reliability of the SSD 2 from being deteriorated. Prevents data being written from being destroyed and allows users to easily access user data.
Reading from D2 or backing up to another storage device is realized.

(第2の実施形態)
第1の実施形態では、通常時OS100Aおよび緊急時OS100Bの双方がSSD2
のNANDメモリ16に格納されている場合について説明した。第2の実施形態では、通
常時OS100AがSSD2に格納されており、緊急時OS100BがSSD2に格納さ
れていない場合について説明する。第2の実施形態では、図33のステップS224に示
した寿命到達時処理の際のブートローダ300の書き換え処理(図34、図35のステッ
プS240参照)の前後で、制御ツール200が緊急時OS100Bを、SSD2と異な
る外部記憶装置20(図8参照)からSSD2のNANDメモリ16の領域16Eにイン
ストールする。ユーザが不用意に、SSD2の緊急時OSが格納された領域16Eを書き
換えることで緊急時OS用データが破壊されることを防止する観点、領域16Eの確保に
よりSSD2の空き領域が減少することを防止する観点では、第2の実施形態を採用する
ことが望ましい。
(Second Embodiment)
In the first embodiment, both the normal OS 100A and the emergency OS 100B are both SSD2
The case where the data is stored in the NAND memory 16 has been described. In the second embodiment, a case where the normal-time OS 100A is stored in the SSD 2 and the emergency OS 100B is not stored in the SSD 2 will be described. In the second embodiment, the control tool 200 sets the emergency OS 100B before and after the boot loader 300 rewriting process (see step S240 in FIG. 34 and FIG. 35) at the end of life process shown in step S224 in FIG. Then, the external storage device 20 (see FIG. 8) different from the SSD 2 is installed in the area 16E of the NAND memory 16 of the SSD 2. From the viewpoint of preventing the emergency OS data from being destroyed by inadvertently rewriting the area 16E in which the emergency OS of the SSD 2 is stored, the free area of the SSD 2 is reduced by securing the area 16E. From the viewpoint of prevention, it is desirable to adopt the second embodiment.

また、制御ツール200は、例えば、図9に示したように、ブートローダ300の書き
換え前後で、WEBサーバ21から緊急時OS100Bのデータまたはインストールプロ
グラムをダウンロードし、ダウンロードデータをもとにSSD2のNANDメモリ16の
領域16Eに緊急時OS100Bをインストールする。または、制御ツール200は緊急
時OSのデータまたはインストールプログラムを格納しているWEBサーバのアドレスを
ディスプレイ9を通じてユーザに表示するようにしてもよい。
For example, as shown in FIG. 9, the control tool 200 downloads the emergency OS 100B data or the installation program from the WEB server 21 before and after rewriting the boot loader 300, and based on the downloaded data, the NAND memory of the SSD 2 The emergency OS 100B is installed in the 16 area 16E. Alternatively, the control tool 200 may display the emergency OS data or the address of the WEB server storing the installation program to the user through the display 9.

あるいは、図10や図11に示したように、制御ツール200は、ブートローダ300
の書き換え前後で、外部記憶媒体(DVD−ROMのような光学メディア、USBメモリ
、SDカード、SSDなど)23、24から緊急時OS100BをSSD2のNANDメ
モリ16の領域16Eにインストールするようにしてもよい。あるいは、制御ツール20
0は、ブートローダ300の書き換え前後で、緊急時OS100Bのインストールプログ
ラムが格納された外部記憶媒体(DVD−ROMのような光学メディア、USBメモリ、
SDカード、SSDなど)をセットするように、ディスプレイ9を通じてユーザにメッセ
ージを表示するようにしてもよい。
Alternatively, as illustrated in FIGS. 10 and 11, the control tool 200 may include a boot loader 300.
Before and after rewriting, the emergency OS 100B may be installed in the area 16E of the NAND memory 16 of the SSD 2 from the external storage medium (optical medium such as DVD-ROM, USB memory, SD card, SSD, etc.) 23, 24. Good. Alternatively, the control tool 20
0 is an external storage medium (optical medium such as a DVD-ROM, USB memory, etc.) in which the installation program of the emergency OS 100B is stored before and after the boot loader 300 is rewritten.
A message may be displayed to the user through the display 9 so as to set an SD card, SSD, etc.

NANDメモリ16への緊急時OS100Bのインストール時、NANDメモリ16へ
の書き込みが発生するので、NANDメモリ16の信頼性劣化やデータ破壊を防止する観
点では、緊急時OSのデータ量はNANDメモリ16の容量に対して大幅に小さいことが
望ましい。
Since the writing to the NAND memory 16 occurs when the emergency OS 100B is installed in the NAND memory 16, the data amount of the emergency OS is the same as that of the NAND memory 16 from the viewpoint of preventing the reliability deterioration and the data destruction of the NAND memory 16. It is desirable to be significantly smaller than the capacity.

(第3の実施形態)
第3の実施形態では、通常時OS100Aおよび緊急時OS100BがSSD2とは別
の不揮発性記憶装置20に格納されている場合の寿命到達時処理について説明する。図8
に示したように、通常時OS100Aおよび緊急時OS100BがSSD2とは別の不揮
発性記憶装置20に格納されてSSD2に格納されていない場合や、どちらか一方がSS
D2に格納されていてもう一方が不揮発性記憶装置20に格納されている場合にも本発明
は適用可能である。その場合、制御ツール200はSSD2のブートローダだけでなく、
不揮発性記憶装置20のブートローダに対しても書き換えを行う必要がある場合がある。
(Third embodiment)
In the third embodiment, a process at the end of life when the normal-time OS 100A and the emergency OS 100B are stored in a non-volatile storage device 20 different from the SSD 2 will be described. FIG.
As shown in FIG. 5, when the normal OS 100A and the emergency OS 100B are stored in the non-volatile storage device 20 different from the SSD 2 and are not stored in the SSD 2, or one of them is the SS
The present invention is also applicable to the case where the other is stored in the nonvolatile storage device 20 while being stored in D2. In that case, the control tool 200 is not only an SSD2 boot loader,
It may be necessary to rewrite the boot loader of the nonvolatile storage device 20.

通常時OS100Aおよび緊急時OS100BがSSD2とは別の不揮発性記憶装置2
0に格納されている場合、制御ツール200は不揮発性記憶装置20の記憶されているブ
ートローダ300の書き換えを行い、SSD2のブートローダの書き換えは行わない。
The non-volatile storage device 2 in which the normal time OS 100A and the emergency OS 100B are different from the SSD 2
When stored in 0, the control tool 200 rewrites the boot loader 300 stored in the nonvolatile storage device 20, and does not rewrite the boot loader of the SSD2.

通常時OS100AがSSD2に格納されており、緊急時OS100Bが不揮発性記憶
装置20に格納されている場合は、制御ツール200は、SSD2と不揮発性記憶装置2
0の両方のブートローダの書き換えを行うことが望ましい。不揮発性記憶装置20がホス
ト装置3から取り外されている状態でコンピュータシステム1が起動された場合、SSD
2への書き込みアクセスが不用意に発生することを防止する観点では、通常時OSが起動
しないようブートローダが構成されることが望ましい。
When the normal OS 100A is stored in the SSD 2 and the emergency OS 100B is stored in the nonvolatile storage device 20, the control tool 200 uses the SSD 2 and the nonvolatile storage device 2.
It is desirable to rewrite both 0 boot loaders. When the computer system 1 is started with the nonvolatile storage device 20 removed from the host device 3, the SSD
From the viewpoint of preventing inadvertent write access to 2, it is desirable that the boot loader be configured so that the OS does not start up at normal times.

緊急時OS100BがSSD2に格納されており、通常時OS100Aが不揮発性記憶
装置20に格納されている場合は、SSD2と不揮発性記憶装置20の両方のブートロー
ダの書き換えを行うことが望ましいが、不揮発性記憶装置20のブートローダを書き換え
るだけでもよい。この場合は、不揮発性記憶装置20がホスト装置3から取り外されてい
る状態でコンピュータシステム1が起動された場合においても、SSD2のブートローダ
300の読み出しを行ってSSD2のNANDメモリ16の領域16Eから緊急時OSを
起動することができる。
When the emergency OS 100B is stored in the SSD 2 and the normal OS 100A is stored in the nonvolatile storage device 20, it is desirable to rewrite the boot loaders of both the SSD 2 and the nonvolatile storage device 20. It is only necessary to rewrite the boot loader of the storage device 20. In this case, even when the computer system 1 is started in a state where the nonvolatile storage device 20 is removed from the host device 3, the boot loader 300 of the SSD 2 is read and the emergency is read from the area 16E of the NAND memory 16 of the SSD 2. You can start the OS.

(第4の実施形態)
第4の実施形態では、通常時OS100AがSSD2にインストールされているが、緊
急時OSがSSD2にインストールされていない場合について説明する。信頼性が劣化し
たSSD2へのアクセスを極力抑制する観点では、緊急時OS100Bの起動はSSD2
とは別の記憶装置から行うことが望ましい。本実施形態の制御ツール200は、寿命到達
時処理の際に、緊急時OSをインストールした緊急時起動用の起動ディスクを作成する機
能を有している。
(Fourth embodiment)
In the fourth embodiment, a case where the normal-time OS 100A is installed in the SSD 2 but the emergency OS is not installed in the SSD 2 will be described. From the viewpoint of suppressing access to the SSD 2 whose reliability has deteriorated as much as possible, the activation of the emergency OS 100B is performed by the SSD 2
It is desirable to perform from a different storage device. The control tool 200 of the present embodiment has a function of creating an emergency startup boot disk in which an emergency OS is installed during the life end process.

緊急時起動用の起動ディスクとしては、USBメモリ、SDカード、CD・DVDなど
の光学メディア、SSD、ハードディスクドライブなど、種々の不揮発性記憶装置を採用
することができる。本実施形態ではこの中で、緊急時起動用の起動ディスクとしてUSB
メモリを採用した場合について説明する。
Various non-volatile storage devices such as an optical medium such as a USB memory, an SD card, a CD / DVD, an SSD, and a hard disk drive can be adopted as an emergency startup disk. In this embodiment, among these, USB is used as a startup disk for emergency startup.
A case where a memory is employed will be described.

緊急時起動用の起動ディスクを作成するための緊急時OSデータを含むデータ(イメー
ジデータ)は、たとえばSSD2や、その他SSDや、USBメモリや、SDカードや、
DVD−ROMドライブなど光学メディアや、WEBサーバの記憶媒体などに記憶してお
けばよい。本実施形態では、緊急時OSインストール用のイメージデータが格納される記
憶媒体としてSSD2を採用した場合について紹介する。つまり、信頼性劣化したSSD
2そのものに、インストール元イメージデータが格納されている。
Data (image data) including emergency OS data for creating a startup disk for emergency startup is, for example, SSD2, other SSD, USB memory, SD card,
It may be stored in an optical medium such as a DVD-ROM drive or a storage medium of a WEB server. In the present embodiment, a case where the SSD 2 is adopted as a storage medium for storing image data for emergency OS installation will be introduced. In other words, SSD with degraded reliability
2 itself stores installation source image data.

緊急時OSのインストール時には、SSD2からイメージデータの読み出しが発生する
が、いったんインストールを行えば、同イメージデータを読み出すことはなくなる。また
、SSD2が寿命に到達するより以前の段階から、緊急時起動用の起動ディスクをユーザ
が任意に作成できる機能を制御ツール200が持っていることが望ましい。
At the time of installation of the emergency OS, image data is read from the SSD 2, but once installed, the image data is not read. Further, it is desirable that the control tool 200 has a function that allows the user to arbitrarily create a startup disk for emergency startup from a stage before the SSD 2 reaches the end of its life.

図44に緊急時起動用ディスクを作成する時のデータの移動の概念図を示す。また、図
45に、緊急時起動用ディスクを作成する際の制御ツール200の動作手順を示す。制御
ツール200は、寿命到達時処理開始時、ホスト装置3のUSBコントローラ13にUS
Bメモリが接続されているかどうかを確認し、接続されていない場合は、「緊急時OS起
動用USBメモリを作成します。USBメモリを接続してください。」という旨のメッセ
ージを、ディスプレイ9を介してユーザに表示することが望ましい。
FIG. 44 shows a conceptual diagram of data movement when creating an emergency start disk. FIG. 45 shows an operation procedure of the control tool 200 when an emergency start disk is created. The control tool 200 sends a US to the USB controller 13 of the host device 3 at the start of the end of life process.
Check if the B memory is connected. If not, connect the display 9 with a message stating "Create an emergency OS startup USB memory. Please connect the USB memory." It is desirable to display it to the user.

図44に示すように、USBメモリ24が接続されている場合、制御ツール200は、
SSD2のNANDメモリ16の領域16Qに記憶されているインストールイメージデー
タ400から緊急時OSデータを抽出し(緊急時OSデータが圧縮・暗号化されている場
合はこれを復号化する)、USBメモリ24の領域24Rにコピー(インストール)する
(ステップS280)。つぎに、制御ツール200は、USBメモリ24に記憶されてい
るブートローダ310が読み込まれた場合にUSBメモリ24にインストールされた緊急
時OS100Bが読み出されるべく、緊急時OS100Bの記憶領域24Rを参照するよ
うブートローダ310を書き換える(ステップS281)。具体的には、制御ツール20
0は、たとえば、ブートローダ310のOSポインタ情報OSPT311に記憶領域24
Rに対応するLBAを書き込む。
As shown in FIG. 44, when the USB memory 24 is connected, the control tool 200
The emergency OS data is extracted from the installation image data 400 stored in the area 16Q of the NAND memory 16 of the SSD 2 (if the emergency OS data is compressed / encrypted, it is decrypted), and the USB memory 24 Is copied (installed) into the area 24R (step S280). Next, the control tool 200 refers to the storage area 24R of the emergency OS 100B so that the emergency OS 100B installed in the USB memory 24 is read when the boot loader 310 stored in the USB memory 24 is read. The boot loader 310 is rewritten (step S281). Specifically, the control tool 20
0 is stored in the storage area 24 in the OS pointer information OSPT 311 of the boot loader 310, for example.
Write LBA corresponding to R.

ホスト装置3にUSBメモリ24とSSD2の両方が接続されている場合、USBメモ
リ24のブートローダ310が優先して起動されるよう、ブートローダ310とブートロ
ーダ310が書き換えられたり、BIOS−ROM11の設定が変更されることが望まし
い(ステップS282)。なお、ステップS282を実行しなくてもよい。
When both the USB memory 24 and the SSD 2 are connected to the host device 3, the boot loader 310 and the boot loader 310 are rewritten so that the boot loader 310 of the USB memory 24 is preferentially started, or the setting of the BIOS-ROM 11 is changed. It is desirable to be performed (step S282). Note that step S282 need not be executed.

ホスト装置3にUSBメモリ24が接続されていない場合に、SSD2から通常時OS
100Aが起動してしまいSSD2に不用意に書き込みアクセスが発生することを防止す
る観点では、ステップS282において、SSD2から通常時OS100Aが起動しない
ようSSD2のブートローダ300を書き換えることが望ましい。たとえば、ブートロー
ダ300のOSポインタ情報OSPT301に通常時OS100Aの記憶領域16D以外
のLBAを書き込んだりあるいは無効なLBAを書き込むことにより、SSD2のブート
ローダ300が読み出されても通常時OS100Aがロードされることを防止することが
できる。あるいは、通常時OS100Aのデータを書き換えてしまってもよい。
When the USB memory 24 is not connected to the host device 3, the normal time OS is started from the SSD 2.
From the viewpoint of preventing inadvertent write access to the SSD 2 due to the activation of the 100A, it is desirable to rewrite the boot loader 300 of the SSD 2 so that the normal-time OS 100A is not activated from the SSD 2 in step S282. For example, by writing an LBA other than the storage area 16D of the normal OS 100A or writing an invalid LBA to the OS pointer information OSPT301 of the boot loader 300, the normal OS 100A is loaded even if the boot loader 300 of the SSD 2 is read. Can be prevented. Alternatively, the data of the OS 100A during normal times may be rewritten.

このようにして、SSD2が寿命に到達した場合やSSD2が異常な状態になった場合
に、SSD2の信頼性悪化やSSD2のデータ破壊を抑制しながらSSD2のデータを読
み出したりSSD2のデータを他の不揮発性記憶装置にバックアップすることが可能なO
Sを立ち上げるための起動ディスクを作成することができる。
In this way, when the SSD 2 reaches the end of its life or when the SSD 2 is in an abnormal state, the SSD 2 data can be read or the SSD 2 data can be read from other data while suppressing the deterioration of the SSD 2 reliability or the SSD 2 data destruction. O that can be backed up to non-volatile storage
A startup disk for starting up S can be created.

また、図46に示すように、緊急時OS100BとしてMS−DOS(商標)やLin
ux(登録商標)やWindows(登録商標) PE(商標)などのOSを採用し、緊
急時OSをUSBメモリ24にインストールするのと同時に、SSD2のデータをバック
アップする機能を有する緊急時ツール210をUSBメモリ24の領域24Sにインスト
ールし、緊急時ツール210を緊急時OS100Bから実行できるようにしてもよい。緊
急時ツール210は第1の実施形態で説明したものと同様のバックアップ機能を有するこ
とが望ましい。
In addition, as shown in FIG. 46, MS-DOS (trademark) or Lin as the emergency OS 100B.
An emergency tool 210 that employs an OS such as ux (registered trademark) or Windows (registered trademark) PE (trademark) and installs the emergency OS in the USB memory 24 and has a function of backing up the data of the SSD 2 at the same time. It may be installed in the area 24S of the USB memory 24 so that the emergency tool 210 can be executed from the emergency OS 100B. The emergency tool 210 preferably has a backup function similar to that described in the first embodiment.

図47は、ホスト装置3の起動時の動作を示すものである。ホスト装置3の起動時、U
SBメモリ24から緊急時OS100Bが読み出され、主メモリ6に書き込まれることで
、緊急時OS100BがUSBメモリ24から起動される(ステップS290)。つぎに
、USBメモリ24から緊急時ツール210が読み出され、主メモリ6に書き込まれるこ
とで、緊急時ツール210がUSBメモリ24から起動される(ステップS291)。緊
急時ツール210が緊急時OS100Bのスタートアップに登録されるなどして、緊急時
OS100Bの起動後に自動的に緊急時ツール210が起動されることが望ましい。
FIG. 47 shows the operation when the host apparatus 3 is activated. When the host device 3 starts up, U
The emergency OS 100B is read from the SB memory 24 and written to the main memory 6, whereby the emergency OS 100B is activated from the USB memory 24 (step S290). Next, the emergency tool 210 is read from the USB memory 24 and written to the main memory 6, whereby the emergency tool 210 is activated from the USB memory 24 (step S291). It is desirable that the emergency tool 210 is automatically started after the emergency OS 100B is started, such as by registering the emergency tool 210 in the startup of the emergency OS 100B.

緊急時OS100Bは、図48に示すように、ディスプレイ9を介して、ユーザが選択
可能なメニュー項目の一つとしてバックアップメニューを表示したり、「バックアップす
るか?」というメッセージとOKボタンを表示したり、または「バックアップするか?」
というメッセージを表示してキーボード14の入力待機状態にしたりすることで、ユーザ
が任意にバックアップ機能を起動可能状態にすることが望ましい(ステップS292)。
なお、緊急時OS100Bは、バックアップを自動的に開始してもよい。
As shown in FIG. 48, the emergency OS 100B displays a backup menu as one of menu items selectable by the user, a message “Do you want to backup?” And an OK button via the display 9. Or "Do you want to backup?"
It is desirable that the user arbitrarily activates the backup function by displaying the message and making the keyboard 14 ready for input (step S292).
Note that the emergency OS 100B may automatically start backup.

キーボード14やマウス15により、バックアップ機能起動が選択されると(ステップ
S293)、緊急時ツール210が起動する。緊急時ツール210はSSD2のデータを
バックアップ用記憶装置150にコピーする(ステップS293)。バックアップの方式
は、第1の実施形態で説明したものと同様の方式を採用してもよく、例えばLBA単位バ
ックアップやファイル単位バックアップを採用してもよい。
When the backup function activation is selected by the keyboard 14 or the mouse 15 (step S293), the emergency tool 210 is activated. The emergency tool 210 copies the SSD2 data to the backup storage device 150 (step S293). As a backup method, a method similar to that described in the first embodiment may be employed. For example, LBA unit backup or file unit backup may be employed.

(第5の実施形態)
上述の実施形態によって、SSD2の信頼性劣化やSSD2のデータ破壊を抑制したう
えで、ユーザがユーザデータを容易にSSD2から読み出したり、他の記憶装置にバック
アップしたりすることを実現した。第5の実施形態では、さらにSSD2の信頼性劣化を
抑制する方法を提供する。SSD2では、経年劣化やリードディスターブの影響によるデ
ータの破損を修復するために、バックグラウンドでリフレッシュ処理を行う機能を搭載す
る場合がある。この機能では、NANDメモリ16のブロックを定期的に読み出し、デー
タの誤り数が多いブロックのデータを別のブロックに書き込む処理を行う。これにより、
経年劣化やリードディスターブの影響を低減することが可能になるが、一方で、余分なブ
ロックの消去・書き込みが発生してしまうため、SSD2の信頼性劣化が早まるという問
題もある。
(Fifth embodiment)
According to the above-described embodiment, it is possible to easily read out user data from the SSD 2 or back up to another storage device after suppressing deterioration in reliability of the SSD 2 and data destruction of the SSD 2. The fifth embodiment further provides a method for suppressing deterioration in reliability of the SSD 2. The SSD 2 may be equipped with a function of performing a refresh process in the background in order to repair data corruption due to aging degradation or read disturb. In this function, the block of the NAND memory 16 is periodically read, and the data of the block with a large number of data errors is written to another block. This
Although it is possible to reduce the effects of aging and read disturb, there is also a problem that reliability of the SSD 2 is accelerated because unnecessary blocks are erased and written.

本実施形態では、制御ツール200あるいは緊急時OS100Bが、リフレッシュ制御
コマンド(ACS-2に記述されているSCT Command Transportやその他ベンダー独自のコマン
ドやその他コマンド)を用いて、リフレッシュの実施を停止するようSSDC41に命令
する。SSDC41はリフレッシュ制御コマンドをうけて、リフレッシュ処理を停止した
り、リフレッシュの実行間隔(たとえば1分)を長く設定したりする(たとえば2分)。
SSDC41にリフレッシュ実行間隔を長く設定させる場合は、リフレッシュ制御コマン
ド内でリフレッシュ実行間隔を明示的に指定することが望ましい。
In this embodiment, the control tool 200 or the emergency OS 100B uses the refresh control command (SCT Command Transport described in ACS-2, other vendor-specific commands, and other commands) to stop performing the refresh. Command SSDC 41. In response to the refresh control command, the SSDC 41 stops the refresh process or sets a long refresh execution interval (for example, 1 minute) (for example, 2 minutes).
When the SSDC 41 is set to have a long refresh execution interval, it is desirable to explicitly specify the refresh execution interval in the refresh control command.

図49は、制御ツール200がリフレッシュ制御コマンドを発行する際の動作を示すも
のである。この場合、制御ツール200は、図29のステップS205に示した寿命到達
時処理の際に、リフレッシュ制御コマンドを発行すればよい。制御ツール200は、図3
4で説明したブートローダ300の書き換えを行い(ステップS300)、この後、リフ
レッシュ制御コマンドをSSD2に対して送信する(ステップS301)。
FIG. 49 shows an operation when the control tool 200 issues a refresh control command. In this case, the control tool 200 may issue a refresh control command during the end-of-life process shown in step S205 of FIG. The control tool 200 is shown in FIG.
4 is rewritten (step S300), and then a refresh control command is transmitted to the SSD 2 (step S301).

図50は、緊急時OS100Bがリフレッシュ制御コマンドを発行する際の動作を示す
ものである。この場合、CPU4は、システム起動時、図37で説明したように、SSD
2のNANDメモリ16からOSポインタ情報OSPTを含むブートローダ300を読み
出し(ステップS310)、OSポインタ情報OSPTが示すLBAを特定する。そして
、CPU4は、特定したLBAに対する読み出し命令をSSD2へ送信することで、OS
ポインタ情報OSPTが指定するOSをSSD2から読み出す。OSポインタ情報OSP
Tが示すLBAが通常時OS100Aの記憶領域である領域16Dを指定しているときに
は(ステップS311:Yes)、通常時OA100Aが領域16Dから読み出されて主
メモリ6上の領域6Aに書き込まれ(ステップS312)、OSポインタ情報OSPTが
示すLBAが緊急時OS100Bの記憶領域である領域16Eを指定しているときには(
ステップS311:No)、緊急時OA100Bが領域16Eから読み出されて主メモリ
6上の領域6Aに書き込まれる(ステップS313)。緊急時OA100Bが起動された
場合、緊急時OA100Bは、リフレッシュ制御コマンドをSSD2に対して送信する(
ステップS314)。
FIG. 50 shows an operation when the emergency OS 100B issues a refresh control command. In this case, the CPU 4 starts up the SSD as shown in FIG.
The boot loader 300 including the OS pointer information OSPT is read from the second NAND memory 16 (step S310), and the LBA indicated by the OS pointer information OSPT is specified. Then, the CPU 4 transmits a read command for the specified LBA to the SSD 2, whereby the OS 4
The OS specified by the pointer information OSPT is read from the SSD 2. OS pointer information OSP
When the LBA indicated by T designates the area 16D which is the storage area of the normal time OS 100A (step S311: Yes), the normal time OA 100A is read from the area 16D and written to the area 6A on the main memory 6 ( In step S312), when the LBA indicated by the OS pointer information OSPT designates the area 16E that is the storage area of the emergency OS 100B (step S312).
In step S311: No), the emergency OA 100B is read from the area 16E and written to the area 6A on the main memory 6 (step S313). When the emergency OA 100B is activated, the emergency OA 100B transmits a refresh control command to the SSD 2 (
Step S314).

このように、第5の実施形態では、制御ツールは、寿命到達時処理の際に、リフレッシ
ュ処理などのSSD2でのバックグラウンドでの書き込み処理を禁止方向に制御するよう
にしたので、SSDの信頼性劣化を抑制することが可能となる。
As described above, in the fifth embodiment, the control tool controls the background writing process in the SSD 2 such as the refresh process in the prohibition direction during the process at the end of the life. It is possible to suppress the deterioration of sex.

(第6の実施形態)
第1の実施形態においては、制御ツール200は図29に示したように定期的に統計情
報を取得して、SSD2が寿命に到達したとき、あるいはSSD2が寿命に到達する直前
に寿命到達時処理を行った。制御ツール200は取得した統計情報をもとにSSD2の寿
命を予測してディスプレイ9を通してユーザに通知するようにしてもよく、以下これに関
して説明する。
(Sixth embodiment)
In the first embodiment, the control tool 200 periodically acquires statistical information as shown in FIG. 29, and when the SSD 2 reaches the end of its life or immediately before the SSD 2 reaches the end of its life, Went. The control tool 200 may predict the life of the SSD 2 based on the acquired statistical information and notify the user through the display 9, which will be described below.

制御ツール200は、図29に示した処理手順に従って定期的に統計情報を取得する際
に、取得したデータをたとえば図51に示したような形式で、統計情報の時系列データを
主メモリ6に追記していく。統計情報時系列データは、たとえばSSD2のような不揮発
性記憶装置に定期的にバックアップしてもよい。また、統計情報時系列データは最新のデ
ータが追記されるごとに古いデータを消去していってもよい。
When the control tool 200 periodically acquires statistical information in accordance with the processing procedure shown in FIG. 29, the acquired data is stored in the main memory 6 in the format shown in FIG. I will add. The statistical information time series data may be periodically backed up in a nonvolatile storage device such as SSD2. Further, the statistical information time-series data may be deleted from the old data every time the latest data is added.

また、制御ツール200は主メモリ6の統計情報時系列データを、例えば、図52に示
すような表示形式で、ディスプレイ9を介してユーザにグラフ表示してもよい。
Further, the control tool 200 may display the statistical information time-series data in the main memory 6 in a graph for the user via the display 9 in a display format as shown in FIG.

本実施形態では、この統計情報時系列データをもとにSSD2の寿命予測を行う。制御
ツール200は、図53に示すように、あるAttribute IDのAttribute Valueを変数Yと
し、時刻を変数Xとし、現在時刻からある所定の時間Tだけ前の時点の時刻Aから、現在
時刻である時刻Cまでの期間の、(X,Y)の全データを用いてフィッティング関数Y=
f(X)を求める。すなわち、fを用いて、XからYの予測値=f(X))が得られるこ
とになる)。fの導き方は様々な方法が存在するが、たとえばパラメータaとパラメータ
bを用いてf(X)=aX+bとし、時刻Aから時刻Cまでの(X,Y)の全データに対
して最小二乗法を用いてaとbを求めることでfを決定してもよい。
In the present embodiment, SSD 2 life prediction is performed based on the statistical information time-series data. As shown in FIG. 53, the control tool 200 sets the Attribute Value of a certain Attribute ID as a variable Y, sets the time as a variable X, and is the current time from the time A that is a predetermined time T before the current time. Using all the data (X, Y) in the period up to time C, the fitting function Y =
Find f (X). That is, the predicted value from X to Y = f (X)) is obtained using f). There are various methods for deriving f. For example, f (X) = aX + b using parameter a and parameter b, and a minimum of two for all data of (X, Y) from time A to time C. You may determine f by calculating | requiring a and b using a multiplication method.

そして、f(X)の逆関数であるf−1(Y)を求める。f(X)=aX+bの場合はf
−1(Y)=(Y・b)/aをもとめる。SSD2の予測寿命到達時刻はf−1(Y=Th
reshold)となる。なお、時刻Aから時刻Cまでの(X,Y)の全データに対して、フィ
ッティング関数X=g(Y)を求めて、SSD2の予測寿命到達時刻をg(Y=Threshol
d)としてもよい。また、f(X)やg(Y)は、2次関数など1次関数以外の関数にフ
ィッティングしてもよい。
Then, f −1 (Y), which is an inverse function of f (X), is obtained. When f (X) = aX + b, f
−1 (Y) = (Y · b) / a is obtained. The predicted lifetime arrival time of SSD2 is f −1 (Y = Th
reshold). Note that the fitting function X = g (Y) is obtained for all the data (X, Y) from time A to time C, and the predicted life arrival time of the SSD 2 is g (Y = Threshol).
d). Further, f (X) and g (Y) may be fitted to a function other than a linear function such as a quadratic function.

本実施形態では、S.M.A.R.TのAttribute Value(=Y)とThresholdを用いて寿命を予測し
たが、生データであるRaw ValueをYとして用いてf(X)やg(Y)を求め、予想寿命
到達時刻をf−1(Y=RMAX)またはg(Y=RMAX)、あるいはf−1(Y=RM
IN)またはg(Y=RMIN)としてもよい。また、SMART情報以外の手段を用いて得ら
れた統計情報により寿命予測してもよい。
In this embodiment, the life is predicted using SMART Attribute Value (= Y) and Threshold, but f (X) and g (Y) are obtained by using Raw Value as raw data as Y, and the expected life is reached. The time is f −1 (Y = RMAX) or g (Y = RMAX), or f −1 (Y = RM).
IN) or g (Y = RMIN). Further, the lifetime may be predicted based on statistical information obtained by using means other than SMART information.

制御ツール200は、このようにして得られた予測寿命到達時刻をディスプレイ9を通
してユーザに通知する。通知方法としては、たとえば「予測寿命到達時刻:1999年0
9月09日」というふうにテキスト表示してもよいし、図54に示すように、「SSDの
寿命が残り30日を切っています。早急にSSDのデータをバックアップし、新しいSS
Dに買い替えてください。」のような警告画面を表示してもよい。あるいは、SSDの残
り寿命が所定日数をきると、制御ツール200のアイコンの色を変えたりするなどして、
ディスプレイ上に表示されるアイコンの色を変えてもよい。
The control tool 200 notifies the user of the predicted life arrival time obtained in this way through the display 9. As a notification method, for example, “predicted life arrival time: 1999 0”
The text may be displayed as "September 09" or as shown in Fig. 54, "SSD life is less than 30 days. SSD data is backed up immediately and a new SS
Please replace it with D. May be displayed. Or, when the remaining life of the SSD reaches a predetermined number of days, the color of the icon of the control tool 200 is changed, etc.
You may change the color of the icon displayed on a display.

(第7の実施形態)
第1の実施形態においては、図38に示したように、通常時OS100Aおよび緊急時
OS100BがSSD2のNANDメモリ16に格納されている場合に、SSD2のデー
タをバックアップ用記憶装置150にバックアップする機能について説明した。制御ツー
ル200は寿命到達時処理(図29のステップS205)として、ブートローダ300を
書き換え、(図34のステップS230)、バックアップ機能として、例えば前述したL
BA単位バックアップを採用する場合、SSD2をその後ホスト装置3から切り離して、
バックアップ用記憶装置150をホスト装置3に接続した状態で、コンピュータシステム
1をパワーONした場合に通常時OS100Aが正常に起動されるようにするためには、
バックアップ用記憶装置150にバックアップ処理によってコピーされたブートローダを
、寿命到達時処理以前のSSD2のブートローダ300の状態に復元することが望ましい
。本実施形態では、バックアップ用記憶装置150のブートローダをバックアップ動作時
に書き換える方法について説明する。
(Seventh embodiment)
In the first embodiment, as shown in FIG. 38, when the normal OS 100A and the emergency OS 100B are stored in the NAND memory 16 of the SSD 2, the data of the SSD 2 is backed up to the backup storage device 150. Explained. The control tool 200 rewrites the boot loader 300 as a process at the end of life (step S205 in FIG. 29) and rewrites the boot loader 300 (step S230 in FIG. 34).
When adopting BA unit backup, disconnect SSD2 from host device 3 after that,
In order for the OS 100A to start normally when the computer system 1 is powered on with the backup storage device 150 connected to the host device 3,
It is desirable that the boot loader copied to the backup storage device 150 by the backup process is restored to the state of the boot loader 300 of the SSD 2 before the end of life process. In the present embodiment, a method for rewriting the boot loader of the backup storage device 150 during the backup operation will be described.

図55に、バックアップ動作前後におけるコンピュータシステム1とバックアップ用記
憶装置150の機能構成を示す。SSD2のNANDメモリ16の復元用ブートローダ領
域16Vには、ブートローダ300を制御ツール200による書き換え前の状態に戻すた
めのブートローダ復元情報350が記憶されている。領域16Vは、寿命到達時処理時に
制御ツール200によって割り当てられてもよいし、制御ツール200の起動時に割り当
てられてもよいし、制御ツール200がSSD2にインストールされるときに割り当てら
れてもよい。割り当てられた領域16Vには、SSD2の管理情報45(図18参照)に
よりLBAが割り当てられている。
FIG. 55 shows functional configurations of the computer system 1 and the backup storage device 150 before and after the backup operation. The boot loader restoration information 350 for returning the boot loader 300 to the state before rewriting by the control tool 200 is stored in the restoration boot loader area 16V of the NAND memory 16 of the SSD2. The area 16V may be assigned by the control tool 200 at the time of end of life processing, may be assigned when the control tool 200 is activated, or may be assigned when the control tool 200 is installed in the SSD 2. An LBA is allocated to the allocated area 16V by the management information 45 (see FIG. 18) of the SSD 2.

図56に、本実施形態における寿命到達時処理の動作手順を示す。寿命到達時処理にお
いては、バックアップ用記憶装置150はホスト装置3に接続されていなくてもよい。制
御ツール200は、寿命到達時処理の際に、すなわちブートローダ300の書き換え前に
、ブートローダ300のバックアップ情報、すなわちブートローダ復元情報350を復元
用ブートローダ領域16Vに書き込む(ステップS320)。領域16Vに書き込む情報
としては、たとえば領域16Cに記憶されているブートローダ300のデータ(イメージ
)をそのままコピーしてもよいし、ブートローダの書き換え差分情報を記録してもよい。
FIG. 56 shows the operation procedure of the process at the end of the life in the present embodiment. In the life end process, the backup storage device 150 may not be connected to the host device 3. The control tool 200 writes the backup information of the boot loader 300, that is, the boot loader restoration information 350 in the restoration boot loader area 16V during the process at the end of the life, that is, before rewriting the boot loader 300 (step S320). As information to be written in the area 16V, for example, data (image) of the boot loader 300 stored in the area 16C may be copied as it is, or rewrite difference information of the boot loader may be recorded.

領域16Vに差分情報を記録する場合は、差分情報としてたとえば図57に示すような
、書き換え前のデータと書き換わったLBAとの対応関係が記録されている書き換え差分
ログを採用してもよい。書き換え差分ログを採用する場合、制御ツール200は、領域1
6Cに記憶されているブートローダ300のうち書き換えをおこなったLBAを書き換え
差分ログの「書き換わったLBA」に書き込み、同LBAの書き換え前のデータを書き換
え差分ログの「書き換え前のデータ」に書き込む。たとえば、LBAの最小単位である論
理セクタが512バイトである場合は、書き換え差分ログの「書き換え前のデータ」の1
要素は512バイトのデータであってもよいし、書き換え前のデータを圧縮したり、ある
いは可逆変換した512バイト以外のデータであってもよい。書き換え差分ログを用いて
ブートローダ300を新ブートローダから旧ブートローダに復元する場合は、領域16C
に対し、書き換え差分ログの「書き換わったLBA」が示すLBAに対し、「書き換え前
のデータ」を書き込むことで、旧ブートローダに復元することができる。
When the difference information is recorded in the area 16V, a rewrite difference log in which the correspondence between the pre-rewrite data and the rewritten LBA as shown in FIG. 57 may be employed as the difference information. When adopting the rewrite difference log, the control tool 200 uses the region 1
Of the boot loader 300 stored in 6C, the rewritten LBA is written to “rewritten LBA” of the rewrite difference log, and the data before rewriting of the LBA is written to “data before rewriting” of the rewrite difference log. For example, if the logical sector that is the smallest unit of LBA is 512 bytes, 1 of “data before rewriting” of the rewriting difference log
The element may be 512-byte data, or may be data other than 512 bytes obtained by compressing or reversibly converting data before rewriting. When the boot loader 300 is restored from the new boot loader to the old boot loader using the rewrite difference log, the area 16C
On the other hand, it is possible to restore the old boot loader by writing “data before rewriting” to the LBA indicated by “rewritten LBA” in the rewriting difference log.

その後、制御ツール200は、ブートローダ300を書き換え、第1の実施形態で説明
したのと同様に、次回以降コンピュータシステム1が起動されたときには、通常時OS1
00Aではなく緊急時OS100Bが主メモリ6に読み出されるようにする(ステップS
321)。
After that, the control tool 200 rewrites the boot loader 300, and when the computer system 1 is started next time, as in the case described in the first embodiment, the normal time OS 1
Instead of 00A, the emergency OS 100B is read out to the main memory 6 (step S
321).

後述するバックアップ動作時に、復元用ブートローダ領域16Vの検索を容易にするた
めに、制御ツール200は、ブートローダ領域16Cに、復元用ブートローダ領域16V
の先頭LBAを書き込んでおくことが望ましい(ステップS322)。ブートローダ領域
16Cに復元用ブートローダ領域16Vの先頭LBAを書き込んでおくことは必ずしも必
要ではなく、領域16Vの先頭に特定データパターンを書き込んでおき、後述するバック
アップ時にこの特定データパターンを検索することで領域16Vを特定してもよいし、領
域16Vをあらかじめ定められた特定LBAに固定的に対応付けすることにしておいて、
後述するバックアップ時に前記特定LBAにアクセスすることで領域16Vを特定しても
よいし、その他方法で領域16Vを特定してもよい。
In order to facilitate the search of the restoration boot loader area 16V during a backup operation described later, the control tool 200 stores the restoration boot loader area 16V in the boot loader area 16C.
Is preferably written (step S322). It is not always necessary to write the first LBA of the boot loader area for restoration 16V in the boot loader area 16C. A specific data pattern is written at the beginning of the area 16V, and the area is obtained by searching for this specific data pattern at the time of backup described later. 16V may be specified, or the region 16V may be fixedly associated with a predetermined specific LBA.
The area 16V may be specified by accessing the specific LBA at the time of backup described later, or the area 16V may be specified by other methods.

ステップS321以降、第1の実施形態と同様に、コンピュータシステム1の再起動を
行ってもよいし、第5の実施形態と同様にSSD2のリフレッシュ制御コマンドを送信し
てもよい。また、復元用ブートローダ領域16VはSSD2以外の記憶装置に確保しても
よい。
After step S321, the computer system 1 may be restarted as in the first embodiment, or an SSD2 refresh control command may be transmitted as in the fifth embodiment. The restoration boot loader area 16V may be secured in a storage device other than the SSD 2.

図58は、緊急時OS100Bによるバックアップ動作を示すものである。バックアッ
プ時、バックアップ用記憶装置150がホスト装置3に接続されていない場合は、ユーザ
はバックアップ用記憶装置150をホスト装置3に接続する。その際、制御ツール200
は、ユーザに「バックアップ装置を接続してください」というメッセージをディスプレイ
9に表示してもよい。
FIG. 58 shows a backup operation by the emergency OS 100B. When the backup storage device 150 is not connected to the host device 3 at the time of backup, the user connects the backup storage device 150 to the host device 3. At that time, the control tool 200
May display a message “Please connect backup device” on the display 9 to the user.

NANDメモリ16の領域16Eから主メモリ6の領域6Aにロードされた緊急時OS
は、第1の実施形態と同様にして、SSD2のデータをバックアップ用記憶装置150に
コピーする(ステップS330)。たとえば、バックアップ方法として、LBA単位バッ
クアップを採用してかつSSD2の全LBA領域をバックアップ用記憶装置150にコピ
ーする場合、領域16Dに記憶されている通常時OS100Aは、バックアップ用記憶装
置150の領域150Dにコピーされ、領域16Uに記憶されているその他ユーザデータ
は、領域150Uにコピーされる。ブートローダ領域16Cに記憶されているブートロー
ダ300は、バックアップ用記憶装置150の領域100Cにコピーしてもよいし、コピ
ーしなくてもよい。領域16Eに記憶されている緊急時OS100Bは、バックアップ用
記憶装置150の領域150Eにコピーしてもよいし、コピーしなくてもよい。また、復
元用ブートローダ領域16Vに記憶されているブートローダ復元情報350は、バックア
ップ用記憶装置150にコピーしなくてもよい。
Emergency OS loaded from area 16E of NAND memory 16 to area 6A of main memory 6
In the same manner as in the first embodiment, the SSD2 data is copied to the backup storage device 150 (step S330). For example, when the LBA unit backup is adopted as a backup method and the entire LBA area of the SSD 2 is copied to the backup storage device 150, the normal-time OS 100A stored in the area 16D uses the area 150D of the backup storage device 150. The other user data copied to the area 16U is copied to the area 150U. The boot loader 300 stored in the boot loader area 16C may be copied to the area 100C of the backup storage device 150 or may not be copied. The emergency OS 100B stored in the area 16E may be copied to the area 150E of the backup storage device 150 or may not be copied. Further, the boot loader restoration information 350 stored in the restoration boot loader area 16V may not be copied to the backup storage device 150.

緊急時OS100Bは、ブートローダ復元情報350とブートローダ300のデータを
もとに、バックアップ用記憶装置150に記憶するブートローダ320を作成し、作成し
たブートローダ320をバックアップ用記憶装置150の領域150Cに書き込むことで
、次回以降にコンピュータシステム1の起動時にブートローダ320がロードされた場合
は、通常時OS100Aが主メモリ6の領域6Aにロードされるようにする(ステップS
331)。
The emergency OS 100B creates a boot loader 320 to be stored in the backup storage device 150 based on the boot loader restoration information 350 and the data of the boot loader 300, and writes the created boot loader 320 in the area 150C of the backup storage device 150. If the boot loader 320 is loaded when the computer system 1 is started next time or later, the normal time OS 100A is loaded into the area 6A of the main memory 6 (step S).
331).

図56のステップS320でのブートローダのバックアップ処理において、領域16C
に記憶されているブートローダ300のデータ(イメージ)を、そのまま復元用ブートロ
ーダ領域16Vにコピーした場合は、図58のステップS331において、復元用ブート
ローダ領域16Vのブートローダ復元情報350をそのままバックアップ用記憶装置15
0の領域150Cにコピーしてもよい。
In the boot loader backup process in step S320 of FIG.
When the data (image) of the boot loader 300 stored in is restored to the restoration boot loader area 16V as it is, the boot loader restoration information 350 in the restoration boot loader area 16V is directly used as the backup storage device 15 in step S331 of FIG.
You may copy to 0 area | region 150C.

また、図56のステップS320でのブートローダのバックアップ処理において、復元
用ブートローダ領域16Vにブートローダ領域16Cの書き換え差分情報が記録された場
合は、すなわちブートローダ領域16Cが旧ブートローダデータから新ブートローダデー
タに書き換えられる時の新・旧ブートローダデータ書き換えの差分情報が復元用ブートロ
ーダ領域16Vに記録された場合は、緊急時OS100Bは、図58のステップS331
において、ブートローダ領域16Cのデータ(新ブートローダデータ)と、復元用ブート
ローダ領域16Vに記憶されている差分データであるブートローダ復元情報350を主メ
モリ6に読み出し、ブートローダ復元情報350をもとに新ブートローダデータを旧ブー
トローダデータに復元し、復元した旧ブートローダデータをバックアップ用記憶装置15
0の領域150Cに書き込む。
Also, in the boot loader backup process in step S320 of FIG. 56, when rewrite difference information of the boot loader area 16C is recorded in the restoration boot loader area 16V, that is, the boot loader area 16C is rewritten from the old boot loader data to the new boot loader data. 58, when the difference information for rewriting the new and old boot loader data at the time is recorded in the restoration boot loader area 16V, the emergency OS 100B determines that step S331 in FIG.
, The boot loader area 16C data (new boot loader data) and the boot loader restoration information 350, which is the difference data stored in the restoration boot loader area 16V, are read into the main memory 6, and the new boot loader data is read based on the boot loader restoration information 350. Is restored to the old boot loader data, and the restored old boot loader data is stored in the backup storage device 15.
Write to 0 area 150C.

上記のバックアップ処理を行った後、IF0からSSD2を取り外すことで寿命に到達
したSSD2をホスト装置3から切り離し、かつIF1にバックアップ用記憶装置150
を接続することでバックアップ用記憶装置150をホスト装置3に接続した状態で、コン
ピュータシステム1を起動すると、ホスト装置3はバックアップ用記憶装置150のブー
トローダ320を読み出し、ブートローダ320の情報によりホスト装置3は、バックア
ップ用記憶装置150の領域150Dを主メモリ6の領域6Aにロードすることで、通常
時OSが起動される。バックアップ用記憶装置150がインタフェースIF0に対応して
いる場合は、バックアップ用記憶装置150をSSD2と交換し、バックアップ用記憶装
置150をインタフェースIF0と接続してもよい。バックアップ用記憶装置150がイ
ンタフェースIF0に対応してない場合は、バックアップ用記憶装置150をSSD2と
交換し、バックアップ用記憶装置150をインタフェース変換装置を経由してインタフェ
ースIF0と接続してもよい。
After performing the above backup processing, the SSD 2 that has reached the end of its life is detached from the host device 3 by removing the SSD 2 from the IF 0, and the backup storage device 150 is stored in the IF 1.
When the computer system 1 is started in a state where the backup storage device 150 is connected to the host device 3, the host device 3 reads the boot loader 320 of the backup storage device 150, and the host device 3 is read based on the information of the boot loader 320. Loads the area 150D of the backup storage device 150 into the area 6A of the main memory 6, thereby starting up the normal-time OS. When the backup storage device 150 is compatible with the interface IF0, the backup storage device 150 may be replaced with the SSD 2, and the backup storage device 150 may be connected to the interface IF0. If the backup storage device 150 does not support the interface IF0, the backup storage device 150 may be replaced with the SSD 2, and the backup storage device 150 may be connected to the interface IF0 via the interface conversion device.

このようにして、SSD2が寿命に到達した場合であっても、コンピュータシステム1
はSSD2に保存されたユーザデータや通常時OSをバックアップ用記憶装置に復元する
ことができ、ユーザは、余分な設定や通常時OSの再インストールを行うことなく、SS
D2をバックアップ用記憶装置150に置き換え、SSD2のかわりにバックアップ用記
憶装置150をシステムドライブとして使用することができる。
Thus, even when the SSD 2 reaches the end of its life, the computer system 1
Can restore user data and normal-time OS stored in SSD2 to the backup storage device, and the user can use the SS without performing extra settings or reinstalling the normal-time OS.
D2 can be replaced with a backup storage device 150, and the backup storage device 150 can be used as a system drive instead of SSD2.

(第8の実施形態)
本実施形態では、SSD2が異常状態(寿命到達状態)から通常状態(健康状態)に戻
ったときに、SSD2を接続したホスト装置を起動した場合、緊急時OSではなく通常時
OSが起動されるようにする。
(Eighth embodiment)
In the present embodiment, when the host device connected to the SSD 2 is started when the SSD 2 returns from the abnormal state (life reached state) to the normal state (health state), the normal time OS is started instead of the emergency OS. Like that.

統計情報として、例えば、現在温度X20、最高温度X21のように、その数値が大き
いほど信頼性が悪くなることを示し、信頼性に悪影響のある数値まで増大してもその後再
び正常な値にまで回復することのできる特性を有するパラメータを採用する場合、それら
の統計情報に対しては、RMAXとして例えばRMAX=85℃を採用し、
統計情報の値>RMAX
または
統計情報の値≧RMAX
のような動作保証外の温度になる条件が成立した時、制御ツール200はブートローダ3
00を書き換えることで、次回以降コンピュータシステム1が起動されたときには、通常
時OS100Aではなく緊急時OS100Bが主メモリ6に読み出されるようにする。
As statistical information, for example, the current temperature X20 and the maximum temperature X21 indicate that the larger the numerical value is, the lower the reliability is. When adopting parameters having characteristics that can be recovered, for those statistical information, for example, RMAX = 85 ° C. is adopted as RMAX,
Statistical information value> RMAX
Or statistical information value ≧ RMAX
When a condition that results in a temperature outside the operation guarantee is satisfied, the control tool 200 sets the boot loader 3
By rewriting 00, the emergency OS 100B is read to the main memory 6 instead of the normal OS 100A the next time the computer system 1 is activated.

緊急時OS100Bは、起動後、統計情報の値を監視し、
統計情報の値≦RMAX−MAXマージン
または
統計情報の値<RMAX−MAXマージン
となって当該統計情報が再び正常値にもどったとき、ブートローダ300を書き換えるこ
とで、次回以降コンピュータシステム1が起動されたときには、緊急時OS100Bでは
なく通常時OS100Aが主メモリ6に読み出されるようにする、ブートローダ復元処理
を実行する。
The emergency OS 100B monitors the value of statistical information after startup,
When the statistical information value ≦ RMAX-MAX margin or the statistical information value <RMAX-MAX margin and the statistical information returns to the normal value again, the boot loader 300 is rewritten to start the computer system 1 from the next time. In some cases, a boot loader restoration process is executed so that not the emergency OS 100B but the normal OS 100A is read into the main memory 6.

MAXマージンはゼロ以上の値であるが、ブートローダ300の書き換えが頻繁に発生
することを防止するために、MAXマージンはゼロより大きい値とすることが望ましい。
統計情報が現在温度や最高温度である場合、たとえばMAXマージン=5℃とする。統計
情報の取得および条件判断に、SMART情報を用いる場合、Attribute ValueとThresho
ldを用いてもよいし、Raw ValueとRMAXを用いてもよい。また、通常時OS
起動中に統計情報が異常状態から正常状態に戻った場合は、上記ブートローダ復元処理を
制御ツール200が行うようにしてもよい。
The MAX margin is a value greater than or equal to zero. However, in order to prevent frequent rewriting of the boot loader 300, it is desirable that the MAX margin be a value greater than zero.
When the statistical information is the current temperature or the maximum temperature, for example, MAX margin = 5 ° C. When using SMART information for statistical information acquisition and condition judgment, Attribute Value and Thresho
ld may be used, or Raw Value and RMAX may be used. In addition, normal OS
When the statistical information returns from the abnormal state to the normal state during startup, the control tool 200 may perform the boot loader restoration process.

統計情報として、現在温度X20、最低温度X22のように、その数値が小さいほど信
頼性が悪くなることを示し、信頼性に悪影響のある数値まで減少してもその後再び正常な
値にまで回復することのできる特性を有するパラメータを採用する場合、RMINとして
RMIN=−10℃を採用し、
統計情報の値<RMIN
または
統計情報の値≦RMIN
のようなたとえば動作保証外の温度になる条件が成立した時、制御ツール200はブート
ローダ300を書き換えることで、次回以降コンピュータシステム1が起動されたときに
は、通常時OS100Aではなく緊急時OS100Bが主メモリに読み出されるようにす
る。
As the statistical information, the smaller the numerical value, such as the current temperature X20 and the minimum temperature X22, the lower the reliability, and even if the numerical value decreases to a value that adversely affects the reliability, it is restored to a normal value again. When adopting a parameter having a characteristic that can be used, RMIN = −10 ° C. is adopted as RMIN,
Statistical information value <RMIN
Or statistical value ≤ RMIN
For example, the control tool 200 rewrites the boot loader 300 when the condition that the temperature is not guaranteed, for example, is satisfied, so that when the computer system 1 is started next time, the emergency OS 100B is not the main memory but the emergency OS 100B. To be read.

緊急時OS100Bは、起動後、統計情報の値を監視し、
統計情報の値≧RMIN+MINマージン
または
統計情報の値>RMIN+MINマージン
となって当該統計情報が再び正常値にもどったとき、ブートローダ300を書き換えるこ
とで、次回以降コンピュータシステム1が起動されたときには、緊急時OS100Bでは
なく通常時OS100Aが主メモリ6に読み出されるようにする、ブートローダ復元処理
を実行する。
The emergency OS 100B monitors the value of statistical information after startup,
When the statistical information value ≧ RMIN + MIN margin or the statistical information value> RMIN + MIN margin and the statistical information returns to the normal value again, the boot loader 300 is rewritten, and the next time the computer system 1 is started, the emergency A boot loader restoration process is executed so that not the OS 100B but the normal-time OS 100A is read into the main memory 6.

MINマージンはゼロ以上の値であるが、ブートローダ300の書き換えが頻繁に発生
することを防止するために、MINマージンはゼロより大きい値とすることが望ましい。
当該統計情報が現在温度や最低温度である場合、たとえば、MINマージン=5℃とする
。統計情報の取得および条件判断に、SMART情報を用いる場合、Attribute ValueとT
hresholdを用いてもよいし、Raw ValueとRMINを用いてもよい。
The MIN margin is a value greater than or equal to zero. However, in order to prevent frequent rewriting of the boot loader 300, it is desirable that the MIN margin be greater than zero.
When the statistical information is the current temperature or the minimum temperature, for example, MIN margin = 5 ° C. When SMART information is used for statistical information acquisition and condition judgment, Attribute Value and T
hreshold may be used, or Raw Value and RMIN may be used.

つぎに、寿命到達時処理における制御ツール200の動作の詳細を説明する。異常状態
(寿命到達状態)から通常状態(健康状態)に戻ったときには、上記したブートローダ復
元処理により、ブートローダ300は寿命到達時処理で書き換えられる以前のブートロー
ダに復旧されることが望ましい。図59にブートローダ復元処理前後におけるコンピュー
タシステム1の機能構成を示す。SSD2のNANDメモリ16の復元用ブートローダ領
域16Vには、ブートローダ300を制御ツール200による書き換え前の状態に戻すた
めのブートローダ復元情報350が記憶されている。領域16Vは、寿命到達時処理時に
制御ツール200によって割り当てられてもよいし、制御ツール200の起動時に割り当
てられてもよいし、制御ツール200がSSD2にインストールされるときに割り当てら
れてもよい。割り当てられた領域16Vには、SSD2の管理情報45(図18参照)に
よりLBAが割り当てられている。また、本実施形態の領域16Vは、図55に示した領
域16Vと同じものとしてバックアップ時のブートローダ復元用として使用してもよいし
、図55に示した領域16Vとは異なるものであってもよい。
Next, details of the operation of the control tool 200 in the life end process will be described. When returning from the abnormal state (life reaching state) to the normal state (healthy state), it is desirable that the boot loader 300 is restored to the boot loader before being rewritten in the life reaching process by the boot loader restoring process. FIG. 59 shows a functional configuration of the computer system 1 before and after the boot loader restoration process. The boot loader restoration information 350 for returning the boot loader 300 to the state before rewriting by the control tool 200 is stored in the restoration boot loader area 16V of the NAND memory 16 of the SSD2. The area 16V may be assigned by the control tool 200 at the time of end of life processing, may be assigned when the control tool 200 is activated, or may be assigned when the control tool 200 is installed in the SSD 2. An LBA is allocated to the allocated area 16V by the management information 45 (see FIG. 18) of the SSD 2. Further, the area 16V of the present embodiment may be used for boot loader restoration at the time of backup as the same as the area 16V shown in FIG. 55, or may be different from the area 16V shown in FIG. Good.

寿命到達時処理の手順は、図56に示したものと同様である。すなわち、制御ツール2
00は、寿命到達時処理の際に、ブートローダ300のバックアップ情報、すなわちブー
トローダ復元情報350を復元用ブートローダ領域16Vに書き込む(ステップS320
)。領域16Vに書き込む情報としては、たとえば領域16Cに記憶されているブートロ
ーダ300のデータ(イメージ)をそのままコピーしてもよいし、ブートローダの書き換
え差分情報を記録してもよい。その後、制御ツール200は、ブートローダ300を書き
換え、次回以降コンピュータシステム1が起動されたときには、通常時OS100Aでは
なく緊急時OS100Bが主メモリ6に読み出されるようにする(ステップS321)。
The procedure of the process at the end of the lifetime is the same as that shown in FIG. That is, control tool 2
00 writes the backup information of the boot loader 300, that is, the boot loader restoration information 350, in the restoration boot loader area 16V during the life end process (step S320).
). As information to be written in the area 16V, for example, data (image) of the boot loader 300 stored in the area 16C may be copied as it is, or rewrite difference information of the boot loader may be recorded. Thereafter, the control tool 200 rewrites the boot loader 300 so that the emergency OS 100B is read into the main memory 6 instead of the normal OS 100A when the computer system 1 is started up next time (step S321).

さらに、後述するバックアップ動作時に、復元用ブートローダ領域16Vの検索を容易
にするために、制御ツール200は、ブートローダ領域16Cに、復元用ブートローダ領
域16Vの先頭LBAを書き込んでおくことが望ましい(ステップS322)。ブートロ
ーダ領域16Cに復元用ブートローダ領域16Vの先頭LBAを書き込んでおくことは必
ずしも必要ではなく、領域16Vの先頭に特定データパターンを書き込んでおき、後述す
るバックアップ時にこの特定データパターンを検索することで領域16Vを特定してもよ
いし、領域16Vをあらかじめ定められた特定LBAに固定的に対応付けすることにして
おいて、後述するバックアップ時に前記特定LBAにアクセスすることで領域16Vを特
定してもよいし、その他方法で領域16Vを特定してもよい。
Furthermore, in order to facilitate the retrieval of the restoration boot loader area 16V during a backup operation described later, it is desirable that the control tool 200 writes the first LBA of the restoration boot loader area 16V in the boot loader area 16C (step S322). ). It is not always necessary to write the first LBA of the boot loader area for restoration 16V in the boot loader area 16C. A specific data pattern is written at the beginning of the area 16V, and the area is obtained by searching for this specific data pattern at the time of backup described later. 16V may be specified, or the area 16V may be fixedly associated with a predetermined specific LBA, and the area 16V may be specified by accessing the specific LBA during backup described later. The region 16V may be specified by other methods.

ステップS321以降、第1の実施形態と同様に、コンピュータシステム1の再起動を
行ってもよいし、第5の実施形態と同様にSSD2のリフレッシュ制御コマンドを送信し
てもよい。また、復元用ブートローダ領域16VはSSD2以外の記憶装置に確保しても
よい。
After step S321, the computer system 1 may be restarted as in the first embodiment, or an SSD2 refresh control command may be transmitted as in the fifth embodiment. The restoration boot loader area 16V may be secured in a storage device other than the SSD 2.

図60は、緊急時OS100Bによるブートローダ復元処理を示すものである。寿命到
達処理後(異常時処理後)、コンピュータシステム1が緊急時OSを用いて起動している
時、緊急時OS100Bは、たとえば前述のSMART READ DATAなどを用いて統計情報を監
視し、統計情報が正常値に戻ったかどうかを判定する(ステップS340)。上述した判
断基準に基づき、統計情報が正常値に戻ったとき(ステップS340:Yes)、緊急時
OS100Bは、復元用ブートローダ領域16Vに記憶されたブートローダ復元情報35
0とブートローダ領域16Cに記憶されたブートローダ300のデータをもとに、通常時
OS100Aが主メモリ6の領域6Aにロードされるように処理するブートローダを作成
し、作成したブートローダをブートローダ領域16Cに書き込む(ステップS341)。
これにより、次回以降コンピュータシステム1の起動時にブートローダ300がロードさ
れた場合は通常時OS100Aが主メモリ6の領域6Aにロードされる。
FIG. 60 shows boot loader restoration processing by the emergency OS 100B. After the end of life processing (after abnormal processing), when the computer system 1 is activated using the emergency OS, the emergency OS 100B monitors the statistical information using, for example, the above-mentioned SMART READ DATA, and the statistical information It is determined whether or not has returned to a normal value (step S340). When the statistical information returns to the normal value based on the above-described determination criteria (step S340: Yes), the emergency OS 100B sets the boot loader restoration information 35 stored in the restoration boot loader area 16V.
Based on 0 and the data of the boot loader 300 stored in the boot loader area 16C, a boot loader for processing so that the normal time OS 100A is loaded into the area 6A of the main memory 6 is created, and the created boot loader is written in the boot loader area 16C. (Step S341).
Thereby, when the boot loader 300 is loaded when the computer system 1 is started next time or later, the normal-time OS 100A is loaded into the area 6A of the main memory 6.

図56のステップS320でのブートローダのバックアップ処理において、領域16C
に記憶されているブートローダ300のデータ(イメージ)を、そのまま復元用ブートロ
ーダ領域16Vにコピーした場合は、図60のステップS341において、復元用ブート
ローダ領域16Vのブートローダ復元情報350をそのままバックアップ用記憶装置15
0の領域150Cにコピーしてもよい。
In the boot loader backup process in step S320 of FIG.
When the data (image) of the boot loader 300 stored in is restored to the restoration boot loader area 16V as it is, the boot loader restoration information 350 in the restoration boot loader area 16V is directly used as the backup storage device 15 in step S341 in FIG.
You may copy to 0 area | region 150C.

また、図56のステップS320でのブートローダのバックアップ処理において、復元
用ブートローダ領域16Vにブートローダ領域16Cの書き換え差分情報が記録された場
合は、すなわちブートローダ領域16Cが旧ブートローダデータから新ブートローダデー
タに書き換えられる時の新・旧ブートローダデータ書き換えの差分情報が復元用ブートロ
ーダ領域16Vに記録された場合は、緊急時OS100Bは、図60のステップS341
において、ブートローダ領域16Cのデータ(新ブートローダデータ)と、復元用ブート
ローダ領域16Vに記憶されている差分データであるブートローダ復元情報350を主メ
モリ6に読み出し、ブートローダ復元情報350をもとに新ブートローダデータを旧ブー
トローダデータに復元し、復元した旧ブートローダデータをバックアップ用記憶装置15
0の領域150Cに書き込む。
Also, in the boot loader backup process in step S320 of FIG. 56, when rewrite difference information of the boot loader area 16C is recorded in the restoration boot loader area 16V, that is, the boot loader area 16C is rewritten from the old boot loader data to the new boot loader data. When the difference information for rewriting the new and old boot loader data at the time is recorded in the restoration boot loader area 16V, the emergency OS 100B determines that step S341 in FIG.
, The boot loader area 16C data (new boot loader data) and the boot loader restoration information 350, which is the difference data stored in the restoration boot loader area 16V, are read into the main memory 6, and the new boot loader data is read based on the boot loader restoration information 350. Is restored to the old boot loader data, and the restored old boot loader data is stored in the backup storage device 15.
Write to 0 area 150C.

このように、本実施形態では、図61に示すように、統計情報が正常状態から異常状態
になったときには、異常時OSが起動されるよう動作する異常時到達処理を実行し、統計
情報が異常状態から正常状態に戻ったときは、通常時OSが起動されるよう動作するブー
トローダ復元処理を実行する。
As described above, in this embodiment, as shown in FIG. 61, when the statistical information changes from the normal state to the abnormal state, the abnormal time arrival process is performed so that the abnormal time OS is activated, and the statistical information is When the abnormal state returns to the normal state, a boot loader restoration process that operates so as to start the OS at the normal time is executed.

このようにして、SSD2が一時的に異常状態になった場合であっても、SSD2が正
常状態(健康状態)に戻った後には、コンピュータシステム1は通常時OSを起動するよ
うになり、ユーザは、余分な設定や通常時OSの再インストールを行うことなく、SSD
2を寿命到達時処理前と同等にSSD2を扱うことができる。
In this way, even if the SSD 2 temporarily becomes abnormal, after the SSD 2 returns to the normal state (healthy state), the computer system 1 starts the OS at the normal time, and the user SSD without extra configuration or re-installing OS during normal operation
2 can be handled in the same way as before the process at the end of life.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したも
のであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その
他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の
省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や
要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる
Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

1 コンピュータシステム、3 ホスト装置、6 主メモリ、16 NANDメモリ、
20 不揮発性記憶装置、100A 通常時OS、100B 緊急時OS、200 制御
ツール、210 緊急時ツール、300 ブートローダ、350 ブートローダ復元情報
1 computer system, 3 host device, 6 main memory, 16 NAND memory,
20 Nonvolatile storage device, 100A Normal OS, 100B Emergency OS, 200 Control tool, 210 Emergency tool, 300 Boot loader, 350 Boot loader restoration information.

Claims (14)

データを記憶するためのメモリセルを備え、複数個の前記メモリセルを第1の単位とし
て前記メモリセルに記録されたデータを電気的に消去可能な不揮発性半導体メモリと、
揮発性半導体メモリと、
コントローラ回路と、
温度センサと、
インタフェース回路と、
を備える半導体記憶装置と、
この半導体記憶装置に対し書き込み及び読み出し命令を送信するホスト装置と、
を備える情報記録システムであって、
前記不揮発性半導体メモリならびに前記揮発性半導体メモリは、前記インタフェース回
路を介して前記ホスト装置から受信する論理アドレス情報に対応する前記不揮発性半導体
メモリの物理アドレスを指定する第1情報をそれぞれ記録可能に構成され、
前記コントローラ回路は、前記インタフェース回路を介して前記ホスト装置から書き込
み命令を受信した際は、前記ホスト装置から受信したデータを用いて訂正符号を生成し、
前記不揮発性半導体メモリに、前記データならびに前記訂正符号を記録し、かつ、前記イ
ンタフェース回路を介して前記ホスト装置から読み出し命令を受信した際は、前記第1情
報を用いて前記不揮発性半導体メモリから読み込んだデータならびに対応する前記訂正符
号に基づいて、前記読み出したデータを訂正可能に構成され、
前記不揮発性半導体メモリは、更に前記ホスト装置から受信した書き込み命令に応じて
受信した書き込みデータの総量に基づく第2情報と、
前記ホスト装置から受信した読み込み命令に応じて前記不揮発性半導体メモリから読み
出したデータの総量に基づく第3情報と、
前記コントローラが、前記不揮発性半導体メモリから読み込んだデータを、対応する前
記訂正符号を用いても、訂正することが出来なかったデータの個数に関する第4情報と、
前記不揮発性半導体メモリのうち、データを書き込むことが出来ないと判断されたメモ
リセルの個数に応じた情報を前記第1の単位で示した第5情報と、
前記不揮発性半導体メモリのうち、データを書き込むことが出来ると判断された前記メ
モリセルの個数に応じた第6情報と、
前記温度センサを用いて計測された温度に基づく第7情報と、を記憶するように構成さ
れ、
前記ホスト装置は、前記第2情報または第3情報に基づく前記不揮発性半導体メモリの
第1ステータス情報と、前記第4情報または第5情報に基づく前記不揮発性半導体メモリ
の第2ステータス情報と、前記第7情報に基づく前記不揮発性半導体メモリの第3ステー
タス情報と、を、前記ホスト装置に接続される表示装置に表示可能に構成され、
前記半導体記憶装置は、前記ホスト装置から受信した命令及び論理アドレス情報に基づ
いて、対応する物理アドレスに記録されているデータを前記第1の単位で消去し、前記第
6情報を変更可能に構成されていることを特徴とする情報記録システム。
A non-volatile semiconductor memory comprising a memory cell for storing data, and capable of electrically erasing data recorded in the memory cell using a plurality of the memory cells as a first unit;
Volatile semiconductor memory,
A controller circuit;
A temperature sensor;
An interface circuit;
A semiconductor memory device comprising:
A host device that transmits write and read commands to the semiconductor memory device;
An information recording system comprising:
The nonvolatile semiconductor memory and the volatile semiconductor memory can each record first information that designates a physical address of the nonvolatile semiconductor memory corresponding to logical address information received from the host device via the interface circuit. Configured,
When the controller circuit receives a write command from the host device via the interface circuit, it generates a correction code using the data received from the host device,
When the data and the correction code are recorded in the nonvolatile semiconductor memory, and when a read command is received from the host device via the interface circuit, the nonvolatile semiconductor memory uses the first information. Based on the read data and the corresponding correction code, the read data is configured to be correctable,
The nonvolatile semiconductor memory further includes second information based on a total amount of write data received in response to a write command received from the host device,
Third information based on the total amount of data read from the nonvolatile semiconductor memory in response to a read command received from the host device;
The controller reads the data read from the non-volatile semiconductor memory, using the corresponding correction code, fourth information regarding the number of data that could not be corrected;
Fifth information indicating, in the first unit, information corresponding to the number of memory cells determined to be unable to write data in the nonvolatile semiconductor memory;
Sixth information according to the number of the memory cells determined to be able to write data in the nonvolatile semiconductor memory;
7th information based on the temperature measured using the temperature sensor, and configured to store,
The host device includes: first status information of the nonvolatile semiconductor memory based on the second information or third information; second status information of the nonvolatile semiconductor memory based on the fourth information or fifth information; Third status information of the nonvolatile semiconductor memory based on seventh information is configured to be displayed on a display device connected to the host device,
The semiconductor memory device is configured to erase the data recorded in the corresponding physical address in the first unit and change the sixth information based on the command and logical address information received from the host device. An information recording system characterized by that.
前記第2情報または前記第3情報のうち特定の情報が対応する閾値を超えた場合に前記
第1ステータス情報に含まれるアイコンの色を変更することを特徴とする請求項1に記載
の情報記録システム。
The information recording according to claim 1, wherein a color of an icon included in the first status information is changed when specific information of the second information or the third information exceeds a corresponding threshold value. system.
前記第2ステータス情報は、前記半導体記憶装置の残り寿命を示し、前記残り寿命が所
定値を下回った場合、前記表示装置に警告画面を表示することを特徴とする請求項1に記
載の情報記録システム。
2. The information recording according to claim 1, wherein the second status information indicates a remaining life of the semiconductor memory device, and displays a warning screen on the display device when the remaining life falls below a predetermined value. system.
前記警告画面には、前記半導体記憶装置に保存されているデータのバックアップを促す
メッセージが含まれることを特徴とする請求項3または請求項4に記載の情報記録システ
ム。
5. The information recording system according to claim 3, wherein the warning screen includes a message prompting backup of data stored in the semiconductor storage device.
前記第2乃至7情報はそれぞれ属性IDを備える請求項1乃至請求項4の何れか一つに
記載の情報記録システム。
The information recording system according to any one of claims 1 to 4, wherein each of the second to seventh information includes an attribute ID.
前記不揮発性半導体メモリは、NAND型フラッシュメモリである請求項1乃至請求項
5の何れか一つに記載の情報記録システム。
6. The information recording system according to claim 1, wherein the nonvolatile semiconductor memory is a NAND flash memory.
前記メモリセルへ2ビットデータが記憶可能である請求項6に記載の情報記録システム
The information recording system according to claim 6, wherein 2-bit data can be stored in the memory cell.
前記メモリセルへ3ビットデータが記憶可能である請求項6に記載の情報記録システム
The information recording system according to claim 6, wherein 3-bit data can be stored in the memory cell.
揮発性半導体メモリは、DRAM(Dynamic Random Access Memory)であって、前記イ
ンタフェース回路と前記不揮発性半導体メモリとのバッファとして機能する請求項1乃至
請求項8の何れか一つに記載の情報記録システム。
9. The information recording system according to claim 1, wherein the volatile semiconductor memory is a DRAM (Dynamic Random Access Memory) and functions as a buffer between the interface circuit and the nonvolatile semiconductor memory. .
前記半導体記憶装置の容量は前記ホスト装置からアクセス可能なデータの容量よりも大
きい請求項1乃至請求項9の何れか一つに記載の情報記録システム。
The information recording system according to claim 1, wherein a capacity of the semiconductor memory device is larger than a data capacity accessible from the host device.
前記ホスト装置は、メモリをさらに備え、前記半導体記憶装置から取得した前記第2乃
至第7情報のうち少なくとも一つの情報を前記メモリへ記録可能に構成された請求項1乃
至請求項10の何れかひとつに記載の情報記録システム。
11. The host device according to claim 1, wherein the host device further includes a memory, and is configured to record at least one of the second to seventh information acquired from the semiconductor storage device in the memory. The information recording system described in one.
前記ホスト装置は、前記メモリへ記録した前記少なくとも一つの情報の時系列データを
前記表示装置へ表示可能に構成された請求項11に記載の情報記録システム。
The information recording system according to claim 11, wherein the host device is configured to be able to display time series data of the at least one information recorded in the memory on the display device.
前記ホスト装置は、不揮発性メモリをさらに備え、前記メモリへ記録した前記少なくと
も一つの情報を前記不揮発性メモリにバックアップするように構成された請求項11また
は請求項12に記載の情報記録システム。
The information recording system according to claim 11 or 12, wherein the host device further includes a nonvolatile memory, and is configured to back up the at least one information recorded in the memory to the nonvolatile memory.
前記ホスト装置は、前記不揮発性メモリにバックアップする際、前記不揮発性に記録さ
れているデータのうち古いデータを消去するように構成された請求項13に記載の情報記
録システム。
14. The information recording system according to claim 13, wherein the host device is configured to erase old data among the data recorded in the nonvolatile manner when backing up to the nonvolatile memory.
JP2016082279A 2016-04-15 2016-04-15 Information recording system Active JP6190488B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016082279A JP6190488B2 (en) 2016-04-15 2016-04-15 Information recording system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016082279A JP6190488B2 (en) 2016-04-15 2016-04-15 Information recording system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014248997A Division JP2015084241A (en) 2014-12-09 2014-12-09 Information processing device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017151090A Division JP6403130B2 (en) 2017-08-03 2017-08-03 Information recording system

Publications (2)

Publication Number Publication Date
JP2016157470A true JP2016157470A (en) 2016-09-01
JP6190488B2 JP6190488B2 (en) 2017-08-30

Family

ID=56826292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016082279A Active JP6190488B2 (en) 2016-04-15 2016-04-15 Information recording system

Country Status (1)

Country Link
JP (1) JP6190488B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109801668A (en) * 2017-11-17 2019-05-24 慧荣科技股份有限公司 Data memory device and the operating method being applied thereon
JP2019125109A (en) * 2018-01-15 2019-07-25 株式会社バッファロー Storage device, storage system, and program
JP2022040260A (en) * 2018-01-15 2022-03-10 株式会社バッファロー Storage device, storage system, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008009594A (en) * 2006-06-28 2008-01-17 Seiko Epson Corp Semiconductor storage device management system, semiconductor storage device, host device, program, and method for managing semiconductor storage device
JP2008139927A (en) * 2006-11-30 2008-06-19 Toshiba Corp Memory system
JP2009211219A (en) * 2008-03-01 2009-09-17 Toshiba Corp Memory system
JP2010287242A (en) * 2010-06-30 2010-12-24 Toshiba Corp Nonvolatile semiconductor memory drive

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008009594A (en) * 2006-06-28 2008-01-17 Seiko Epson Corp Semiconductor storage device management system, semiconductor storage device, host device, program, and method for managing semiconductor storage device
JP2008139927A (en) * 2006-11-30 2008-06-19 Toshiba Corp Memory system
JP2009211219A (en) * 2008-03-01 2009-09-17 Toshiba Corp Memory system
US20090248964A1 (en) * 2008-03-01 2009-10-01 Kabushiki Kaisha Toshiba Memory system and method for controlling a nonvolatile semiconductor memory
JP2010287242A (en) * 2010-06-30 2010-12-24 Toshiba Corp Nonvolatile semiconductor memory drive

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109801668A (en) * 2017-11-17 2019-05-24 慧荣科技股份有限公司 Data memory device and the operating method being applied thereon
JP2019096281A (en) * 2017-11-17 2019-06-20 慧榮科技股▲分▼有限公司 Data storage device and associated operating method
US10915388B2 (en) 2017-11-17 2021-02-09 Silicon Motion, Inc. Data storage device and associated operating method capable of detecting errors and effectively protecting data
JP2019125109A (en) * 2018-01-15 2019-07-25 株式会社バッファロー Storage device, storage system, and program
US10782881B2 (en) 2018-01-15 2020-09-22 Buffalo Inc. Storage device for not allowing to write data based on end of life of a disk device
JP7011160B2 (en) 2018-01-15 2022-01-26 株式会社バッファロー Storage devices, storage systems, and programs
JP2022040260A (en) * 2018-01-15 2022-03-10 株式会社バッファロー Storage device, storage system, and program
JP7193763B2 (en) 2018-01-15 2022-12-21 株式会社バッファロー Storage device, storage system, and program

Also Published As

Publication number Publication date
JP6190488B2 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
US11726661B2 (en) Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US11544131B2 (en) Information processing device, external storage device, host device, relay device, control program, and control method of information processing device
JP2013047913A (en) Information processor, control method of the same, control tool and host device
JP6005566B2 (en) Information processing system, control program, and information processing apparatus
JP5668163B2 (en) Information processing device
JP6190488B2 (en) Information recording system
JP5535383B2 (en) Host device and control tool
JP6403130B2 (en) Information recording system
JP2019008814A (en) Semiconductor memory device
JP7143487B2 (en) Information processing equipment
JP6913797B2 (en) Information processing device
JP2015084241A (en) Information processing device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170421

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170615

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: 20170707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170804

R150 Certificate of patent or registration of utility model

Ref document number: 6190488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350