JP2011159138A - Storage device and method of controlling the same - Google Patents

Storage device and method of controlling the same Download PDF

Info

Publication number
JP2011159138A
JP2011159138A JP2010020820A JP2010020820A JP2011159138A JP 2011159138 A JP2011159138 A JP 2011159138A JP 2010020820 A JP2010020820 A JP 2010020820A JP 2010020820 A JP2010020820 A JP 2010020820A JP 2011159138 A JP2011159138 A JP 2011159138A
Authority
JP
Japan
Prior art keywords
physical
writing
logical
data
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010020820A
Other languages
Japanese (ja)
Inventor
Yasuhiro Nakamura
康裕 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010020820A priority Critical patent/JP2011159138A/en
Publication of JP2011159138A publication Critical patent/JP2011159138A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To find ways to increase vacant memory cells using a limited number from an operational standpoint, in view of the fact that, if a semiconductor disk device is installed as a storage region of an information processor, the reliability of data could deteriorate due to the life of memory cells and that there is a limit to the number of memory parts to be installed, despite the need to increase the number of vacant memory cells in order to prolong the life. <P>SOLUTION: This control method includes recording written data information such as the number of writes to a physical position and a logical position of a memory cell when data is written. After a physical/logical position control part 105 determines a physical position where a write is made, a recording method control part 106 determines a recording method that matches the frequency of data updates. Data is written according to this determination, and a function to preferentially allocate vacant memory cells to data with high frequencies of updates is newly provided. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明はNAND型フラッシュメモリを搭載した半導体ディスクの記憶装置において、一定範囲のメモリセルへの書き込み回数をカウントする機能を備え、且つ低価格・長寿命を実現するため、書き込み回数を判断してメモリセル記録方式を制御し、ディスク全体の記録状態を最適化する記憶装置に関する。   The present invention is a semiconductor disk storage device equipped with a NAND flash memory, and has a function of counting the number of writes to a certain range of memory cells, and in order to realize a low price and long life, the number of writes is determined. The present invention relates to a storage device that controls a memory cell recording system and optimizes the recording state of the entire disk.

半導体ディスクの記憶装置は、NAND型フラッシュメモリセルにデータを記録する方式が主流となっている。メモリセルは、MOSトランジスタ構造をしており、ゲート層の電圧制御により絶縁層に挟まれ電気的に隔離された浮遊ゲート層へ電荷が注入され、帯電状態を保持することでデータを記録している。1つの浮遊ゲート層に対して1種類の帯電状態で1ビットを保守するのはSLC(Single Level Cell)と呼ばれる記録方式で、浮遊ゲート層の帯電状態を部分的に管理して複数の帯電状態を作り出し、2ビット以上を保守するのはMLC(Multi Level Cell)と呼ばれる記録方式である。データの書き込み・消去時は絶縁層を電荷が通過するため、書き込み動作を繰り返すと絶縁層が損傷し、絶縁の役目を果たせなくなる。   The mainstream of semiconductor disk storage devices is to record data in NAND flash memory cells. The memory cell has a MOS transistor structure, and charges are injected into a floating gate layer that is sandwiched between insulating layers by voltage control of the gate layer and electrically isolated, and data is recorded by maintaining a charged state. Yes. One bit is maintained for one floating gate layer with one type of charge state. A recording method called SLC (Single Level Cell) is used, and the charge state of the floating gate layer is partially managed to maintain multiple charge states. Is a recording method called MLC (Multi Level Cell) that maintains 2 bits or more. When data is written / erased, charges pass through the insulating layer. Therefore, if the writing operation is repeated, the insulating layer is damaged and cannot perform the function of insulation.

上記より、NAND型フラッシュメモリセルに書き込み回数制限が存在することは一般的である。SLC方式とMLC方式で使用するメモリセル自体は同一であるが、MLC方式は複数の帯電状態を管理することから電圧制御が厳しくなり、絶縁層の損傷に敏感になる。そのため、一般的にSLC方式よりMLC方式の方が寿命は短く、管理する帯電状態が増える即ち浮遊ゲート層へ記録するビットが増えるほど寿命は短くなるが、安価で大容量が実現できる。半導体ディスク装置では用途に応じてSLC方式とMLC方式を使い分けており、メモリコントローラで寿命管理を行っている。特開平8−16482号公報にはNAND型フラッシュメモリを用いた記憶装置での寿命管理と書き込み制御技術について記載されている。   From the above, it is general that the number of times of writing exists in the NAND flash memory cell. Although the memory cells used in the SLC method and the MLC method are the same, the MLC method manages a plurality of charged states, so that the voltage control becomes strict and is sensitive to the damage of the insulating layer. Therefore, in general, the life of the MLC method is shorter than that of the SLC method, and the life is shortened as the charged state to be managed increases, that is, the number of bits to be recorded on the floating gate layer increases. In semiconductor disk devices, the SLC method and MLC method are properly used according to the application, and the life management is performed by the memory controller. Japanese Patent Application Laid-Open No. 8-16482 describes life management and write control technology in a storage device using a NAND flash memory.

特開平8−16482号公報JP-A-8-16482

近年、NAND型フラッシュメモリのプロセス微細化により小型化・大容量化が進み、SATA・SASといったインターフェースをもつ半導体ディスク装置が従来の磁気ディスク装置の代替として使われている。半導体ディスク装置はデータアクセス性能が高速で低消費電力でありパソコン・サーバ等の情報処理装置へ積極的に搭載される反面、構成が複雑で多数のデータアクセスを伴うシステム特性上、メモリセルの寿命によるデータ信頼性悪化が懸念されている。この問題を対策する手段として、半導体ディスク装置では書き込み回数の少ないメモリセルへ優先的に書き込みを行うウェアレベリング制御を実施している。メモリセルごとの書き込み回数を均一化することで、より多くのメモリセルの書き込み回数制限を活用でき、半導体ディスク装置自身の寿命を延ばしている。   In recent years, NAND flash memory has been miniaturized and increased in capacity due to process miniaturization, and a semiconductor disk device having an interface such as SATA / SAS has been used as an alternative to a conventional magnetic disk device. The semiconductor disk device has high data access performance and low power consumption, and is actively installed in information processing devices such as personal computers and servers. However, it has a complicated configuration and system characteristics that accompany many data accesses. There is concern about the deterioration of data reliability. As means for solving this problem, the semiconductor disk device implements wear leveling control that preferentially writes to a memory cell with a small number of writes. By equalizing the number of times of writing for each memory cell, the number of times of writing of more memory cells can be utilized and the life of the semiconductor disk device itself is extended.

前記の制御により、空きメモリセルの数が多ければ多いほど半導体ディスク装置の寿命は長くなる。しかし、単位面積当たりのメモリセルの数には限界があると共に、メモリ部品の数を増やすほど高価格になり一般的ではなくなってしまう。半導体プロセスの微細化により高集積化が進んだとしても、微細化によって絶縁層の損傷が早くなるという問題もある。限られたメモリセル数の中で空きメモリセルを増やす動作上の工夫が必要となる。   With the above control, the longer the number of empty memory cells, the longer the life of the semiconductor disk device. However, the number of memory cells per unit area is limited, and as the number of memory components increases, the price increases and becomes less common. Even if high integration is advanced by miniaturization of the semiconductor process, there is a problem that damage to the insulating layer is accelerated by miniaturization. A device for increasing the number of empty memory cells within a limited number of memory cells is required.

上位装置から書き込み命令を受領した際に、書き込み実施する物理位置と論理位置に対する書き込み回数をそれぞれカウントして、書き込みデータ情報として保存する。また、既に格納されている書き込みデータ情報を読み出して、書き込みデータが更新頻度の高いデータかどうかを半導体ディスク装置自身が判定する機能を設ける。半導体ディスク装置は、判定に基づいて最適なメモリセルへ最適な記録方式で記録する。   When a write command is received from the host device, the number of times of writing to the physical position and logical position where writing is performed is counted and stored as write data information. In addition, the semiconductor disk device itself has a function of reading out already stored write data information and determining whether the write data is frequently updated data. The semiconductor disk device records data in an optimal memory cell by an optimal recording method based on the determination.

すなわち、上位装置から見たアクセス単位である論理位置を、フラッシュメモリの物理位置に割り当て、記録方式としてSLC方式とMLC方式とを使いわけるフラッシュメモリを用いた記憶装置の制御方法において、書き込み処理の際に、物理位置判定と、記録方式判定とを行う。   That is, a logical position, which is an access unit viewed from the host device, is assigned to a physical position in the flash memory, and in a storage device control method using a flash memory in which the SLC method and the MLC method are selectively used as a recording method, At this time, physical position determination and recording method determination are performed.

前記物理位置判定では、フラッシュメモリの複数の物理位置への書き込み回数を管理する第一の管理と、書き込み対象となる論理位置の情報が記録されているメモリブロックの物理位置情報およびその物理位置の書き込み回数を管理する第二の管理と、前記第二の管理で管理される物理位置の書き込み回数と前記第一の管理で管理される書き込み回数のうち最小である物理位置の書き込み回数との差分を、所定の閾値と照合し、前記差分が所定の閾値を超えない場合、前記書き込み対象となる論理位置の情報が記録されているメモリブロックの物理位置を、書き込み位置と決定し、前記差分が所定の閾値を超える場合、前記メモリブロックの空きブロックのうち最大書き込み回数のブロックへ最小書き込み回数のブロックのデータをコピーし、前記最小書き込み回数のブロックのデータを消去して新たな書き込み位置と決定し、前記第二の管理で管理される書き込み対象となる論理位置の情報が記録されている物理位置を前記新たな書き込み位置である前記最小書き込み回数のブロックの物理位置に変更する。   In the physical position determination, the first management for managing the number of times the flash memory is written to a plurality of physical positions, the physical position information of the memory block in which the information on the logical position to be written is recorded, and the physical position The difference between the second management for managing the number of times of writing, the number of times of writing at the physical position managed by the second management, and the number of times of writing at the physical position that is the smallest of the number of times of writing managed by the first management Is compared with a predetermined threshold, and if the difference does not exceed the predetermined threshold, the physical position of the memory block in which the information on the logical position to be written is recorded is determined as the write position, and the difference is When the predetermined threshold value is exceeded, the data of the block with the minimum write count is copied to the block with the maximum write count among the empty blocks of the memory block. The data of the minimum write count block is erased and determined as a new write position, and the physical position where the information on the logical position to be written managed by the second management is recorded is the new write position. To the physical position of the block with the minimum number of writes.

前記記録方式判定では、前記書き込み対象となる論理位置の書き込み回数を参照し、前記書き込み対象となる論理位置の情報を書き込み実施するメモリブロックの物理位置の記録方式を確認し、前記論理位置の書き込み回数と所定の閾値とを照合し、前記論理位置の書き込み回数が所定の閾値を超えない場合、SLC方式を選択し、前記論理位置の書き込み回数が所定の閾値を超える場合、MLC方式を選択する。   In the recording method determination, the number of times of writing of the logical position to be written is referred to, the recording method of the physical position of the memory block in which the information of the logical position to be written is written is confirmed, and the writing of the logical position is performed. When the number of times of writing at the logical position does not exceed the predetermined threshold, the SLC method is selected. When the number of times of writing at the logical position exceeds the predetermined threshold, the MLC method is selected. .

情報処理装置では記憶領域に常に書き込みを行っているわけではなく、基本ソフトウェアやアプリケーションデータ等の読み込みしか行わない情報も大量にある。これらの情報は同一の論理位置に長期間記録されるのが一般的である。   The information processing apparatus does not always write to the storage area, and there is a large amount of information that only reads basic software, application data, and the like. These pieces of information are generally recorded for a long time in the same logical position.

本発明の半導体ディスク装置は、自己の書き込みデータ情報から以後更新されないデータはMLC方式でまとめて記録し、メモリセルの消費を抑える。このことにより、空きメモリセル数を増やすことができ、ウェアレベリング制御と組み合わせることによって、更新頻度の高いデータへ優先的に空きメモリセルを割り当てることができる。このことにより、同一メモリセル数の半導体ディスク装置の寿命を従来より延ばすことが可能である。   The semiconductor disk device of the present invention records data that is not updated thereafter from its own write data information by the MLC method, and suppresses the consumption of memory cells. As a result, the number of empty memory cells can be increased, and by combining with wear leveling control, empty memory cells can be preferentially allocated to data with a high update frequency. As a result, the life of the semiconductor disk device having the same number of memory cells can be extended as compared with the conventional case.

実施例の半導体ディスク装置を搭載した情報処理装置の全体図Overall view of information processing apparatus equipped with semiconductor disk device of embodiment 半導体ディスク装置のウェアレベリング制御ブロック図Wear leveling control block diagram of semiconductor disk device 実施例の半導体ディスク装置のデータ処理ブロック図Data processing block diagram of semiconductor disk device of embodiment 実施例の半導体ディスク装置の物理位置判定処理フロー図Physical position determination processing flowchart of semiconductor disk device of embodiment 半導体ディスク装置のメモリセル記録方式と記録状態図Memory cell recording method and recording state diagram of semiconductor disk device 実施例の半導体ディスク装置の記録方式判定処理フロー図Recording method determination processing flowchart of the semiconductor disk device of the embodiment 実施例の半導体ディスク装置の書き込み処理フロー図Write processing flowchart of semiconductor disk device of embodiment 実施例の半導体ディスク装置の記録方式とデータ遷移図Recording system and data transition diagram of semiconductor disk device of embodiment

以下、図面を用いて、本発明を適用した実施例について詳細に説明する。   Hereinafter, embodiments to which the present invention is applied will be described in detail with reference to the drawings.

図1は、本発明の一実施例の半導体ディスク装置を搭載した情報処理装置の全体図である。構成要素としては、CPU101、メインメモリ102、インターフェース制御IC103、SATAバス104、半導体ディスク装置105から成る。インターフェース制御IC103は、各インターフェースからの情報を統括するメインコントローラ106、処理要求をSATA規格のコマンドやデータへ変換するSATAコントローラ107、SATA規格のディスク装置へ送るコマンドを管理するコマンド制御部108から構成される。   FIG. 1 is an overall view of an information processing apparatus equipped with a semiconductor disk device according to an embodiment of the present invention. The constituent elements include a CPU 101, a main memory 102, an interface control IC 103, a SATA bus 104, and a semiconductor disk device 105. The interface control IC 103 includes a main controller 106 that supervises information from each interface, a SATA controller 107 that converts processing requests into SATA standard commands and data, and a command control unit 108 that manages commands sent to the SATA standard disk device. Is done.

半導体ディスク装置105は、SATAコマンドやデータの受領、応答を行うSATAコントローラ109、受領したSATAコマンドを管理するコマンド制御部110、半導体ディスク装置の実動作を制御するメモリコントローラ111、データの格納場所である半導体メモリ112から構成される。   The semiconductor disk device 105 includes a SATA controller 109 that receives and responds to SATA commands and data, a command control unit 110 that manages the received SATA commands, a memory controller 111 that controls the actual operation of the semiconductor disk device, and a data storage location. The semiconductor memory 112 is configured.

本情報処理装置は、メインメモリ102に展開されたプログラム及びデータをCPU101で実行することにより成り立つ。メインメモリ102上にない新たな情報が必要な時、又はメインメモリ102に情報を格納しきれない時は、インターフェース制御IC103のメインコントローラ106へCPU101が処理要求を行う。処理要求が届くとSATAコントローラ107からSATAコマンドとして半導体ディスク装置105へ送られる。その際、コマンド制御部108はSATAコントローラ107と連携し、半導体ディスク装置105からのコマンド応答内容や応答時間を管理している。   This information processing apparatus is realized by the CPU 101 executing the program and data expanded in the main memory 102. When new information that is not on the main memory 102 is necessary, or when information cannot be stored in the main memory 102, the CPU 101 makes a processing request to the main controller 106 of the interface control IC 103. When a processing request arrives, it is sent from the SATA controller 107 to the semiconductor disk device 105 as a SATA command. At this time, the command control unit 108 manages the command response contents and response time from the semiconductor disk device 105 in cooperation with the SATA controller 107.

半導体ディスク装置105は、SATAコマンドをSATAコントローラ109で受領し、その情報をコマンド制御部110、メモリコントローラ111に展開する。メモリコントローラ111は、半導体メモリ112に対して処理要求を実行し、結果をSATAコントローラ109を経由してインターフェース制御IC103へ応答する。メインコントローラ106は、半導体ディスク装置105からの応答結果をCPU101へ、データがある場合はメインメモリ102へ送出する。以上を耐えず繰り替えすことにより、情報処理装置として稼動することができる。   The semiconductor disk device 105 receives the SATA command by the SATA controller 109 and develops the information to the command control unit 110 and the memory controller 111. The memory controller 111 executes a processing request to the semiconductor memory 112 and returns a result to the interface control IC 103 via the SATA controller 109. The main controller 106 sends the response result from the semiconductor disk device 105 to the CPU 101, and if there is data, sends it to the main memory 102. It can operate as an information processing apparatus by repeating without repeating the above.

図2は、半導体磁気ディスクのウェアレベリング制御を示したブロック図である。前記の通り半導体ディスク装置は書き込みを行う際に書き込み回数が物理的に少ないメモリセルへ優先的書き込みを行う。図1で示した本発明の実施例の全体図では、メモリコントローラ111がこのウェアレベリング制御を制御している。本図では、フラッシュメモリ205には12のメモリアドレスがあり、その2つを半導体メモリの書き込み単位である1ブロックとして、6つのメモリブロック206〜211で構成されるものとして説明する。尚、メモリブロック209と210はデータのない空きブロックとする。   FIG. 2 is a block diagram showing wear leveling control of the semiconductor magnetic disk. As described above, the semiconductor disk device preferentially writes to a memory cell having a physically small number of times of writing when writing. In the overall view of the embodiment of the present invention shown in FIG. 1, the memory controller 111 controls this wear leveling control. In this figure, the flash memory 205 has twelve memory addresses, and two of them are described as one block, which is a writing unit of the semiconductor memory, and is composed of six memory blocks 206 to 211. The memory blocks 209 and 210 are empty blocks with no data.

その上で詳細を説明すると、まず上位装置からの書き込み要求201が書き込みデータ202と共にメモリコントローラ203へ届けられる。このデータはメモリアドレス212のデータの新しいデータとする。メモリコントローラ203は書き込み回数テーブル204を参照し、半導体メモリ205内で物理的に書き込み回数の少ないメモリブロック、多いメモリブロックを検索する。   In more detail, a write request 201 from a higher-level device is first delivered to the memory controller 203 together with write data 202. This data is assumed to be new data of the memory address 212. The memory controller 203 refers to the write count table 204 and searches the semiconductor memory 205 for a memory block with a small physical write count and a memory block with a large write count.

書き込み回数の検索の結果、メモリブロック211の書き込み回数が少ないとすると、メモリブロック211のデータを空きブロック210へコピーする。コピー時の空きブロックは書き込み回数の多いブロックを優先的に選択する。その後、書き込み対象があるメモリブロック208のデータを読み込み、メモリアドレス212のデータを書き込みデータ202に書き換えた上で、メモリブロック211へそのデータを書き込む。   As a result of the search for the number of writes, if the number of writes in the memory block 211 is small, the data in the memory block 211 is copied to the empty block 210. As a free block at the time of copying, a block with a large number of writing times is preferentially selected. Thereafter, the data of the memory block 208 to be written is read, the data at the memory address 212 is rewritten to the write data 202, and the data is written into the memory block 211.

以上のように、半導体ディスク装置は書き込み時に物理的な書き込み回数の少ない位置と多い位置を置換することで、物理位置の書き込み回数を均一化している。ウェアレベリング制御は空きブロックを常に使用するため、物理的に書き込み回数の少ない空きブロックを多く用意できるほど半導体ディスク装置全体としての寿命は長くできる。欠点としては、半導体メモリはメモリセルがいくつか集まったメモリブロック単位で書き込みを行うため、メモリブロックの一部を書き換える際も全体を書き換えなくてはいけない点である。頻繁に書き換えるデータと書き換えしないデータが混ざっていても、全体を書き換えなければならない。ゆえに、メモリ上のデータ位置の最適化と空きブロック確保が効率的なウェアレベリング制御には重要である。   As described above, in the semiconductor disk device, the number of times of physical position writing is made uniform by replacing the position where the physical number of times of writing is small and the position where the number of physical writes is large. Since wear leveling control always uses empty blocks, the longer the number of empty blocks with a small number of physical writes, the longer the lifetime of the semiconductor disk device as a whole. The disadvantage is that since the semiconductor memory performs writing in units of memory blocks in which several memory cells are gathered, the entire memory block must be rewritten when it is partially rewritten. Even if data that is frequently rewritten and data that is not rewritten are mixed, the entire data must be rewritten. Therefore, optimization of the data position on the memory and securing of free blocks are important for efficient wear leveling control.

図3は、本発明の実施例における半導体ディスク装置の読み出し書き込みのデータ処理ブロック図である。本ブロック図は半導体ディスク装置105へ読み出し書き込み処理を要求した際に、コマンド制御部110、メモリコントローラ111が行うデータ処理を説明したものである
コマンド制御部110内のコマンド実行制御部301で読み出し書き込み要求を受けると、上位装置からの処理要求302としてメモリコントローラ111の各部に展開される。読み出しの場合は、読み出し書き込み制御部304が物理/論理位置制御部305に対して読み出しを行う論理位置を示す論理アドレスを展開し、実際にデータが格納されている半導体メモリの物理位置を得る。ここで得た情報を基にメモリチップ308の中の該当位置から要求されたデータを読み出し、データバッファ303に一時記録する。
FIG. 3 is a data processing block diagram of read / write of the semiconductor disk device in the embodiment of the present invention. This block diagram illustrates data processing performed by the command controller 110 and the memory controller 111 when a read / write process is requested to the semiconductor disk device 105. Read / write by the command execution controller 301 in the command controller 110. When the request is received, it is expanded in each part of the memory controller 111 as a processing request 302 from the host device. In the case of reading, the read / write control unit 304 expands a logical address indicating a logical position to be read from the physical / logical position control unit 305, and obtains the physical position of the semiconductor memory where the data is actually stored. Based on the information obtained here, the requested data is read from the corresponding position in the memory chip 308 and temporarily recorded in the data buffer 303.

一時記録されたデータはエラー検出/訂正制御部309でエラーチェックし、エラーが検出されなければコマンド応答制御部310にデータを送信する。エラーが検出されたらエラーデータ訂正やリトライを試み、修復可能であれば修復データを、修復不可能であればエラー内容をコマンド応答制御部310に送信する。   The temporarily recorded data is checked for errors by the error detection / correction control unit 309. If no error is detected, the data is transmitted to the command response control unit 310. If an error is detected, error data correction or retry is attempted, and if it can be repaired, the repair data is sent to the command response control unit 310 if it cannot be repaired.

書き込みの場合は、まず上位装置からの処理要求302として転送されてきたデータをデータバッファ303に一時記録する。その後、読み出しの場合と同様に読み出し書き込み制御部304が、物理/論理位置制御部305に対して書き込みを行う論理位置を示す論理アドレスを展開する。   In the case of writing, first, the data transferred as the processing request 302 from the host device is temporarily recorded in the data buffer 303. After that, as in the case of reading, the read / write control unit 304 expands a logical address indicating a logical position where writing is performed with respect to the physical / logical position control unit 305.

物理/論理位置制御部305は、書き込み回数制限を考慮して半導体メモリ全体の物理位置の書き込み回数を制御し、物理位置の書き込み回数が少ないメモリブロックを判定して、その物理位置を読み出し書き込み制御部304へ送信する。それと同時に論理アドレスを記録方式制御部306へ展開する。   The physical / logical position control unit 305 controls the number of physical position writes in the entire semiconductor memory in consideration of the write number limit, determines a memory block with a small number of physical position write times, and reads and writes the physical position. To the unit 304. At the same time, the logical address is developed in the recording method control unit 306.

記録方式制御部306は、論理位置の書き込み回数を制御するために論理アドレスごとの書き込み回数をカウントし、論理位置の書き込み回数や直近の書き込み論理アドレスから今回の書き込みで使用する記録方式を判定し、読み出し書き込み制御部304へ送信する。   The recording method control unit 306 counts the number of times of writing for each logical address in order to control the number of times of writing at the logical position, and determines the recording method to be used for the current writing from the number of times of writing at the logical position and the latest writing logical address. Then, the data is transmitted to the read / write control unit 304.

書き込みデータ情報テーブル307は、物理/論理位置制御部305が制御する物理位置の書き込み回数、及び記録方式制御部306が制御する論理位置の書き込み回数と直近の書き込み論理アドレスをそれぞれ別々のテーブルで管理している。   The write data information table 307 manages the number of physical position writes controlled by the physical / logical position control unit 305, the number of logical position writes controlled by the recording method control unit 306, and the latest write logical address in separate tables. is doing.

以上で得た情報を基にメモリチップ308の中の該当位置へデータバッファ303に一時記録されたデータを書き込み、実行結果をコマンド制御部110内のコマンド応答制御部310へ送信する。コマンド応答制御部310は送られてきた実行結果やデータを上位装置へ送出して、処理要求に対する応答とする。   Based on the information obtained above, the data temporarily recorded in the data buffer 303 is written to the corresponding position in the memory chip 308, and the execution result is transmitted to the command response control unit 310 in the command control unit 110. The command response control unit 310 sends the received execution results and data to the higher-level device and makes a response to the processing request.

図4は、本実施例で書き込み処理を行う際に、物理/論理位置制御部305で実施されるメモリブロックの物理位置の書き込み回数を考慮した物理位置判定の処理フロー図である。   FIG. 4 is a processing flow diagram of physical position determination in consideration of the number of times of writing of the physical position of the memory block performed by the physical / logical position control unit 305 when performing the writing process in the present embodiment.

まず、上位装置の要求によらない定期的な処理として、書き込みデータ情報テーブル307に記録される書き込みデータ情報を読み出し、書き込み回数が最少であるメモリブロックの物理位置とその回数を記録しておく(ステップ401)。   First, as a periodic process that does not depend on a request from the host device, the write data information recorded in the write data information table 307 is read, and the physical location of the memory block with the minimum number of writes and the number of times are recorded ( Step 401).

読み出し書き込み制御部304から書き込み対象の論理アドレスが展開された時には、物理位置/論理アドレスの関連付け情報から、展開された論理アドレスの情報が記録されているメモリセルが含まれるメモリブロックの物理位置を割り出す。この物理位置のメモリブロックに対して今回の書き込み実施することを書き込みデータ情報に記録すると共に、このメモリブロックの現在の書き込み回数を読み出す(ステップ402)。   When the logical address to be written is expanded from the read / write control unit 304, the physical position of the memory block including the memory cell in which the expanded logical address information is recorded is determined from the physical position / logical address association information. Find out. The current execution of writing to the memory block at this physical location is recorded in the write data information, and the current number of writes to this memory block is read (step 402).

次に、ステップ402で読み出したメモリブロックの書き込み回数値とステップ401で読み出した最少ブロックの書き込み回数値の差を決められた閾値と照合する(ステップ403)。   Next, the difference between the write count value of the memory block read in step 402 and the write count value of the minimum block read in step 401 is collated with a predetermined threshold (step 403).

閾値を超えない場合はステップ402のメモリブロックの物理位置を、そのまま書き込み位置として最終決定する(ステップ404)。   If the threshold is not exceeded, the physical location of the memory block in step 402 is finally determined as the write location as it is (step 404).

もし閾値を超えた場合、ステップ402で読み出したメモリブロックは書き込み回数が多いことを表しており、書き込み位置を変更する必要がある。そのため、空きブロックのうち最大書き込み回数のブロックへ最少ブロックのデータをコピー(ステップ405)し、最少ブロックのデータを消去する。この最少ブロックの物理位置を新しい書き込み位置に決定し、ステップ402で読み出したメモリブロックの論理アドレスと最少ブロックの論理アドレスを変更する (ステップ406)。   If the threshold is exceeded, the memory block read in step 402 indicates that the number of times of writing is large, and the writing position needs to be changed. Therefore, the data of the smallest block is copied to the block with the maximum number of writes among the empty blocks (step 405), and the data of the smallest block is erased. The physical position of the minimum block is determined as a new write position, and the logical address of the memory block read in step 402 and the logical address of the minimum block are changed (step 406).

この閾値は物理位置判定が行われる頻度を決める値である。閾値が小さいほどステップ405、406の書き込み位置変更が頻繁に行われ、全メモリブロックの書き込み回数が均一に近くなる制御となり、書き込み回数制御の精度が上がる。ただし、過度に書き込み位置変更が行われると書き込み処理が複雑化し、書き込み処理性能への影響が無視できなくなる。装置に要求される性能と寿命を考慮して閾値設定する必要がある。   This threshold is a value that determines the frequency with which physical position determination is performed. The smaller the threshold value, the more frequently the writing position is changed in steps 405 and 406, and the number of times of writing in all the memory blocks is controlled to be uniform, and the accuracy of controlling the number of times of writing is increased. However, if the writing position is changed too much, the writing process becomes complicated, and the influence on the writing process performance cannot be ignored. It is necessary to set a threshold value in consideration of performance and lifetime required for the apparatus.

以上により、今回の書き込みを行う論理アドレスは物理的な書き込み回数の少ないメモリブロックに書き込まれ、半導体メモリの書き込み回数制限を有効に活用できる。   As described above, the logical address to be written this time is written in a memory block with a small physical write count, and the write memory limit of the semiconductor memory can be effectively utilized.

図5は、本実施例で読み出し書き込み制御部304と記録方式制御部306により制御される書き込み処理時のメモリセル記録方式(a)と記録状態図(b)である。   FIG. 5 shows a memory cell recording method (a) and a recording state diagram (b) at the time of a writing process controlled by the read / write control unit 304 and the recording method control unit 306 in this embodiment.

図5の(a)はSLC方式の記録状態図である。メモリセルは浮遊ゲート層の帯電状態でデータを記録するが、その記録状態を表すため縦軸にメモリセル数、横軸に閾値電圧Vthを取りグラフとすると、帯電していない状態[0]501と帯電状態[1]502に分類される。閾値電圧はメモリセルによってばらつきが出るため、閾値電圧の分布はほぼ正規分布になる。読み出し書き込み制御部304はメモリセルの帯電状態を[0]と[1]のように制御することで、0又は1の1bitのデータを記録する(503)。 FIG. 5A is a recording state diagram of the SLC method. The memory cell records data in a charged state of the floating gate layer. In order to represent the recorded state, when the number of memory cells is plotted on the vertical axis and the threshold voltage V th is plotted on the horizontal axis, the state is not charged [0]. 501 and charged state [1] 502. Since the threshold voltage varies depending on the memory cell, the threshold voltage distribution is almost normal. The read / write control unit 304 records 1-bit data of 0 or 1 by controlling the charging state of the memory cell as [0] and [1] (503).

続いて図5の(b)は、MLC方式の記録状態図である。MLC方式では帯電していない状態[0]504に加えて、電圧の大きさにより[1]〜[3]の3種類の帯電状態を持つ(505〜507)。読み出し書き込み制御部304は帯電状態を細かく制御して[0]〜[3]のようにすることで、504のように1メモリセルへ2bitのデータを記録する。記録方式制御部306はこの2種類の記録方式から各書き込みごとに最適な記録方式を選択する。   FIG. 5B is a recording state diagram of the MLC method. In the MLC system, in addition to the uncharged state [0] 504, there are three types of charged states [1] to [3] depending on the voltage (505 to 507). The read / write control unit 304 records the 2-bit data in one memory cell as in 504 by finely controlling the charging state to be [0] to [3]. The recording method control unit 306 selects an optimum recording method for each writing from these two types of recording methods.

図6は、本実施例で書き込み処理を行う際に、記録方式制御部306で実施される論理位置の書き込み回数を考慮した記録方式判定の処理フロー図である。   FIG. 6 is a processing flowchart of recording method determination in consideration of the number of times of writing at the logical position performed by the recording method control unit 306 when performing the writing processing in the present embodiment.

物理/論理位置制御部305から論理アドレスが展開され、今回の書き込み実施することを書き込みデータ情報テーブル307に記録される書き込みデータ情報へ記録すると共に、論理位置の書き込み回数を知るためにこの論理アドレスの現在の書き込み回数を読み出す(ステップ601)。   The logical address is expanded from the physical / logical position control unit 305, and the execution of the current write is recorded in the write data information recorded in the write data information table 307, and this logical address is used to know the number of times the logical position is written. Is read out (step 601).

また、この論理アドレスの情報を書き込み実施するメモリセルが含まれるメモリブロックの物理位置を割り出し、そのメモリブロックの記録方式を確認する(ステップ602)。   Further, the physical position of the memory block including the memory cell to which the logical address information is written is determined, and the recording method of the memory block is confirmed (step 602).

次に、ステップ601で読み出した書き込み回数を決められた閾値と照合する(ステップ603)。   Next, the write count read in step 601 is collated with a determined threshold value (step 603).

この閾値はMLC方式でのメモリセルの物理的な書き込み回数制限と装置稼働時間から算出する。本実施例ではメモリセルのMLC方式での物理的な書き込み回数制限を1万回、装置寿命を5年と考えて1日あたりの書き込み頻度を試算すると10000回/(365日×5年)=5.48回となり、1日あたり約5回の割合で同じメモリセルを更新し続けても装置寿命を満足できる。この装置寿命を満足できる書き込み頻度を基準とし、論理アドレスごとの書き込み回数閾値を1日あたり基準書き込み頻度×稼働日数で算出して閾値設定する。閾値を超えた論理アドレスは更新頻度が高いデータが格納される論理アドレスと判断し、記録方式として物理的な書き込み回数制限が約10倍多いSLC方式を選択する(ステップ604)。逆に閾値を下回る論理アドレスは更新頻度の低いデータが格納される論理アドレスと判断し、記録方式としてMLC方式を選択する(ステップ605)。   This threshold value is calculated from the physical write count limit of the memory cell in the MLC method and the device operating time. In this embodiment, when the number of physical writes in the MLC method of the memory cell is 10,000 times and the device life is assumed to be 5 years, the write frequency per day is calculated 10,000 times / (365 days × 5 years) = Even if the same memory cell is continuously updated at a rate of about 5 times per day, the device life can be satisfied. Based on the writing frequency that can satisfy the device life, the threshold for the number of times of writing for each logical address is calculated by the standard writing frequency per day × the number of working days and set. A logical address exceeding the threshold is determined as a logical address in which data having a high update frequency is stored, and an SLC method having a physical write frequency limit of about 10 times is selected as a recording method (step 604). Conversely, the logical address below the threshold is determined as the logical address where data with a low update frequency is stored, and the MLC method is selected as the recording method (step 605).

ただし、書き込みデータ情報内の直近の書き込み論理アドレスを記録する書き込みアドレステーブルを参照して、同一アドレス又は周囲のアドレスが複数あることを確認(ステップ606)した場合には、直近で多くの書き込みが行われていると判断し、論理アドレスごとの書き込み回数に関係なくSLC方式を選択するものとする。以上のようにして書き込み方式を決定(ステップ607)すると同時に、書き込みアドレステーブルへ今回書き込みする論理アドレスを登録(ステップ608)し、以後の書き込みに対する記録方式決定の判断材料とする。情報処理装置のデータ更新頻度はプログラムのログデータや管理データのように毎時毎分更新されるものから、ソフトウェア・プログラム本体データのように月1回以下の更新頻度のものまで様々である。また、これらは同一論理アドレスへ記録され続けるため、論理アドレスごとの書き込み回数から書き込みデータの更新頻度判断が可能となる。   However, when it is confirmed that there are a plurality of the same address or surrounding addresses by referring to the write address table that records the most recent write logical address in the write data information (step 606), a large number of the latest writes are performed. The SLC method is selected regardless of the number of times of writing for each logical address. As described above, the writing method is determined (step 607), and at the same time, the logical address to be written this time is registered in the writing address table (step 608), which is used as a judgment material for determining the recording method for the subsequent writing. The data update frequency of the information processing apparatus varies from those updated every hour, such as program log data and management data, to those having an update frequency of once a month or less, such as software program body data. Since these are continuously recorded at the same logical address, the update frequency of the write data can be determined from the number of times of writing for each logical address.

図7は、本実施例において書き込み処理を行った時の半導体ディスク装置の処理フローである。前記の通り、書き込み処理を行う前に書き込みするメモリブロックの物理位置の決定と、記録方式の決定が行われる(ステップ701〜702)。   FIG. 7 is a processing flow of the semiconductor disk device when the writing process is performed in this embodiment. As described above, the physical position of the memory block to be written and the recording method are determined before performing the writing process (steps 701 to 702).

ここで、書き込みを行う物理位置の記録方式が変化するかで処理フローが変わる(ステップ703)。   Here, the processing flow changes depending on the recording method of the physical position where writing is performed (step 703).

記録方式が変化しない場合は決定された物理位置へそのまま書き込み及び消去を行い(ステップ704)、処理終了となる。   If the recording method does not change, writing and erasing are performed on the determined physical position as they are (step 704), and the process ends.

記録方式が以前より変化する場合は、MLC方式からSLC方式になるのか若しくはその逆なのかによって、処理フローがさらに変わることになる(ステップ705)。   When the recording method changes from before, the processing flow further changes depending on whether the MLC method is changed to the SLC method or vice versa (step 705).

MLC方式からSLC方式に変わる場合は、同一データを記録するとしてもより多くのメモリブロックが必要となる。そのため、ステップ701で決定された物理位置に加え、不足分は不良ブロック用のスペアブロックを割り当てて、書き込み及び消去を行う(ステップ706)。その後、書き込みを行ったメモリブロックに対応した物理位置へ適切に論理アドレスを関連付け(ステップ707)、処理終了とする。このように更新頻度が高いアドレスには積極的にSLC方式を使用し、半導体メモリの劣化を抑える。   When the MLC method is changed to the SLC method, more memory blocks are required even if the same data is recorded. Therefore, in addition to the physical position determined in step 701, a spare block for a defective block is allocated for the shortage, and writing and erasing are performed (step 706). Thereafter, the logical address is appropriately associated with the physical position corresponding to the memory block in which writing has been performed (step 707), and the processing ends. In this way, the SLC method is positively used for addresses with a high update frequency to suppress the deterioration of the semiconductor memory.

一方、SLC方式からMLC方式に変わる場合は、メモリブロック内のメモリセルが余ってしまう。そこで同種のデータが記録されていると思われる近傍の論理アドレスの論理位置の書き込み回数を検索し(ステップ708)、書き込み回数の少ない論理アドレスのデータを読み出す(ステップ709)。新たに読み出したデータを一緒に書き込み、物理位置の書き込み回数が少ない元の論理アドレスのメモリブロックを消去し(ステップ710)、適切に論理アドレスを関連付けて(ステップ711)処理完了とすることで、空きブロックを増やすことができる。空きブロックはスペアブロックとして、更新頻度の高いアドレスに使用できるようにする。   On the other hand, when the SLC method is changed to the MLC method, the memory cells in the memory block remain. Therefore, the number of times of writing at the logical position of the nearby logical address where the same type of data is considered to be recorded is searched (step 708), and the data of the logical address with the lower number of times of writing is read (step 709). By writing the newly read data together, erasing the memory block of the original logical address with a small number of physical location writes (step 710), appropriately associating the logical address (step 711), and completing the process, Free blocks can be increased. An empty block can be used as a spare block for an address with a high update frequency.

図8は本実施例において書き込み処理を行った時の、記録方式(a)とデータの遷移図(b)である。   FIG. 8 is a recording system (a) and data transition diagram (b) when the writing process is performed in the present embodiment.

図8の(a)は、ステップ702で書き込むデータの更新頻度が高いと判断された結果、書き込み対象メモリブロックをMLC方式からSLC方式に変化させる場合(ステップ706、707)のデータ遷移図である。   FIG. 8A is a data transition diagram when the write target memory block is changed from the MLC method to the SLC method as a result of determining that the update frequency of the data to be written is high in step 702 (steps 706 and 707). .

メモリブロック801〜804にMLC方式で4アドレス分のデータが記録され、メモリブロック805、806は空きブロックとし、新しい書き込みデータ807がメモリブロック804の一部データを更新するものとして説明する。   In the following description, it is assumed that data for four addresses is recorded in the memory blocks 801 to 804 by the MLC method, the memory blocks 805 and 806 are empty blocks, and new write data 807 updates partial data in the memory block 804.

ステップ701でメモリブロック803が書き込み物理位置として決定されたとすると、まずメモリブロック803のデータが空きブロック805へコピーされる。同時に2ビット記録のMLC方式から1ビット記録のSLC方式に記録方式を変えるため、メモリブロック804のデータを2分割する。   If it is determined in step 701 that the memory block 803 is determined as a write physical location, first, the data in the memory block 803 is copied to the empty block 805. At the same time, in order to change the recording method from the MLC method of 2-bit recording to the SLC method of 1-bit recording, the data in the memory block 804 is divided into two.

その後、2分割したデータの片方をメモリブロック803へ書き込み、もう片方を空きブロック806へ書き込みする。書き込み完了後メモリブロック804のデータは消去し、論理アドレスを新しい物理位置に関連付けて完了である。このようにSLC方式で記録することで更新頻度の高いデータを細分化することが可能であるが、空きブロックを消費する。   Thereafter, one of the two divided data is written into the memory block 803 and the other is written into the empty block 806. After the writing is completed, the data in the memory block 804 is erased, and the logical address is completed by associating with the new physical location. As described above, it is possible to subdivide frequently updated data by recording in the SLC method, but it consumes empty blocks.

一方で、図8の(b)は、ステップ702で書き込むデータの更新頻度が低いと判断された結果、書き込み対象メモリブロックをSLC方式からMLC方式に変化させる場合(ステップ708〜711)のデータ遷移図である。   On the other hand, FIG. 8B shows the data transition when the write target memory block is changed from the SLC method to the MLC method (steps 708 to 711) as a result of determining that the update frequency of the data to be written is low in step 702. FIG.

メモリブロック808〜813にSLC方式で2アドレス分のデータが記録され、メモリブロック812、813は空きブロックとし、新しい書き込みデータ814がメモリブロック811のデータを更新するものとして説明する。   In the following description, it is assumed that data for two addresses is recorded in the memory blocks 808 to 813 by the SLC method, the memory blocks 812 and 813 are vacant blocks, and new write data 814 updates the data in the memory block 811.

ステップ701でメモリブロック810が書き込み物理位置として決定されたとすると、図8(a)の場合と同様にメモリブロック810のデータが空きブロック812へコピーされる。こちらは1ビット記録のSLC方式から2ビット記録のMLC方式へ記録方式が変わるため、記録のためには2倍のデータが必要となる。そこでステップ708の書き込み回数検索で論理位置の書き込み回数の少ないデータが記録されたメモリブロック809を探し出す。   If it is determined in step 701 that the memory block 810 is determined as a write physical location, the data in the memory block 810 is copied to the empty block 812 as in the case of FIG. Since the recording method changes from the SLC method of 1-bit recording to the MLC method of 2-bit recording, twice the data is required for recording. Therefore, the memory block 809 in which data with a small number of logical position writes is recorded is searched for in the write number search in step 708.

その後、メモリブロック809のデータを読み込み、新しいデータ814と一緒にメモリブロック810へまとめ書きする。書き込み完了後メモリブロック809及び811のデータは消去し、論理アドレスを新しい物理位置に関連付けて完了である。このようにMLC方式で記録することで、更新頻度の低いデータをまとめ書きすることができ、空きブロックを増やすことができる。   Thereafter, the data in the memory block 809 is read and written together with the new data 814 in the memory block 810. After the writing is completed, the data in the memory blocks 809 and 811 are erased, and the logical address is completed by associating it with the new physical location. By recording in the MLC method in this way, data with low update frequency can be written together and free blocks can be increased.

本実施例で説明したように、論理アドレスごとの書き込み回数から導き出されるデータの更新頻度の要素から、更新頻度による記録方式制御ができる。更新頻度の少ないデータはMLC方式でまとめ書きすることで空きブロックを確保し、それによってできた空きブロックを更新頻度の高いデータで使用することで、実質的な装置寿命を延ばすことができる。   As described in the present embodiment, it is possible to control the recording method based on the update frequency from the data update frequency element derived from the number of writes for each logical address. Data with a low update frequency is written together by the MLC method to secure a free block, and the free block formed thereby is used for data with a high update frequency, so that the substantial device life can be extended.

一般的に更新頻度の高いデータはデータ量が小さく、更新頻度の低いソフトウェア・プログラム本体データはデータ量が大きいという特徴があり、本実施例により多数の空きブロックが確保できると期待できる。また、メモリブロック内のデータを更新頻度によってまとまった状態となるため、従来のウェアレベリング制御のようなメモリブロックの一部を書き換える動作が減り、無用な書き換えを抑える効果もある。メモリブロックの物理位置の書き込み回数からメモリブロックを置換する従来のウェアレベリング制御の考え方と組み合わせることによって、より最適化された書き込み制御が可能となる。   In general, data with high update frequency has a small amount of data, and software / program body data with low update frequency has a large amount of data, and it can be expected that a large number of free blocks can be secured by this embodiment. Further, since the data in the memory block is grouped according to the update frequency, the operation of rewriting a part of the memory block as in the conventional wear leveling control is reduced, and there is an effect of suppressing unnecessary rewriting. Combining with the conventional concept of wear leveling control that replaces the memory block based on the number of writes at the physical position of the memory block enables more optimized write control.

以上説明した実施例ではインターフェース仕様としてSATA仕様で説明したが、半導体ディスク装置のインターフェースによらず他の仕様でも実現できる。また、物理位置判定方法として既にデータの記録された部分も書き込み回数検索の対象にする仕様としたが、データコピーのオーバーヘッドによるパフォーマンスへの影響を考え空きブロックのみを使う仕様としてもよい。また、記録方式判定はSLC方式とMLC方式の2種類の記録方式としたが、閾値を細分化して2ビットMLC、3ビットMLC等のように記録方式を増やしても実現可能である。   In the embodiment described above, the SATA specification has been described as the interface specification. However, other specifications can be realized regardless of the interface of the semiconductor disk device. Further, as a physical position determination method, a specification in which a portion where data has already been recorded is a target of the number of times of writing search, but a specification using only empty blocks may be used in consideration of the effect on performance due to data copy overhead. In addition, the recording method determination is made with two types of recording methods, the SLC method and the MLC method, but it can also be realized by subdividing the threshold and increasing the recording method such as 2-bit MLC, 3-bit MLC.

101:CPU、102:メインメモリ、103:インターフェース制御IC、104:SATAバス、105:半導体ディスク装置、106:メインコントローラ、107:インターフェース制御ICのSATAコントローラ、108:インターフェース制御ICのコマンド制御部、109:半導体ディスク装置のSATAコントローラ、110:半導体ディスク装置のコマンド制御部、111:メモリコントローラ、112:半導体メモリ、201:上位装置からの書き込み要求、202:書き込みデータ、203:メモリコントローラ、204:書き込み回数テーブル、205:半導体メモリ、206〜211:メモリブロック、212:書き込み対象メモリアドレス、301:コマンド実行制御部、302:上位装置からの処理要求、303:データバッファ、304:読み出し書き込み制御部、305:物理/論理位置制御部、306:記録方式制御部、307:書き込みデータ情報テーブル、308:メモリチップ、309:エラー検出/訂正制御部、310:コマンド応答制御部 101: CPU, 102: main memory, 103: interface control IC, 104: SATA bus, 105: semiconductor disk device, 106: main controller, 107: SATA controller of interface control IC, 108: command control unit of interface control IC, 109: SATA controller of semiconductor disk device, 110: Command control unit of semiconductor disk device, 111: Memory controller, 112: Semiconductor memory, 201: Write request from host device, 202: Write data, 203: Memory controller, 204: Write count table, 205: Semiconductor memory, 206 to 211: Memory block, 212: Write target memory address, 301: Command execution control unit, 302: Processing request from host device 303: Data buffer, 304: Read / write control unit, 305: Physical / logical position control unit, 306: Recording method control unit, 307: Write data information table, 308: Memory chip, 309: Error detection / correction control unit, 310 : Command response control section

Claims (5)

上位装置から見たアクセス単位である論理位置を、フラッシュメモリの物理位置に割り当て、記録方式としてSLC方式とMLC方式とを使いわけるフラッシュメモリを用いた記憶装置の制御方法において、
書き込み処理の際に、物理位置判定と、記録方式判定とを行い、
前記物理位置判定では、
フラッシュメモリの複数の物理位置への書き込み回数を管理する第一の管理と、
書き込み対象となる論理位置の情報が記録されているメモリブロックの物理位置情報およびその物理位置の書き込み回数を管理する第二の管理と、
前記第二の管理で管理される物理位置の書き込み回数と前記第一の管理で管理される書き込み回数のうち最小である物理位置の書き込み回数との差分を、所定の閾値と照合し、
前記差分が所定の閾値を超えない場合、前記書き込み対象となる論理位置の情報が記録されているメモリブロックの物理位置を、書き込み位置と決定し、
前記差分が所定の閾値を超える場合、前記メモリブロックの空きブロックのうち最大書き込み回数のブロックへ最小書き込み回数のブロックのデータをコピーし、前記最小書き込み回数のブロックのデータを消去して新たな書き込み位置と決定し、前記第二の管理で管理される書き込み対象となる論理位置の情報が記録されている物理位置を前記新たな書き込み位置である前記最小書き込み回数のブロックの物理位置に変更し、
前記記録方式判定では、
前記書き込み対象となる論理位置の書き込み回数を参照し、
前記書き込み対象となる論理位置の情報を書き込み実施するメモリブロックの物理位置の記録方式を確認し、
前記論理位置の書き込み回数と所定の閾値とを照合し、
前記論理位置の書き込み回数が所定の閾値を超えない場合、SLC方式を選択し、
前記論理位置の書き込み回数が所定の閾値を超える場合、MLC方式を選択する
ことを特徴とする記憶装置の制御方法。
In the storage device control method using flash memory, which assigns the logical position, which is the access unit seen from the host device, to the physical location of the flash memory, and uses the SLC method and the MLC method as the recording method.
During the writing process, physical position determination and recording method determination are performed,
In the physical position determination,
A first management for managing the number of writes to a plurality of physical locations of the flash memory;
Second management for managing the physical position information of the memory block in which the information of the logical position to be written is recorded and the number of times the physical position is written;
The difference between the number of writes at the physical position managed in the second management and the number of writes at the physical position that is the minimum of the number of writes managed in the first management is checked against a predetermined threshold,
When the difference does not exceed a predetermined threshold, the physical position of the memory block in which the information on the logical position to be written is recorded is determined as the writing position,
If the difference exceeds a predetermined threshold, copy the block data with the minimum write count to the block with the maximum write count among the empty blocks in the memory block, erase the data in the block with the minimum write count, and perform a new write Determining the position, and changing the physical position where the information of the logical position to be written, which is managed in the second management, is recorded, to the physical position of the block of the minimum number of times of writing that is the new writing position,
In the recording method determination,
Refer to the write count of the logical position to be written,
Confirm the recording method of the physical position of the memory block to write the information of the logical position to be written,
Collating the number of writes of the logical position with a predetermined threshold,
If the number of writes of the logical position does not exceed a predetermined threshold, select the SLC method,
A method for controlling a storage device, wherein the MLC method is selected when the number of times the logical position is written exceeds a predetermined threshold.
前記記憶装置は、
前記物理位置判定を行う物理/論理位置制御部と、
前記記録方式判定を行う記録方式判定部と、
前記物理位置の書き込み回数および前記論理位置の書き込み回数を管理する書き込みデータ情報テーブルと、
前記物理/論理位置制御部で決定される書き込み位置に、前記記録方式判定部で選択される記録方式で記録処理を行う書き込み制御部
とを備えることを特徴とする請求項1記載の記憶装置の制御方法。
The storage device
A physical / logical position control unit for performing the physical position determination;
A recording method determination unit for performing the recording method determination;
A write data information table for managing the number of writes of the physical position and the number of writes of the logical position;
2. The storage device according to claim 1, further comprising: a write control unit that performs a recording process with a recording method selected by the recording method determination unit at a writing position determined by the physical / logical position control unit. Control method.
前記記録方式判定では、更に、
前記書き込みデータ情報テーブルを参照し、同一の論理位置又は周囲の論理位置が複数ある場合、SLC方式を選択する
ことを特徴とする請求項2記載の記憶装置の制御方法。
In the recording method determination,
3. The storage device control method according to claim 2, wherein the SLC method is selected when there is a plurality of the same logical position or surrounding logical positions with reference to the write data information table.
前記記録方式判定で選択される記録方式が、
前回の書き込み処理から変化しない場合、決定された物理位置への書き込み/消去を継続し、
前回の書き込み処理から変化し、MLC方式からSLC方式となる場合、更にスペアブロックを割り当てて、書き込み及び消去を行い、書き込みを行ったメモリブロックに対応した物理位置へ適切に論理アドレスを関連付け、
前回の書き込み処理から変化し、SLC方式からMLC方式となる場合、同種のデータが記録されていると思われる近傍の論理アドレスの論理位置の書き込み回数を検索し、書き込み回数の少ない論理アドレスのデータを読み出し、新たに読み出したデータを一緒に書き込み、物理位置の書き込み回数が少ない元の論理アドレスのメモリブロックを消去し、論理アドレスを関連付ける
ことを特徴とする請求項1記載の記憶装置の制御方法。
The recording method selected in the recording method determination is
If there is no change from the previous writing process, continue writing / erasing to the determined physical location,
When changing from the previous writing process and switching from the MLC method to the SLC method, further assigning a spare block, performing writing and erasing, appropriately associating a logical address with the physical position corresponding to the memory block that has been written,
If the SLC method changes to the MLC method from the previous writing process, the number of times of writing at the logical position of the nearby logical address where the same type of data is supposed to be recorded is searched, and the data of the logical address with a low number of times of writing is searched. 2. The method of controlling a storage device according to claim 1, wherein newly read data is written together, the memory block of the original logical address with a small number of physical position writes is erased, and the logical address is associated. .
上位装置から見たアクセス単位である論理位置を、フラッシュメモリの物理位置に割り当て、記録方式としてSLC方式とMLC方式とを使いわけるフラッシュメモリを用いた記憶装置において、
前記記憶装置は、物理位置判定を行う物理/論理位置制御部と、記録方式判定を行う記録方式判定部と、物理位置の書き込み回数および前記論理位置の書き込み回数を管理する書き込みデータ情報テーブルと、前記物理/論理位置制御部で決定される書き込み位置に前記記録方式判定部で選択される記録方式で記録処理を行う書き込み制御部とを備え、
物理/論理位置制御部は、前記物理位置判定として、
フラッシュメモリの複数の物理位置への書き込み回数を管理する第一の管理ステップと、
書き込み対象となる論理位置の情報が記録されているメモリブロックの物理位置情報およびその物理位置の書き込み回数を管理する第二の管理ステップと、
前記第二の管理で管理される物理位置の書き込み回数と前記第一の管理で管理される書き込み回数のうち最小である物理位置の書き込み回数との差分を、所定の閾値と照合するステップとを実行し、
前記差分が所定の閾値を超えない場合、前記書き込み対象となる論理位置の情報が記録されているメモリブロックの物理位置を、書き込み位置と決定し、
前記差分が所定の閾値を超える場合、前記メモリブロックの空きブロックのうち最大書き込み回数のブロックへ最小書き込み回数のブロックのデータをコピーし、前記最小書き込み回数のブロックのデータを消去して新たな書き込み位置と決定し、前記第二の管理で管理される書き込み対象となる論理位置の情報が記録されている物理位置を前記新たな書き込み位置である前記最小書き込み回数のブロックの物理位置に変更し、
記録方式判定部は、前記記録方式判定として、
前記書き込み対象となる論理位置の書き込み回数を参照する参照ステップと、
前記書き込み対象となる論理位置の情報を書き込み実施するメモリブロックの物理位置の記録方式を確認する確認ステップと、
前記論理位置の書き込み回数と所定の閾値とを照合する照合ステップとを実行し、
前記論理位置の書き込み回数が所定の閾値を超えない場合、SLC方式を選択し、
前記論理位置の書き込み回数が所定の閾値を超える場合、MLC方式を選択する
ことを特徴とする記憶装置。
In the storage device using the flash memory that assigns the logical position, which is the access unit seen from the host device, to the physical position of the flash memory and uses the SLC method and the MLC method separately as the recording method,
The storage device includes a physical / logical position control unit that performs physical position determination, a recording method determination unit that performs recording method determination, a write data information table that manages the number of physical position writes and the number of logical position writes, A write control unit that performs a recording process with a recording method selected by the recording method determination unit at a writing position determined by the physical / logical position control unit;
The physical / logical position control unit, as the physical position determination,
A first management step for managing the number of writes to a plurality of physical locations of the flash memory;
A second management step for managing the physical position information of the memory block in which the information of the logical position to be written is recorded and the number of times of writing the physical position;
A step of comparing a difference between the number of times of writing at the physical position managed by the second management and the number of times of writing at the physical position that is the minimum of the number of times of writing managed by the first management with a predetermined threshold value. Run,
When the difference does not exceed a predetermined threshold, the physical position of the memory block in which the information on the logical position to be written is recorded is determined as the writing position,
If the difference exceeds a predetermined threshold, copy the block data with the minimum write count to the block with the maximum write count among the empty blocks in the memory block, erase the data in the block with the minimum write count, and perform a new write Determining the position, and changing the physical position where the information of the logical position to be written, which is managed in the second management, is recorded, to the physical position of the block of the minimum number of times of writing that is the new writing position,
The recording method determination unit, as the recording method determination,
A reference step for referring to the number of times of writing at the logical position to be written;
A confirmation step of confirming a recording method of a physical position of a memory block in which information on a logical position to be written is written;
Performing a collation step of collating the number of writes of the logical position with a predetermined threshold;
If the number of writes of the logical position does not exceed a predetermined threshold, select the SLC method,
The memory device, wherein the MLC method is selected when the number of times the logical position is written exceeds a predetermined threshold.
JP2010020820A 2010-02-02 2010-02-02 Storage device and method of controlling the same Pending JP2011159138A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010020820A JP2011159138A (en) 2010-02-02 2010-02-02 Storage device and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010020820A JP2011159138A (en) 2010-02-02 2010-02-02 Storage device and method of controlling the same

Publications (1)

Publication Number Publication Date
JP2011159138A true JP2011159138A (en) 2011-08-18

Family

ID=44591027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010020820A Pending JP2011159138A (en) 2010-02-02 2010-02-02 Storage device and method of controlling the same

Country Status (1)

Country Link
JP (1) JP2011159138A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976589B2 (en) 2013-03-14 2015-03-10 Kabushiki Kaisha Toshiba Storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976589B2 (en) 2013-03-14 2015-03-10 Kabushiki Kaisha Toshiba Storage device

Similar Documents

Publication Publication Date Title
JP5728672B2 (en) Hybrid memory management
KR101849440B1 (en) Scrub techniques for use with dynamic read
US9298603B2 (en) NAND flash-based storage device and methods of using
US7702880B2 (en) Hybrid mapping implementation within a non-volatile memory system
US20160306553A1 (en) High-Priority NAND Operations Management
US10740242B2 (en) Sensing device data caching
US20090157974A1 (en) System And Method For Clearing Data From A Cache
US20090172255A1 (en) Wear leveling method and controller using the same
US20120239865A1 (en) Storage device
US20110107016A1 (en) Solid state storage systems and methods for flexibly controlling wear leveling
JP2008529130A (en) Scheduling housekeeping operations in flash memory systems
US20160306591A1 (en) Open Erase Block Read Automation
WO2011068109A1 (en) Storage device and memory controller
US10283196B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
JP2016004387A (en) Storage system, memory controller, and control method
US8200892B2 (en) Memory controller, memory system with memory controller, and method of controlling flash memory
JP5300496B2 (en) Semiconductor memory device, host device, and semiconductor memory system
CN105955672B (en) Solid-state storage system and method for flexibly controlling wear leveling
US20110138110A1 (en) Method and control unit for performing storage management upon storage apparatus and related storage apparatus
JP5579135B2 (en) Data storage device, memory control device, and memory control method
JP5494086B2 (en) Nonvolatile storage device and nonvolatile memory controller
KR101027687B1 (en) Solid State Storage System for Controlling Write Operation and Method of Controlling the Same
JP2011159138A (en) Storage device and method of controlling the same
JP3934659B1 (en) Memory controller and flash memory system
JP2003308242A (en) Semiconductor storage device and control method therefor