WO2009118917A1 - フラッシュメモリを用いた記憶装置 - Google Patents

フラッシュメモリを用いた記憶装置 Download PDF

Info

Publication number
WO2009118917A1
WO2009118917A1 PCT/JP2008/058888 JP2008058888W WO2009118917A1 WO 2009118917 A1 WO2009118917 A1 WO 2009118917A1 JP 2008058888 W JP2008058888 W JP 2008058888W WO 2009118917 A1 WO2009118917 A1 WO 2009118917A1
Authority
WO
WIPO (PCT)
Prior art keywords
sector
address
physical
block
data
Prior art date
Application number
PCT/JP2008/058888
Other languages
English (en)
French (fr)
Inventor
眞澄 鈴木
Original Assignee
Suzuki Masumi
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 Suzuki Masumi filed Critical Suzuki Masumi
Priority to US12/678,657 priority Critical patent/US20100205354A1/en
Publication of WO2009118917A1 publication Critical patent/WO2009118917A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Definitions

  • TECHNICAL FIELD This technical field relates to a storage device using a flash memory, which is a nonvolatile semiconductor, as a storage medium, and an information device equipped with the storage device.
  • Background Information Information The most common storage device for j «is a hard disk (hereinafter referred to as HD D).
  • the file to be written is divided into storage units called sectors, and stored according to the physical location of the storage medium. That is, when a file is rewritten, writing is basically performed at the same position.
  • HD D when the head instructed by the host reads the magnetic information from the current position, the head must be moved to the corresponding storage area (hereinafter referred to as seek). If this is the case, the read Z write performance will be poor. In addition, there is a drawback in that the reliability of the apparatus is inferior because a special mechanism such as head movement and magnetic disk rotation is required.
  • a memory device using a semiconductor memory particularly a flash memory which is an electrically rewritable nonvolatile memory, particularly a NAND type flash memory, has recently attracted attention. Since a semiconductor is used as the storage medium, there is no mechanical mechanism and it is highly reliable, and the head moves like HD! / Because there is no action, there is a feature that poor read / write performance hardly occurs! /.
  • NAND flash memory erases in units called blocks, but there is a limit on the number of erase writes in this block. Normally, the number of erase writes is 10,000 to 100,000 times per block. Power is not guaranteed. Therefore, when building a storage device using NAND flash memory, control is performed so that writing does not concentrate on a specific physical block.
  • wear leveling control and force distribution processing As one of the methods of this wear leveling control, data instructed by the host is stored in NAND flash memory. Prepare a user area, which is an area used for storage, and an alternative area reserved as an erased block for wear leveling, and leave the physical address block that is not rewritten by the host as it is. In addition, there is a control in which wear leveling control is performed by replacing only the block of the physical address to be rewritten with a block in the alternative area when rewriting.
  • Figure 1 shows the overall configuration
  • Storage device 10 includes host communication unit 2, command analysis unit 3, noffer memory 4, logical-to-physical address conversion unit 5, wear repelling control unit 6, ECC control unit 7, Flash Lead / W rite control Part 8 consists of NAD Flash Memory9.
  • the host communication unit 2 communicates with the host 1 and has a specification generally called I D E i f.
  • the command analysis unit 3 is a part that analyzes commands instructed by the host and controls their execution.
  • the buffer memory 4 is a part for temporarily storing data sent from the host or data sent to the host.
  • the logical-to-physical address conversion unit 5 has a MAP table that indicates the correspondence between the logical address specified together with the command from the host and the physical address of NAND Flash Memory 9.
  • the wear leveling control unit 8 has a function of determining which physical address is assigned when a write command is received from the host 1.
  • the ECC control unit 7 performs error correction control.
  • ECC data is calculated and can be corrected if a bit error occurs. In this case, it has a function of correcting errors.
  • Figure 2 shows the NAND Flash Memoiy storage area explicitly.
  • the user data area consists of a block group that stores data instructed by the host.
  • the bad block area is a bad block group generated innate or acquired from NAND Flash.
  • the controller management area is an area for storing various information that the controller that controls the NAND Flash Memory uses for management.
  • the alternate area for wear leveling is a block group that is used to store new data instructed by the host by exchanging with the block of the existing user data area when the host is instructed to write data.
  • command analysis unit 3 When reading data from storage device 10 from host 1, host communication unit 2 receives the instruction, command analysis unit 3 analyzes that it is a read command, and follows the logical-physical address conversion table 3. It is converted into a physical address corresponding to the designated logical address sector. Next, the command analysis unit 3 reads data from the NAND flash memory to the buffer memory 4 through the flash read / write control 6, and the ECC control unit 7 determines whether or not a bit error has occurred.
  • the host communication unit 2 receives the instruction, the command analysis unit 3 analyzes that it is a write command, and the write data received from the host is stored in the buffer memory. Write to 4 once.
  • the physical address corresponding to the specified logical address sector is calculated according to the logical-physical address conversion table.
  • the wear leveling control unit 6 selects an address of a physical block newly corresponding to the logical address instead of the existing physical address from the block group in the wear leveling alternative area.
  • the command analysis unit 3 uses the Flash Read / Write control unit 8 to copy the data portion where the existing physical address is not rewritten to a new block, and to rewrite the data portion to be rewritten into the buffer memory. Copy from 4.
  • the ECC control unit 7 performs a predetermined ECC calculation and also stores the result. Finally, the physical block in which the existing data is stored is erased and reused as a block group for an alternative area for wear leveling.
  • Figure 3 shows the state of the physical block of NAND Flash Memory before and after rewriting as described above.
  • the state on the left side of the figure is the state before rewriting.
  • sector 0 When sector 0 is rewritten, physical block 1 is newly selected, and data in sector 0 and data that cannot be written back in physical block 0 are sector 1 to Data in sector 2 5 5 is written to physical block 1 and then physical block 0 is erased. Disclosure of the invention
  • the number of physical blocks in the wear leveling alternative area of the above control can be the number that can replace the defective block that can be generated in the flash memory, that is, it can occur at the time of the initial shipment of the flash memory.
  • the number of blocks is about 4%, which is the sum of the maximum number of bad blocks (about 2%) and the maximum number of bad blocks that can occur to guarantee the rewrite life (about 2%). For this reason, when writing from a host to a specific logical address is concentrated, wear leveling is performed only between physical blocks in the replacement area of about 4%. is there.
  • the object of the present invention is to substantially increase the number of blocks in the wear leveling alternative area by using a physical block in the user area that is not used for file system management as an alternative area for wear leveling. It is an object of the present invention to provide a storage device that can greatly improve the effective lifetime of the number of rewrites of a system even when writing to a specific logical address is concentrated. Means for solving the problem
  • the present invention relates to a storage device in which storage data is managed using a file system from a host system.
  • a storage device using a flash memory having a lifetime in the number of times of rewriting in rewriting in block units
  • Each block is in an erased state, an alternate area that is a collection of blocks used to average the number of rewrites of each block,
  • An address conversion table for managing the correspondence between the logical address given by the host system in the user area and the physical address in the flash memory
  • a memory having a wear leveling control unit that instructs the address management means to exchange a physical block corresponding to the data and a physical block in the alternative area in response to a data rewrite command in the user area from the host system.
  • Unused sector detecting means for detecting a sector area in which unused data is stored on the file system in the user area
  • Unused sector detection means for instructing the address management means to release the correspondence between the logical sector address and the physical sector address
  • Unused sector registration means for canceling the correspondence between the logical sector address and the physical sector address based on the information notified from the unused sector detection means;
  • Unused block substitution that erases the physical block in which the correspondence relationship between all logical sector addresses and physical sector addresses in the physical block that is the erase unit of the flash memory is erased and can be used as a block in the alternative area And a storage device.
  • Another invention is an information device comprising a storage device using a flash memory and its host system,
  • the host system has a non-use sector detection notification means for notifying the storage device of a logical sector in which the ray data not used for file system management is stored, and
  • the initial wear leveling alternative area is only about 4% of the total area as in the conventional example. Since the physical block will become an alternative area for wear leveling, it can be larger than the initial 4%, and wear leveling can be performed more effectively, so the life of the equipment can be extended. It is.
  • FIG. 1 shows a conventional example.
  • FIG. 2 is a schematic diagram showing the storage state in the NAM) Flash Memory.
  • FIG. 3 is a diagram showing a storage state of the physical block in the NAD Flash Memory.
  • FIG. 4 is a diagram showing an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an outline of the FAT file system.
  • Fig. 6 illustrates the MBP of the FAT file system.
  • FIG. 7 is a diagram for explaining Bt »B of the FAT file system.
  • FIG. 8 illustrates the FAT table of the FAT file system.
  • FIG. 9 is a diagram for explaining the directory information of the FAT file system.
  • FIG. 10 is a diagram showing a storage state in the physical block to the NAND Flash Memor when the present invention is implemented.
  • FIG. 11 is a diagram showing another embodiment of the present invention.
  • FIG. 12 is a diagram showing another embodiment of the present invention.
  • FIG. 13 is a diagram showing another embodiment of the present invention. Explanation of symbols 1 host
  • FIG. 4 is a block diagram of an embodiment of a storage device of the present invention.
  • Unused sector detection means 1 0 1, unused sector registration means 1 0 2, unused block substitution means 1 0 3 in host 1 and storage device 10 are the same as those shown in FIG. is there.
  • the operation at the time of reading / writing from the host 1 is the same as that shown in the conventional example.
  • the unused sector detecting means 101 detects a sector that is not substantially used in the user data area in the NAND Flash Memory 9.
  • the unused sector registration means 10 2 holds information on the unused sectors detected by the unused sector detection means 1 0 1.
  • Unused block replacement means 1 0 3 is the physical block when the entire area of the relevant physical block of NAND Flash Memory 9 is based on the information held in the unused sector registration means 1 0 2. It has a function to erase and make it usable as an alternative block for wear repelling.
  • OS operating system
  • Figure 5 shows the FAT format, a format format often used for storage management. It is the figure which showed the relationship between the logical address when it went, and its content.
  • LBA is a logical address, and is combined from the LBA0 force.
  • Figure 6 shows the details of this LBAO MBR.
  • the address information of BPB that is the start position of each partition is stored in 0 8 h.
  • FIG. 7 shows the details of BPB, the open sector of the partition.
  • the ODh byte there is information on the size of the cluster, which is a unit managed by the OS, and the size and number of FAT tables and the size information of the root directory are stored.
  • FIG. 8 shows the details of the first sector of the FAT table.
  • the FAT table consists only of cluster chain information.
  • Fig. 9 shows the details of the directory information.
  • the directory information consists of 32 bytes, and the information of the start cluster where the actual data is stored at offset 1 Ah is stored.
  • the unused sector detection means 1 0 1 can select an unused LBA. Can be detected.
  • FIG. 10 is a diagram showing the state of the NAND Flash Memor physical block when an unused sector is detected as described above.
  • the figure on the left side of the figure shows a state before the present invention is implemented.
  • the first cluster is LBA
  • the cluster size is O x 2 0 (3 2 sectors).
  • data is stored up to cluster 0 x 0 0 1 C (2 8), and no data is stored in other clusters. Yes.
  • the cluster 0 x 0 0 1 C (2 8) becomes LBA ⁇ : LBA 1 4 6 2.
  • FIG. 11 shows another embodiment.
  • the present embodiment is the same as the above embodiment.
  • Unused sector detection means 1 0 Possible force even when host 1 issues a read command to a logical sector that has been detected by 1 and the correspondence between the logical sector address and the physical sector address is released
  • Unused sector data Notification means 1 0 4 is a function that returns dummy data (for example, all FFh data) when a read command is issued to a logical sector address from which such physical sector address is removed.
  • FIG. 12 shows still another embodiment.
  • the host 1 has the unused sector detection notification means 10 5, and the storage device 10 does not have the above-mentioned unused sector detection means 1 0 1.
  • the unused sector detected by the unused sector detection means 10 is detected by the same method as described above, and the detected unused sector information is notified to the storage device 10.
  • the storage device 10 receives the unused sector information from the host 1, and then stores the unused sector information in the unused sector registration means 1 0 2 in the same manner as described above. If the entire area of the corresponding physical block of NAND Flash Memory 9 is determined from the information in 03, the physical block is erased and made available for use as an alternative block for wear leveling.
  • FIG. 13 shows yet another example.
  • the unused sector data notification means 1 0 4 can be used when the host 1 issues a read command to a logical sector in which the correspondence between the logical sector address and the physical sector address is canceled as described in FIG. Assumed force Unused sector data notification means 1 0 4 sends dummy data (for example, all FFh data) when a read command is issued to a logical sector address from which the physical sector address has been released. Has a function to return.
  • dummy data for example, all FFh data

Abstract

書き換え寿命の制限があるフラッシュメモリを使用した記憶装置において、システムの書き換え回数の実効的な寿命を大幅に改善することが可能なシステムを提供する。 ファイルシステムとしては使用されていないデータが蓄積されているセクタの論理アドレス(LBA)を検出し、該論理アドレスに対応する物理アドレス(PBA)のマッピング情報を解除し、フラッシュメモリの各ブロックにおいて、全ての論理アドレスと物理アドレスのマッピング情報が解除されたブロックは、消去を行いウェアレベリング用代替ブロックとして使用する。

Description

明細書 フラッシュメモリを用いた記憶装置
技術分野 本 S明は、 不揮発性半導体であるフラッシュメモリを記憶媒体とした記憶装置及びそれ を搭載する情報機器に関するものである。 背景技術 情報; j«の記憶装置としてはハードディスク (以下 HD Dという)が最も一般的である。
HD Dでは書き込むファィルをセクタと呼ぶ記憶単位に分割し、 記憶媒体の物理的な位置 に対応させて記憶する。 すなわちあるファイルの書き換えにおいては基本的に同一位置に 書き込みが行われる。
HD Dでは、 ホストから指示されたセクタが磁気情報を読み取るへッドが現在位置から離 れている場合には、 該当記憶エリアまでヘッドを移動させなければいけない (以下シーク という) ので、 このような場合にはリード Zライトのパフォーマンスが悪くなる。 また、 へッドの移動や磁気ディスクの回転という «的機構を必要とするので装置の信頼性が劣 るという欠点がある。
これに対し半導体メモリ特に電気的に書き換えが可能な不揮発性メモリであるフラッシュ メモリ特に N AND型フラッシュメモリを用いた記憶装置が近年脚光を浴ぴている。 記憶 媒体として半導体を使用しているので、 機械的機構がなく信頼性に優れており、 また、 H D Dのようにへッドの移動とう!/、行為がないため、 リード/ライトにおけるパフオーマン スの劣ィ匕が起き難!/、という特徴がある。
し力 し、 NAND型フラッシュメモリはプロックと呼ばれる単位で消去を行うが、 このブ ロックにおいては消去書き込み回数の制限が存在し、 通常各プロックあたり 1万回〜 1 0 万回の消去書き込み回数し力保証されていない。 そのため NAND型フラッシュメモリを 用いた記憶装置を構築する場合、 特定の物理プロックに書き込みが集中しないような制御
(一般に、 ウェアレべリング制御と力分散ィ匕処理と呼ばれている。 ) を行っている このウェアーレベリング制御の手法の一つとして、 NAND型フラッシュメモリ内にホス トから指示されたデータを記憶しておくために使用する領域であるユーザ領域とウェアレ ベリング用に消去済みプロックとして確保されている代替領域とを用意しておき、 ホスト から書き換えを行わない物理アドレスのブロックは、 そのまま放置しておき、 書き換えを 行う物理ァドレスのブロックのみを書き換えを行う際に代替領域のプロックと交換するこ とにより、 ウェアーレベリング制御を行うようにした制御がある。
このようなウェアーレベリング制御を用レ、た技術が下記文献 1〜 4にも開示されている。
文献 1 日本国特許出願 特開 2005-209184 文献 2 日本国特許出願 特開 2007-280329
文献 3 日本国特許出願 特開 2007-293726
文献 4 日本国特許出願 特開 2007-323159
このようなウェアレベリング制御を用いた従来技術の概要を図 1力 ら図 3に示す。
図 1は、 全体構成図である。
記憶装置 1 0は、 ホスト通信部 2、 コマンド解析部 3、 ノ ッファメモリ 4、 論理一物理ァ ドレス変換部 5、 ウェアレペリング制御部 6、 ECC制御部 7、 F l a s h R e a d/ W r i t e制御部 8、NA D Flash Memory9からなる。
ホスト通信部 2は、ホスト 1との通信を行い、一般に I D E i f と呼ばれる仕様を有する。 コマンド解析部 3は、 ホストから指令されたコマンドを解析し、 その実行を制御する部分 である。
バッファメモリ 4は、 ホストから送られたデータやホストへ送るデータを一時的に保持し ておくための部分である。
論理一物理ァドレス変換部 5は、 ホストからコマンドと共に指示される論理ァドレスと N AND F l a s h M e m o r y 9の物理ァドレスとの対応関係を示す MA Pテーブル を有している。
ウェアレベリング制御部 8は、 ホスト 1からライト命令が来た場合に、 どの物理ァドレス を割り当てるかを決める機能を有している。
E C C制御部 7は、 エラー訂正制御を行うものであり、 NAND F l a s h M e m o r y 9にデータを書き込んだり、 読み出したりする際に、 E C Cデータの計算を行い、 ビ ットエラーが生じている場合に訂正可能な場合にはェラ一訂正を行う機能を有している。 図 2は、 NAND Flash Memoiyの記憶エリアを明示的に図示したものである。
ユーザデータ領域は、 ホストから指示されたデータを記憶しておくブロック郡からなる。 不良ブロック領域は、 NAND Flash の先天的若しくは後天的に発生した不良ブロック 郡である。
コントローラ管理用領域は、 NAND Flash Memoryを制御するコントローラが管理用 にしようするための各種の情報を記憶しておく領域である。
ウェアレベリング用代替領域は、 ホストからデータの書き込み指示がされた場合に既存の ユーザデータ領域のプロックと交換され、 ホストから指示されたデータを新たに記憶する ために使用されるブロック郡である。
ホスト 1から記憶装置 1 0のデータをリードする場合は、 ホスト通信部 2がその指示を受 け、 コマンド解析部 3がリード命令であることを解析し、 論理一物理ァドレス変 3 換テーブルに従い、 指示された論理ァドレスセクタに対応する物理ァドレスに変換する。 コマンド解析部 3は次に Flash Read/Write 制御 6を通じて、 NAND Flash Memory からデータをバッファメモリ 4へ読み出し、 ECC制御部 7にてビットエラーが生じてい ないかどうかを ¾mする。
ビットエラ一が生じて!/ヽなレ、若しくは訂正可能な範囲であればビットエラーを訂正し、 ホ スト通信部 2を通じてホストへデータを送ることで指示を完了する。 ホスト 1力 ら記憶装置 1 0へデータをライトする場合は、 ホスト通信部 2がその指示を受 け、 コマンド解析部 3がライト命令であることを解析し、 ホストから受け取った書き込む データをバッファメモリ 4へ一旦書き込む。
論理一物理ァドレス変換テーブルに従い、 指示された論理ァドレスセクタに対応する物理 ァドレスを算出する。
ウェアレベリング制御部 6は、 上記既存の物理ァドレスに代わり上記論理ァドレスに新た に対応する物理ブロックのァドレスをウェアレベリング用代替領域の中のブロック郡から 選定する。
次にコマンド解析部 3は、 Flash Read/Write 制御部 8を通じて、 既存の物理アドレス の書き換えを行わないデータ部分を新たなプロックに対して、 データコピーを行い、 書き 換えを行うデータ部分をバッファメモリ 4からコピーする。
なお、 この際に ECC制御部 7により所定の ECC演算が行われその結果も記憶される。 最後に上記既存のデータの記憶された物理プロックは消去され、 ウェアレベリング用代替 領域のブロック郡として再利用される。
図 3は、 上述の書き換え前と書き換え後の NAND Flash Memoryの物理ブロックの状 態を示したものである。 図の左側の状態が書き換え前の状態であり、 セクタ 0を書き換え た場合、 新たに物理プロック 1が選択され、 セクタ 0のデータ及び物理プロック 0中の書 き帰られないデータであるセクタ 1〜セクタ 2 5 5のデータが物理ブロック 1に書き込ま れ、 その後物理ブロック 0は消去される。 発明の開示
発明が角率決しようとする課題 しかし、 上記制御のウェアレベリング用代替領域の物理プロック数は、 フラッシュメモリ の発生しうる不良プロックを代替できる程度の数、 つまりフラッシュメモリの初期出荷時 に発生うる最大不良ブロック数 (約 2 %) と書き換え寿命を保証するために発生しうる最 大不良ブロック数 (約 2 %) とを足した約 4 %程度のブロック数であることがほとんどで ある。 そのため、 ホストから特定の論理アドレスへの書き込みが集中した場合には、 この 4 %程度の代替領域の物理プロック間でしかウェアレベリングが行われないため、 装置寿 命が早く来てしまうという課題がある。
本発明の目的は、 ファイルシステム管理上使用していなユーザ領域の物理ブロックをゥェ ァレベリング用代替領域として使用することににより、 ウェアレベリング用代替領域のブ ロック数を実質的に増加させ、 特定の論理アドレスへの書き込みが集中した場合にも、 シ ステムの書き換え回数の実効的な寿命を大幅に改善することが可能な記憶装置を提供する ことにある。 課題を解決するための手段 本発明は、 ホストシステムからファイルシステムを用いて記憶データの管理をされている 記憶装置において、
フアイノレシステム管理上利用されていな ヽデータが記憶されているフラッシュメモリの物 理プロックを消去状態にして、 論理アドレスと物理アドレスとの対応関係を解除し、 当該 プロックをウェアレベリング用に使用することを特徴とする。
具体的には、 一の発明として、 ブロック単位での書き換えに書き換え回数に寿命の存在す るフラッシュメモリを使用した記憶装置であつて、
フラッシュメモリ内にホストシステムから指示されたデ一タを記憶しておくためのユーザ 領域と
各プロックは消去済み状態であり、 各プロックの書き換え回数を平均化するために使用さ れるブロックの集まりである代替領域と、
ユーザ領域におけるホストシステムから与えられる論理ァドレスとフラッシュメモリ内の 物理ァドレスとの対応関係を管理するァドレス変換テーブルと、
ホストシステムからユーザ領域のデータ書き換え命令に対して、 当該データに該当する物 理プロックと代替領域中の物理プロックとを交換するように上記ァドレス管理手段に指示 するウェアレベリング制御部とを有した記憶装置にお 、て、
ユーザ領域中のフアイルシステム上は使用されていなレヽデータが記憶されているセクタ領 域を検出する不使用セクタ検出手段と、
その情報をァドレス管理手段に指示し当該論理セクタアドレスと物理セクタアドレスとの 対応関係を解除するように指示する不使用セクタ検出手段と、
不使用セクタ検出手段から通知された情報に基づき、 論理セクタァドレスと物理セクタァ ドレスとの対応関係を解除する不使用セクタ登録手段と、
フラッシュメモリの消去単位である物理ブロック中の、 全ての論理セクタァドレスと物理 セクタァドレスとの対応関係が解除された物理プロックを消去し代替領域のプロックとし て使用可能ィヒする不使用プロック代替化手段とを有することを特徴とする記憶装置である。 また、 別の発明としては、 フラッシュメモリを使用した記憶装置とそのホストシステムか らなる情報装置であって、
フアイルシステムを用!/、て該記憶装置の記憶データの管理をしている情報装置にぉレヽ 5 て、
フアイルシステム管理上利用されていなレヽデータが記憶されている論理セクタを記憶装置 に通知する不使用セクタ検出通知手段をホストシステムに有し、 つ、
不使用セクタ通知手段を有するホストシステムから通知された情報に基づき、 論理セクタ アドレスと物理セクタアドレスとの対応関係を解除する不使用セクタ登録手段と、 フラッシュメモリの消去単位である物理プロック中の、 全ての論理セクタァドレスと物理 セクタァドレスとの対応関係が解除された物理プロックを消去し代替領域のプロックとし て使用可能化するブロック代替ィ匕手段を有した記憶装置を有することを特徴とする情報装 置である。 発明の効果 以上述べたように本発明によれば、 初期のウェアレベリング用代替領域を従来例のような 全領域の 4 %程度しかな 、場合であっても、 フアイルシステム力 S使用していな 、物理ブ口 ックをウェアレベリング用代替領域化していくので、 初期の 4 %よりも大きくとることが でき、 ウェアレべリングをより有効に行うことができるので、 装置寿命を伸ばすことが可 能である。
また、 別の効果として、 以下の効果もある。
ファイルシステム上にてフアイルを削除した場合、 通常上記で述べたクラスタのチエイン 情報のみを消去するのみであって、 実体のデータ部分を消去していないため、 従来では、 専用のプログラムなどを使用すると消去したはずのファィルを復活することが可能であつ たため、 廃棄バソコンからのデータ復旧による情報漏洩などの問題があった。
そのため、 ファイルの実体データを完全に消去するには、 別途専用のプログラムを実行し て消去を行う必要があった。
本発明によれば、 フアイルシステム上からフアイルを消去することすなわちクラスタのチ エイン情報を消去するのみでも、 ファイルの実体データが記憶されている物理プロックは 使用されていない物理プロックとなり消去されるので、 専用のプログラムを実行しなくて もフアイルの実体データまで消去できるという効果もある。 図面の簡単な説明 図 1は、 従来例を示した図である。
図 2は、 NAM) Flash Memory への記憶状態を示す概略図である。
図 3は、 NA D Flash Memory への物理ブロックでの記憶状態を示す図である。 図 4は、 本発明の一実施例を示した図である。
図 5は、 FATファイルシステムの概略を説明した図である。
図 6は、 FATファイルシステムの MBPを説明した図である。
図 7は、 FATファイルシステムの Bt»Bを説明した図である。
図 8は、 FATファイルシステムの FAT Tableを説明した図である。
図 9は、 FATファイルシステムのディレク トリ情報を説明した図である。
図 1 0は、 本発明を実施した場合の NAND Flash Memor への物理ブロックでの記 憶状態を示す図である。
図 1 1は、 本発明の別の実施例を示した図である。
図 1 2は、 本発明の別の実施例を示した図である。
図 1 3は、 本発明の別の実施例を示した図である。 符号の説明 1 ホスト
2 ホスト通信制御部
3 コマンド解析部
4 ノ ッファメモリ
5 論理一物理ァドレス変換テーブル
6 ウェアレベリング制御部
7 ECC制御部
8 Flash Read/Write 制御部
9 NAND Flash Memory
1 0 記憶装置
1 0 1 不使用セクタ検出手段
1 0 2 不使用セクタ登録手段
1 0 3 不使用ブロック代替化手段
1 0 4 不使用セクタデータ通知手段
1 0 5 不使用セクタ検出手段 発明を実施するための最良の形態 以下、 本発明の実施形態を図面に関連付けて説明する。 実施例 1 図 4は本発明の記憶装置の一実施例の構成図である。
ホスト 1及び記憶装置 1 0内の不使用セクタ検出手段 1 0 1、 不使用セクタ登録手段 1 0 2、 不使用ブロック代替化手段 1 0 3以外は、 従来例図 1で示したものと同じである。 また、 ホスト 1からのリード/ライト時の動作も従来例で示したものと同じである。 不使用セクタ検出手段 1 0 1は、 NAND Flash Memory 9におけるユーザデータ領域 内の実質使用されていないセクタを検出するものである。
不使用セクタ登録手段 1 0 2は、 不使用セクタ検出手段 1 0 1により検出された不使用セ クタの情報を保持しておくものである。
不使用ブロック代替ィ匕手段 1 0 3は、 不使用セクタ登録手段 1 0 2に保持された情報から NAND Flash Memory 9の該当物理ブロックの全領域が該当している場合に、 その物 理ブロックを消去し、 ウェアレペリング用代替プロックとして使用可能な状態にする機能 を有する。
次に、 ホスト 1のオペレーティングシステム (以下 OSと言う。 ) にての管理方法につい て説明するとともに、 不使用セクタ検出手段 1 0 1が不使用セクタを検出する方法につい て説明する。
図 5は、 記憶装置の管理によく使用されるフォーマツト形式である FATフォーマツトを 行った場合の論理ァドレスとその内容の関係を示した図である。
ここで LBAは論理ァドレスのことであり、 LBA0力 ら開合される。
図 6は、 この LBAOである MBRの詳細を示した図である。
ァドレス I BD hから 1 6 BYTEごとに各パーティションの情報が記載される。
この 1 6 BYTEの中のオフセット 0 4 hにフォーマツト形式に関する情報が、 オフセット
0 8 hに各パーティションの開始位置である BPBのァドレス情報が記憶される。
図 7は、 パーティションの開台セクタである BPBの詳細を示した図である。
O Dhバイト目に OSが管理する単位であるクラスタのサイズの情報があり、 また、 FATテ 一ブルのサイズや個数、 ルートディレクトリのサイズ情報が記憶されている。
図 8は FATテーブルの最初のセクタの詳細を示した図である。
周知のように、 FATテーブルは、 クラスタのチェーン情報のみからなる。
図 9はディレク トリ情報の詳細を示した図である。
ディレクトリ情報は、 3 2バイトからなり、 オフセット 1 Ahに実体データが記憶されて いるスタートクラスタの情報が記憶されている。
以上のように、 上記各情報を解析すれば、 使用されていないクラスタすなわち使用されて いない論理アドレスセクタ (LBA) が分かるので、 不使用セクタ検出手段 1 0 1は、 使 用されていない LBAを検出することができる。
図 1 0は、 上記のようにして不使用セクタを検出した場合の NAND Flash Memor の 物理ブロックの状態を示した図である。
図中左側の図は、 本発明を実施する前の状態である。
上記にて示したように、 本例では、 最初のクラスタであるクラスタ 0 X 0 0 0 2は LBA
5 9 9から始まり、 クラスタサイズは O x 2 0 ( 3 2セクタ) である。
図 8の FATテーブルで示されているように、 本例では、 クラスタ 0 x 0 0 1 C ( 2 8 ) ま でデータが記憶され、 それ以外のクラスタにはデータがなレ、状態となっている。
ここで、 クラスタ 0 x 0 0 1 C ( 2 8 ) は LBA 〜: LBA 1 4 6 2となる。
本発明を実施すると図中の右側のように、 使用していない論理セクタのみからなる物理ブ ロックは消去済み状態となり、 消去済み物理プロックは格段に増える。 実施例 2 図 1 1は、 別の実施例を示したものである。
不使用セクタデータ通知手段 1 0 4以外は、 上述の実施例と同じである。
不使用セクタ検出手段 1 0 1で検出され、 論理セクタァドレスと物理セクタァドレスとの 対応関係が解除された論理セクタに対してホスト 1がリード命令を発行する場合も想定さ れる力 不使用セクタデータ通知手段 1 0 4は、 このような物理セクタアドレスが:^除さ れた論理セクタアドレスに対してリード命令が発行された場合に、 ダミーデータ (例えば 全て FFhのデータ) を返すようにする機能を有する。
このようにすれば、 物理セクタアドレスとの対応がとられているノぃないに関係なく、 全 論理セクタ中のどの論理セクタに対してリ一ド命令が発行されてもデータをホストに返す ことができる。 実施例 3 図 1 2は、 さらに別の実施例を示したものである。
本実施例では、 ホスト 1が不使用セクタ検出通知手段 1 0 5を有し、 記憶装置 1 0は上述 した不使用セクタ検出手段 1 0 1を有していない。
不使用セクタ検出通知手段 1 0 5が検出する不使用セクタは、 上述と同じ方法で検出し、 検出した不使用セクタ情報を記憶装置 1 0に通知する。
記憶装置 1 0は、 ホスト 1から不使用セクタ情報を受け取り、 その後上述したのと同様に 不使用セクタ登録手段 1 0 2にて、 不使用セクタ情報を保持し、 不使用プロック代替化手 段 1 0 3において、 その情報から NAND Flash Memory 9の該当物理ブロックの全領 域が該当している場合に、 その物理ブロックを消去し、 ウェアレべリング用代替プロック として使用可能な状態にする。
このようにホスト 1と記憶装置 1 0とで機能を分担することにより、 記憶装置 1 0の負担 を軽くしたり、 種々のファイルシステムに容易に対応することが可能となる。 実施例 4 図 1 3は、 さらに別の実施例を示したものである。
不使用セクタデータ通知手段 1 0 4以外は、 図 1 2で説明したものと同じである。
不使用セクタデータ通知手段 1 0 4は、 図 1 1で説明したように、 論理セクタァドレスと 物理セクタアドレスとの対応関係が解除された論理セクタに対してホスト 1がリード命令 を発行する場合も想定される力 不使用セクタデータ通知手段 1 0 4は、 このような物理 セクタアドレスが解除された論理セクタアドレスに対してリード命令が発行された場合に、 ダミーデータ (例えば全て FFhのデータ) を返すようにする機能を有する。
このようにすれば、 物理セクタアドレスとの対応がとられている/いないに関係なく、 全 論理セクタ中のどの論理セクタに対してリード命令が発行されてもデータをホストに返す ことができる。 産業上の利用可能性 コンピュータ関連産業において利用できるものである。

Claims

請求の範囲 フラッシュメモリを使用した記憶装置であって、 ホストシステムからファイルシステ ムを用いて記憶データの管理をされている記憶装置において、
ファイルシステム管理上利用されていな 、データが記憶されているフラッシュメモ リの物理プロックを消去状態にして、 論理ァドレスと物理ァドレスとの対応関係を 解除し、 当該プロックをウェアレベリング用に使用することを特徴とする記憶装置。 ブロック単位での書き換えに書き換え回数に寿命の存在するフラッシュメモリを使用 した記憶装置であって、
フラッシュメモリ内にホストシステムから指示されたデータを記憶しておくための ユーザ領域と各ブロックは消去済み状態であり、 各ブロックの書き換え回数を平均 ィ匕するために使用されるブロックの集まりである代替領域と、
ユーザ領域におけるホストシステムから与えられる論理ァドレスとフラッシュメモ リ内の物理ァドレスとの対応関係を管理するァドレス変換テーブルと、
ホストシステムからユーザ領域のデータ書き換え命令に対して、 当該データに該当 する物理ブロックと代替領域中の物理プロックとを交換するように上記ァドレス管 理手段に指示するウェアレベリング制御部とを有した記憶装置におレ、て、
ユーザ領域中のファイルシステム上は使用されていないデータが記憶されているセ クタ領域を検出する不使用セクタ検出手段と、
その情報をァドレス管理手段に指示し当該論理セクタァドレスと物理セクタァドレ スとの対応関係を解除するように指示する不使用セクタ検出手段と、
不使用セクタ検出手段から通知された情報に基づき、 論理セクタァドレスと物理セ クタアドレスとの対応関係を解除する不使用セクタ登録手段と、
フラッシュメモリの消去単位である物理ブロック中の、 全ての論理セクタアドレス と物理セクタアドレスとの対応関係が解除された物理プロックを消去し代替領域の プロックとして使用可能ィ匕する不使用プロック代替化手段とを有する記憶装置。 請求項 1又は請求項 2記載の記憶装置におレ、て更に、 論理セクタアドレスと物理セク タァドレスとの対応関係を解除された論理セクタァドレスに対してホストシステム からリード命令が指示された場合には、 特定のデータをホストシステムに返す不使 用セクタデータ通知手段を有することを特徴とする請求項 1又は請求項 2記載の記 憶装置。 0 フラッシュメモリを使用した記憶装置とそのホストシステムからなる情報装置であつ て、 ファイルシステムを用 、て該記憶装置の記憶データの管理をしている情報装置 におレ、て、 フアイルシステム管理上利用されて ヽな!/、データが記憶されている論理 セクタを記憶装置に通知する不使用セクタ検出通知手段をホストシステムに有し、 かつ、 不使用セクタ通知手段を有するホストシステムから通知された情報に基づき、 論理セクタアドレスと物理セクタアドレスとの対応関係を解除する不使用セクタ登 録手段と、 フラッシュメモリの消去単位である物理プロック中の、 全ての論理セク タァドレスと物理セクタァドレスとの対応関係が解除された物理プロックを消去し 代替領域のプロ ックとして使用可能化するプロック代替化手段を有し た記憶装置を有することを特徴とする情報装置。 請求項 4に記載の記憶装置にお!/、て更に、 論理セクタアドレスと物理セクタアドレス との対応関係を解除された論理セクタァドレスに対してホストシステムからリード 命令が指示された場合には、 特定のデータをホストシステムに返す不使用セクタデ ータ通知手段を記憶装置に有することを特徴とする請求項 4記載の情報装置。
PCT/JP2008/058888 2008-03-26 2008-05-07 フラッシュメモリを用いた記憶装置 WO2009118917A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/678,657 US20100205354A1 (en) 2008-03-26 2008-05-07 Storage device using flash memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008079774A JP4164118B1 (ja) 2008-03-26 2008-03-26 フラッシュメモリを用いた記憶装置
JP2008-079774 2008-03-26

Publications (1)

Publication Number Publication Date
WO2009118917A1 true WO2009118917A1 (ja) 2009-10-01

Family

ID=39916222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/058888 WO2009118917A1 (ja) 2008-03-26 2008-05-07 フラッシュメモリを用いた記憶装置

Country Status (3)

Country Link
US (1) US20100205354A1 (ja)
JP (1) JP4164118B1 (ja)
WO (1) WO2009118917A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789421A (zh) * 2011-05-18 2012-11-21 安凯(广州)微电子技术有限公司 提高nand闪存读写性能的方法及装置
US20120311298A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Mount-time unmapping of unused logical addresses in non-volatile memory systems
US8756458B2 (en) 2011-12-12 2014-06-17 Apple Inc. Mount-time reconciliation of data availability

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100504814C (zh) * 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 闪存的区块管理方法
CN101424949B (zh) * 2007-11-01 2010-06-09 大唐移动通信设备有限公司 电子设备风机转速控制方法及装置
US8407401B2 (en) 2008-11-26 2013-03-26 Core Wireless Licensing S.A.R.L. Methods, apparatuses, and computer program products for enhancing memory erase functionality
US20100131726A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Methods, apparatuses, and computer program products for enhancing memory erase functionality
JP2011090496A (ja) * 2009-10-22 2011-05-06 Hitachi Ltd 半導体記憶装置および制御方法
JP5405513B2 (ja) 2011-03-22 2014-02-05 株式会社東芝 メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム
JP2012203443A (ja) 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
JP5581256B2 (ja) * 2011-03-28 2014-08-27 株式会社東芝 メモリシステム、コントローラ、およびメモリシステムの制御方法
JP2012234482A (ja) * 2011-05-09 2012-11-29 Canon Inc 記憶制御装置及びその制御方法、並びにプログラム
US9069657B2 (en) * 2011-12-12 2015-06-30 Apple Inc. LBA bitmap usage
JP5586718B2 (ja) 2012-06-19 2014-09-10 株式会社東芝 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置
US9043565B2 (en) 2012-09-07 2015-05-26 Kabushiki Kaisha Toshiba Storage device and method for controlling data invalidation
JP6004923B2 (ja) * 2012-11-29 2016-10-12 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
US9811273B1 (en) * 2014-12-23 2017-11-07 Cadence Design Systems, Inc. System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory
KR102365269B1 (ko) 2015-04-13 2022-02-22 삼성전자주식회사 데이터 스토리지 및 그것의 동작 방법
JP2019049876A (ja) * 2017-09-11 2019-03-28 大日本印刷株式会社 電子情報記憶媒体、icカード、電子情報記憶媒体によるテーブル管理方法及びテーブル管理プログラム
JP7043886B2 (ja) * 2018-02-26 2022-03-30 大日本印刷株式会社 電子情報記憶媒体、icカード、電子情報記憶媒体による情報処理方法及びos
CN110658981B (zh) * 2019-04-19 2022-11-08 石家庄科林电气股份有限公司 一种提高Flash使用寿命的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208352A (ja) * 2002-01-17 2003-07-25 Fujitsu Ltd 書き込み回数の制限とウエアレベリングを可能にしたフラッシュメモリ
WO2004077447A1 (ja) * 2003-02-28 2004-09-10 Fujitsu Limited フラッシュメモリ及びメモリ制御方法
JP2004310477A (ja) * 2003-04-08 2004-11-04 Renesas Technology Corp メモリカード
JP2006235960A (ja) * 2005-02-24 2006-09-07 Fujitsu Ltd ガーベッジコレクション高速化方法
JP2007505415A (ja) * 2003-09-10 2007-03-08 ハイパーストーン・アクチエンゲゼルシヤフト フラッシュメモリにおける削除されたブロックの管理
JP2007517335A (ja) * 2003-12-30 2007-06-28 サンディスク コーポレイション 不揮発性メモリおよびブロック管理システムを伴う方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337275A (en) * 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US7395384B2 (en) * 2004-07-21 2008-07-01 Sandisk Corproation Method and apparatus for maintaining data on non-volatile memory systems
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
KR100876084B1 (ko) * 2007-02-13 2008-12-26 삼성전자주식회사 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
KR100771519B1 (ko) * 2006-10-23 2007-10-30 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003208352A (ja) * 2002-01-17 2003-07-25 Fujitsu Ltd 書き込み回数の制限とウエアレベリングを可能にしたフラッシュメモリ
WO2004077447A1 (ja) * 2003-02-28 2004-09-10 Fujitsu Limited フラッシュメモリ及びメモリ制御方法
JP2004310477A (ja) * 2003-04-08 2004-11-04 Renesas Technology Corp メモリカード
JP2007505415A (ja) * 2003-09-10 2007-03-08 ハイパーストーン・アクチエンゲゼルシヤフト フラッシュメモリにおける削除されたブロックの管理
JP2007517335A (ja) * 2003-12-30 2007-06-28 サンディスク コーポレイション 不揮発性メモリおよびブロック管理システムを伴う方法
JP2006235960A (ja) * 2005-02-24 2006-09-07 Fujitsu Ltd ガーベッジコレクション高速化方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789421A (zh) * 2011-05-18 2012-11-21 安凯(广州)微电子技术有限公司 提高nand闪存读写性能的方法及装置
US20120311298A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Mount-time unmapping of unused logical addresses in non-volatile memory systems
US9727570B2 (en) * 2011-06-03 2017-08-08 Apple Inc. Mount-time unmapping of unused logical addresses in non-volatile memory systems
US8756458B2 (en) 2011-12-12 2014-06-17 Apple Inc. Mount-time reconciliation of data availability
US9104329B2 (en) 2011-12-12 2015-08-11 Apple Inc. Mount-time reconciliation of data availability

Also Published As

Publication number Publication date
JP4164118B1 (ja) 2008-10-08
JP2009237668A (ja) 2009-10-15
US20100205354A1 (en) 2010-08-12

Similar Documents

Publication Publication Date Title
JP4164118B1 (ja) フラッシュメモリを用いた記憶装置
US9645894B2 (en) Data storage device and flash memory control method
US8775771B2 (en) Block management method for a flash memory and flash memory controller and storage system using the same
US9448919B1 (en) Data storage device accessing garbage collected memory segments
JP4372134B2 (ja) データ比較機能を有するストレージシステム
US9026764B2 (en) Memory system performing wear leveling based on deletion request
US8825977B1 (en) Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
JP5525605B2 (ja) フラッシュメモリモジュール
CN110895514A (zh) 映射表更新方法
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
JP2013061799A (ja) 記憶装置、記憶装置の制御方法およびコントローラ
US20100169556A1 (en) Nonvolatile storage device, information recording system, and information recording method
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
JPWO2004031966A1 (ja) 不揮発性記憶装置の制御方法
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
US20140075099A1 (en) Control method and memory system of non-volatile semiconductor memory
KR20110139956A (ko) 맵핑 테이블을 복구하는 데이터 기억 장치 및 데이터 관리 방법
CN106445401A (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
US20100180072A1 (en) Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
JP2010086009A (ja) 記憶装置およびメモリ制御方法
JP2013171343A (ja) ストレージデバイス
JP2009146539A (ja) 情報記録装置および情報記録方法
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Legal Events

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

Ref document number: 08752751

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12678657

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08752751

Country of ref document: EP

Kind code of ref document: A1