JP2014134998A - Data recording device and data recording method - Google Patents

Data recording device and data recording method Download PDF

Info

Publication number
JP2014134998A
JP2014134998A JP2013003274A JP2013003274A JP2014134998A JP 2014134998 A JP2014134998 A JP 2014134998A JP 2013003274 A JP2013003274 A JP 2013003274A JP 2013003274 A JP2013003274 A JP 2013003274A JP 2014134998 A JP2014134998 A JP 2014134998A
Authority
JP
Japan
Prior art keywords
parallel
block management
empty
block
writing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013003274A
Other languages
Japanese (ja)
Other versions
JP5994647B2 (en
Inventor
Hisayoshi Kurosawa
寿好 黒澤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013003274A priority Critical patent/JP5994647B2/en
Publication of JP2014134998A publication Critical patent/JP2014134998A/en
Application granted granted Critical
Publication of JP5994647B2 publication Critical patent/JP5994647B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To obtain a data recording device that shortens processing time required for writing when parallel writing is carried out in a plurality of NAND flash memories and that prevents missing of data.SOLUTION: A data recording device comprises: a writing function part configured to write data in parallel on a plurality of recording mediums connected on the same bus; an empty block management part configured to register, in an empty block management table, whether a plurality of blocks into which the plurality of recording mediums are divided are empty blocks in which data can be written; and an empty block management part for parallel writings, configured such that empty blocks, informed from the empty block management part, for the number of parallel writings are registered as one group in the empty block management table, empty blocks for the number of parallel writings are acquired from the empty block management table for parallel writings according to a request from the writing function part, and information about the empty blocks is provided.

Description

同一バスに接続された複数の記憶媒体に並列書き込みするデータ記録装置に関する。   The present invention relates to a data recording apparatus for writing in parallel to a plurality of storage media connected to the same bus.

例えば、人工衛星は、地上局と通信できない範囲を飛行中に、観測機器が生成した観測データを人工衛星内に保持しておく必要があるため、データ記録装置を搭載している。地上局と通信できない範囲とは、例えば、地上局の位置に対して地球の裏側である。観測機器は観測データを機器内部に蓄えることはできないため、データ記録装置との間でデータ伝送のためのフロー制御を実現することは困難である。また、観測機器の高精細化に伴い、データ記録装置に入力される観測データはサイズが大きくなり、単位時間当たりのデータ量も増大している。しかし、宇宙環境で正常動作可能なメモリは限られているため、データ記録装置は大容量のバッファメモリを保持することができない。また、真空であるために放熱手段が乏しく、電子機器を高速動作させることができない、という制約もある。   For example, an artificial satellite is equipped with a data recording device because observation data generated by an observation device needs to be held in the artificial satellite while flying in a range where it cannot communicate with a ground station. The range incapable of communicating with the ground station is, for example, the back side of the earth with respect to the position of the ground station. Since the observation equipment cannot store observation data inside the equipment, it is difficult to realize flow control for data transmission with the data recording device. In addition, with the increase in the definition of observation equipment, the observation data input to the data recording device has increased in size and the amount of data per unit time has increased. However, since the memory that can normally operate in the space environment is limited, the data recording device cannot hold a large-capacity buffer memory. In addition, since the vacuum is used, there is a limitation that heat dissipating means is scarce and the electronic device cannot be operated at high speed.

そこで、データ記録装置には、NANDフラッシュメモリのような大容量かつ低消費電力な不揮発メモリが搭載されつつある。しかし、NANDフラッシュメモリは、データの読出しに比べ、データの書込みに時間を要する。そのため、観測機器から伝送される単位時間当たりのデータ量の増大に伴い、1つのデバイスチップではデータ記録時間が間に合わなくなっている。そこで、同一のメモリバスに複数のNANDフラッシュメモリを接続し、その中の複数個のNANDフラッシュメモリに対して並列に書込みをすることにより、データ記録性能の向上を図っている。   Therefore, a large capacity and low power consumption nonvolatile memory such as a NAND flash memory is being mounted on the data recording device. However, the NAND flash memory requires more time for data writing than data reading. Therefore, as the amount of data per unit time transmitted from the observation equipment increases, the data recording time is not in time for one device chip. Therefore, the data recording performance is improved by connecting a plurality of NAND flash memories to the same memory bus and writing in parallel to the plurality of NAND flash memories.

一方、ファイルシステムは、NANDフラッシュメモリに対してデータの書込み及び読出しを行う。ファイルシステムは、ファイルを削除する際にファイル管理情報の上でファイルを削除済みとするだけで、NANDフラッシュメモリに書き込まれている実際のデータそのものを消去しない。NANDフラッシュメモリは、不要なデータであることを認識しないまま処理を行うため、書込み速度が低下したり、書換え回数が増加したりしていた。   On the other hand, the file system writes and reads data to and from the NAND flash memory. The file system simply deletes the file on the file management information when deleting the file, and does not erase the actual data itself written in the NAND flash memory. Since the NAND flash memory performs processing without recognizing unnecessary data, the writing speed is reduced and the number of rewrites is increased.

特許文献1では、ファイルシステムとNANDフラッシュメモリはデータの管理単位を互いに認識するようにしている。よって、データの書込みの際に、ファイルシステムがNANDフラッシュメモリに対して破棄してよいデータを通知し、不要なデータのコピー処理を抑制することにより、書込み速度を向上させていた。   In Patent Document 1, the file system and the NAND flash memory recognize data management units from each other. Therefore, when writing data, the file system notifies the NAND flash memory of data that can be discarded, and the write speed is improved by suppressing unnecessary data copy processing.

国際公開第2009/001514号International Publication No. 2009/001514

しかしながら、複数個のNANDフラッシュメモリに対して並列に書込みをする場合、NANDフラッシュメモリ内の空きブロックを並列書込み数分探索する必要があり、処理時間が増加する。特許文献1においても、複数個のNANDフラッシュメモリに対し並列に書込みをする場合には処理時間が増加する。したがって、データの書込み中に次のデータの書込みが要求されると、十分なバッファメモリがなければデータの欠損を生じるという問題があった。   However, when writing to a plurality of NAND flash memories in parallel, it is necessary to search for empty blocks in the NAND flash memory by the number of parallel writes, which increases processing time. Also in Patent Document 1, the processing time increases when writing in parallel to a plurality of NAND flash memories. Therefore, when the next data write is requested during the data write, there is a problem that data is lost if there is not enough buffer memory.

本発明は上記のような問題点を解決するためになされたもので、複数個のNANDフラッシュメモリに対して並列に書込みをする場合に書込みにかかる処理時間を短縮し、データの欠損を生じないデータ記録装置を得ることを目的としている。   The present invention has been made to solve the above-described problems, and when writing in parallel to a plurality of NAND flash memories, the processing time required for writing is shortened, and data loss does not occur. The object is to obtain a data recording device.

同一バス上に接続された複数の記録媒体にデータを並列に書込む書込み機能部と、複数の記録媒体をそれぞれ分割した複数のブロックについてデータ書込み可能な空きブロックかどうかを空きブロック管理テーブルに登録する空きブロック管理部と、空きブロック管理部から通知された空きブロックについて並列書込み数分を1つの組として並列書込み用空きブロック管理テーブルに登録し、書込み機能部からの要求に応じて並列書込み用空きブロック管理テーブルから並列書込み数分の空きブロックを取得して、通知する並列書込み用空きブロック管理部と、を備えた。   Write function that writes data to multiple recording media connected on the same bus in parallel, and registers whether or not it is a free block where data can be written for multiple blocks divided into multiple recording media. Register the number of parallel writes for the free block management unit to be used and the free block notified from the free block management unit as one set in the free block management table for parallel writing, and for parallel writing in response to a request from the write function unit An empty block management unit for parallel writing that acquires and notifies empty blocks for the number of parallel writes from the empty block management table.

本発明によれば、複数個のNANDフラッシュメモリに対し並列に書込みをする場合に書込みにかかる処理時間を短縮し、データの欠損を生じないようにすることができる。   According to the present invention, when writing to a plurality of NAND flash memories in parallel, the processing time required for writing can be shortened and data loss can be prevented.

NANDフラッシュメモリのデバイスチップの基本的な構成と接続形態を示すブロック図。1 is a block diagram showing a basic configuration and connection form of a device chip of a NAND flash memory. NANDフラッシュメモリの基本的な構成を示すブロック図。1 is a block diagram showing a basic configuration of a NAND flash memory. データ記録装置からデバイスチップへのデータの書込み処理の順序を示す図。The figure which shows the order of the writing process of the data from a data recording device to a device chip. データ記録装置に複数のデバイスチップを接続した形態を示すブロック図。The block diagram which shows the form which connected the several device chip to the data recording device. データ記録装置から複数のデバイスチップへのデータの書込み処理の順序を示す図。The figure which shows the order of the write-in process of the data to a several device chip from a data recording device. 実施の形態1に係るデータ記録装置の構成を示すブロック図。1 is a block diagram showing a configuration of a data recording apparatus according to Embodiment 1. FIG. 実施の形態1に係る並列書込み用空きブロック管理テーブルを示す図。The figure which shows the empty block management table for parallel writing which concerns on Embodiment 1. FIG. 実施の形態1に係る空きブロック管理部及び並列書込み用空きブロック管理部における処理の流れを示すフローチャート。5 is a flowchart showing a flow of processing in an empty block management unit and a parallel writing empty block management unit according to the first embodiment. 実施の形態1に係る並列書込み用空きブロック管理部における並列書込み用空きブロック管理テーブルの探索処理の流れを示すフローチャート。5 is a flowchart showing a flow of a search process for a parallel writing free block management table in the parallel writing free block management unit according to the first embodiment; 実施の形態1に係る並列書込み用空きブロック管理テーブルを示す図。The figure which shows the empty block management table for parallel writing which concerns on Embodiment 1. FIG. 実施の形態2に係る並列書込み用空きブロック管理テーブルを示す図。The figure which shows the empty block management table for parallel writing which concerns on Embodiment 2. FIG. 実施の形態2に係る並列書込み用空きブロック管理部における並列書込み用空きブロック管理テーブルの探索処理の流れを示すフローチャート。12 is a flowchart showing a flow of a search process for a parallel writing free block management table in a parallel writing free block management unit according to the second embodiment; 実施の形態2に係る並列書込み用空きブロック管理テーブルを示す図。The figure which shows the empty block management table for parallel writing which concerns on Embodiment 2. FIG. 実施の形態3に係る並列書込み用空きブロック管理テーブルを示す図。The figure which shows the empty block management table for parallel writing which concerns on Embodiment 3. FIG. 実施の形態3に係る空きブロック管理部及び並列書込み用空きブロック管理部における処理の流れを示すフローチャート。10 is a flowchart showing the flow of processing in an empty block management unit and a parallel writing empty block management unit according to the third embodiment. 実施の形態3に係る並列書込み用空きブロック管理部における並列書込み用空きブロック管理テーブルの探索処理の流れを示すフローチャート。14 is a flowchart showing a flow of a search process for a parallel writing free block management table in a parallel writing free block management unit according to the third embodiment; 実施の形態3に係る並列書込み用空きブロック管理テーブルを示す図。The figure which shows the empty block management table for parallel writing which concerns on Embodiment 3. FIG.

実施の形態1.
まず、NANDフラッシュメモリの基本的な構造や制御方法について説明する。
Embodiment 1 FIG.
First, the basic structure and control method of the NAND flash memory will be described.

図1は、NANDフラッシュメモリのデバイスチップ11の基本的な構成と接続形態を示すブロック図である。デバイスチップ11は、メモリバス12を介してデータ記録装置13と接続している。データ記録装置13は、デバイスチップ11にデータを記録する。また、データ記録装置13は、デバイスチップ11からデータを読出し、データが不要な場合は消去する。   FIG. 1 is a block diagram showing a basic configuration and connection form of a device chip 11 of a NAND flash memory. The device chip 11 is connected to the data recording device 13 via the memory bus 12. The data recording device 13 records data on the device chip 11. Further, the data recording device 13 reads data from the device chip 11 and erases the data if it is unnecessary.

デバイスチップ11は、メモリインタフェース部14、コマンド処理部15、ページバッファ16、NANDフラッシュメモリ17から構成されている。メモリインタフェース部14は、メモリバス12を介してデータ記録装置13と接続し、入出力のインタフェースとなっている。コマンド処理部15は、コマンドを処理する。ページバッファ16は、データを一時的に保持する。NANDフラッシュメモリ17は、実際にデータを保持するメモリ素子が配列されている。   The device chip 11 includes a memory interface unit 14, a command processing unit 15, a page buffer 16, and a NAND flash memory 17. The memory interface unit 14 is connected to the data recording device 13 via the memory bus 12 and serves as an input / output interface. The command processing unit 15 processes a command. The page buffer 16 temporarily holds data. In the NAND flash memory 17, memory elements that actually hold data are arranged.

メモリインタフェース部14は、データ記録装置13からコマンドが入力されるとコマンドをコマンド処理部15に出力する。コマンドは、書込み、消去又は読込みである。コマンド処理部15は、入力されたコマンドの内容に応じてページバッファ16を制御する。これにより、ページバッファ16とNANDフラッシュメモリ17との間のデータ転送が制御される。   When a command is input from the data recording device 13, the memory interface unit 14 outputs the command to the command processing unit 15. The command is write, erase or read. The command processing unit 15 controls the page buffer 16 according to the contents of the input command. As a result, data transfer between the page buffer 16 and the NAND flash memory 17 is controlled.

コマンドが書込みの場合、メモリインタフェース部14はコマンドをコマンド処理部15に出力し、コマンドに付加されているデータをページバッファ16に出力する。ページバッファ16は、データを一時保存した後、コマンド処理部15からの指示により、NANDフラッシュメモリ17にデータを書込む。コマンドが消去の場合、ページバッファ16は、コマンド処理部15からの指示により、NANDフラッシュメモリ17からデータを消去する。   When the command is a write command, the memory interface unit 14 outputs the command to the command processing unit 15 and outputs data added to the command to the page buffer 16. The page buffer 16 temporarily stores the data, and then writes the data to the NAND flash memory 17 according to an instruction from the command processing unit 15. When the command is erasure, the page buffer 16 erases data from the NAND flash memory 17 according to an instruction from the command processing unit 15.

コマンドが読込みの場合、ページバッファ16はコマンド処理部15からの指示により、NANDフラッシュメモリ17からデータを読出す。ページバッファ16は、データを一時保存した後、メモリインタフェース部14に出力する。メモリインタフェース部14は、ページバッファ16から入力されたデータをメモリバス12へ出力する。   When the command is read, the page buffer 16 reads data from the NAND flash memory 17 in accordance with an instruction from the command processing unit 15. The page buffer 16 temporarily stores the data and then outputs the data to the memory interface unit 14. The memory interface unit 14 outputs the data input from the page buffer 16 to the memory bus 12.

図2は、NANDフラッシュメモリ17の基本的な構成を示すブロック図である。NANDフラッシュメモリ17は、複数のブロック21a〜jで構成されている。ブロック21a〜jは、それぞれ複数のページから構成されている。例えば、ブロック21aはk個のページ22a1〜akから構成されている。   FIG. 2 is a block diagram showing a basic configuration of the NAND flash memory 17. The NAND flash memory 17 is composed of a plurality of blocks 21a to 21j. Each of the blocks 21a to 21j is composed of a plurality of pages. For example, the block 21a is composed of k pages 22a1 to ak.

現在、ブロックの一般的な記録容量は64〜256キロバイト程度である。また、ページの一般的な記録容量は1〜4キロバイト程度である。データの書込み及び読出しはページ単位で行われる。データの消去は、ブロック単位で行われる。NANDフラッシュメモリ17では、新しいデータを記録する場合、すでに書込まれているデータを消去する必要がある。   At present, the general recording capacity of a block is about 64 to 256 kilobytes. The general recording capacity of a page is about 1 to 4 kilobytes. Data is written and read in units of pages. Data is erased in units of blocks. In the NAND flash memory 17, when new data is recorded, it is necessary to erase already written data.

図3は、データ記録装置13からデバイスチップ11へのデータの書込み処理の順序を示す図である。図3において、左から右へ時間が進み、31〜34はそれぞれ処理を示す。31〜34の処理の長さは時間を表す。ただし、処理にかかる時間は一例である。処理は、第1コマンド送信31、書込みデータ転送32、第2コマンド送信33、チップ内書込み処理34の順に行われる。   FIG. 3 is a diagram showing the order of data writing processing from the data recording device 13 to the device chip 11. In FIG. 3, time advances from the left to the right, and 31 to 34 denote processes. The length of the processes 31 to 34 represents time. However, the time required for processing is an example. Processing is performed in the order of first command transmission 31, write data transfer 32, second command transmission 33, and in-chip write processing.

最初に、データ記録装置13はデバイスチップ11に第1コマンド31を送信する。通常、第1コマンド31には書込み先であるデバイスチップ11のNANDフラッシュメモリ17のブロック番号が含まれている。次にデータ記録装置13はデバイスチップ11に1ページ分のデータを転送する。デバイスチップ11は、転送されたデータをページバッファ16に一時保存する。   First, the data recording device 13 transmits the first command 31 to the device chip 11. Normally, the first command 31 includes the block number of the NAND flash memory 17 of the device chip 11 that is the write destination. Next, the data recording device 13 transfers one page of data to the device chip 11. The device chip 11 temporarily stores the transferred data in the page buffer 16.

次に、データ記録装置13はデバイスチップ11に第2コマンド33を送信する。デバイスチップ11は、第2コマンド33を受信したことを契機としてチップ内書込み処理34を行う。デバイスチップ11は、ページバッファ16に保存されたデータをNANDフラッシュメモリ17に転送し、書込む。データは、第1コマンドで指定されたブロックに書込まれる。データ記録装置13は、デバイスチップ11におけるチップ内書込み処理34の完了を待って、別の処理を開始する必要がある。   Next, the data recording device 13 transmits a second command 33 to the device chip 11. The device chip 11 performs an in-chip write process 34 when the second command 33 is received. The device chip 11 transfers the data stored in the page buffer 16 to the NAND flash memory 17 and writes it. Data is written to the block specified by the first command. The data recording apparatus 13 needs to wait for completion of the in-chip write process 34 in the device chip 11 and start another process.

図4は、データ記録装置13に複数のデバイスチップを接続した形態を示すブロック図である。データ記録装置13は、メモリバス41を介して複数のデバイスチップ11a〜nと接続している。
図5は、データ記録装置13から複数のデバイスチップ11a〜bへのデータの書込み処理の順序を示す図である。図5において、左から右へ時間が進む。31a〜34aはデバイスチップ11aに対する処理を示す。31b〜34bはデバイスチップ11bに対する処理を示す。
FIG. 4 is a block diagram showing a form in which a plurality of device chips are connected to the data recording device 13. The data recording device 13 is connected to a plurality of device chips 11a to 11n via a memory bus 41.
FIG. 5 is a diagram showing the order of data write processing from the data recording device 13 to the plurality of device chips 11a-b. In FIG. 5, time advances from left to right. Reference numerals 31a to 34a denote processes for the device chip 11a. Reference numerals 31b to 34b denote processes for the device chip 11b.

デバイスチップ11aに対するチップ内書込み処理34aが行われている間、メモリバス41は空き状態となる。データ記録装置13は、この間に同一のメモリバス41に接続されたデバイスチップ11bに対する処理31b〜33bを実施する。このようにデバイスチップ11aに対する処理とデバイスチップ11bに対する処理を並列に行うことにより、全体として書込み性能を向上させることができる。   While the in-chip write process 34a for the device chip 11a is being performed, the memory bus 41 is in an empty state. During this time, the data recording device 13 performs the processing 31b to 33b for the device chip 11b connected to the same memory bus 41. Thus, by performing the process for the device chip 11a and the process for the device chip 11b in parallel, the writing performance as a whole can be improved.

例えば、デバイスチップ11aへの第1コマンド送信31aから第2コマンド送信33aにかかる時間、デバイスチップ11aに対するチップ内書込み処理34aにかかる時間、デバイスチップ11bへの第1コマンド送信31bから第2コマンド送信33bにかかる時間、及び、デバイスチップ11bに対するチップ内書込み処理34bにかかる時間が等しい場合、データ記録装置13は、並列処理を行わない場合の3/4の時間でデータを書込むことができる。なお、通常は、第1コマンド送信31a〜bから第2コマンド送信33a〜bまでにかかる時間よりも、チップ内書込み処理34a〜bにかかる時間のほうが長い。   For example, the time required for the second command transmission 33a from the first command transmission 31a to the device chip 11a, the time required for the in-chip write processing 34a for the device chip 11a, and the second command transmission from the first command transmission 31b to the device chip 11b When the time required for 33b and the time required for the in-chip write process 34b for the device chip 11b are equal, the data recording device 13 can write data in 3/4 time when parallel processing is not performed. Normally, the time required for the in-chip write processing 34a-b is longer than the time required from the first command transmission 31a-b to the second command transmission 33a-b.

以下に、本実施の形態について説明する。
図6は、実施の形態1に係るデータ記録装置60の構成を示すブロック図である。データ記録装置60はメモリバス61を介して複数のNANDフラッシュメモリのデバイスチップ11a〜nに接続している。データ記録装置60は、コマンドインタフェース部62、書込み機能部63、消去機能部64、読出し機能部65、空きブロック管理部66、並列書込み用空きブロック管理部67、アドレス変換部68、及びメモリインタフェース部69から構成されている。
Hereinafter, the present embodiment will be described.
FIG. 6 is a block diagram showing a configuration of the data recording device 60 according to the first embodiment. The data recording device 60 is connected to device chips 11a to 11n of a plurality of NAND flash memories via a memory bus 61. The data recording device 60 includes a command interface unit 62, a write function unit 63, an erase function unit 64, a read function unit 65, an empty block management unit 66, an empty block management unit 67 for parallel writing, an address conversion unit 68, and a memory interface unit. 69.

コマンドインタフェース部62は、データ記録装置60内の図示しない上位システムからのコマンドを書込み機能部63、消去機能部64又は読出し機能部65に振り分ける。また、コマンドインタフェース部62は、書込み機能部63、消去機能部64、又は読出し機能部65の処理結果を上位システムへ出力する。   The command interface unit 62 distributes commands from a host system (not shown) in the data recording device 60 to the write function unit 63, the erase function unit 64, or the read function unit 65. Further, the command interface unit 62 outputs the processing result of the write function unit 63, the erase function unit 64, or the read function unit 65 to the host system.

書込み機能部63は、デバイスチップ11a〜nにデータの書込みを行う。消去機能部64は、デバイスチップ11a〜nに保持されているデータの消去を行う。読出し機能部65は、デバイスチップ11a〜nに保持されているデータの読出しを行う。   The write function unit 63 writes data to the device chips 11a to 11n. The erase function unit 64 erases data held in the device chips 11a to 11n. The read function unit 65 reads data held in the device chips 11a to 11n.

空きブロック管理部66は、デバイスチップ11a〜nのNANDフラッシュメモリの全てのブロックの状態を管理している。ブロックの状態とは、データ書込み済みで使用中又はデータ消去済みで空きのどちらかである。並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブルを保持し、並列書き込み数分のブロックを1つの組にして空きブロックを管理する。アドレス変換部68は、上位システムが認識する論理アドレスと、デバイスチップ11a〜nのNANDフラッシュメモリのブロック番号との対応付けを保存している。   The empty block management unit 66 manages the states of all the blocks of the NAND flash memory of the device chips 11a to 11n. The block state is either data written and in use or data erased and empty. The parallel writing free block management unit 67 holds a parallel writing free block management table, and manages the free blocks by setting blocks corresponding to the number of parallel writings as one set. The address conversion unit 68 stores a correspondence between the logical address recognized by the host system and the block number of the NAND flash memory of the device chips 11a to 11n.

メモリインタフェース部69は、書込み機能部63、消去機能部64又は読出し機能部65からのコマンドをデバイスチップ11a〜nに出力する。また、メモリインタフェース部69は、NANDフラッシュメモリのデバイスチップ11a〜nから入力される処理結果を書込み機能部63、消去機能部64又は読出し機能部65に出力する。   The memory interface unit 69 outputs commands from the write function unit 63, the erase function unit 64, or the read function unit 65 to the device chips 11a to 11n. The memory interface unit 69 outputs the processing results input from the device chips 11a to 11n of the NAND flash memory to the write function unit 63, the erase function unit 64, or the read function unit 65.

次に、データ書込みの動作について説明する。
書込み機能部63は、コマンドインタフェース部62から書込みコマンドを受信すると、並列書込み用空きブロック管理部67に並列書込み数分の空きブロックを要求する。並列書込み用空きブロック管理部67は並列書込み用空きブロック管理テーブルから並列書込み数分の空きブロックの番号を取得し、書込み機能部63に通知する。
Next, the data write operation will be described.
When the write function unit 63 receives a write command from the command interface unit 62, the write function unit 63 requests a free block for the number of parallel writes from the parallel write free block management unit 67. The parallel writing free block management unit 67 acquires the number of free blocks corresponding to the number of parallel writings from the parallel writing free block management table and notifies the writing function unit 63 of the number.

書込み機能部63は、書込みデータを並列書込み数分に分割し、それぞれ空きブロック番号とともにメモリインタフェース部69に書込みコマンドを通知する。メモリインタフェース部69は、並列書込み数分のデバイスチップそれぞれに書込みコマンドを送信する。インタフェース部69は、デバイスチップへの書込み処理中でメモリバスの空いているときは他のデバイスチップへ書き込みコマンドを送信するように制御し、複数のデバイスチップへの書込みを並列に行う。デバイスチップは、指定されたNANDフラッシュメモリのブロックに書込み処理を行い、処理が完了するとメモリインタフェース部69に通知する。   The write function unit 63 divides the write data into the number of parallel writes, and notifies the memory interface unit 69 of the write command together with the empty block number. The memory interface unit 69 transmits a write command to each device chip for the number of parallel writes. The interface unit 69 performs control so that a write command is transmitted to another device chip when the memory bus is available during the writing process to the device chip, and performs writing to a plurality of device chips in parallel. The device chip performs a write process on the designated block of the NAND flash memory, and notifies the memory interface unit 69 when the process is completed.

なお、1つのデバイスチップへ書込みする場合、書込み機能部63は、空きブロック管理部66に空きブロックを要求し、取得する。書込み機能部63は、空きブロック番号とともにメモリインタフェース部69に書込みコマンドを通知する。メモリインタフェース部69は、デバイスチップに書込みコマンドを送信する。複数のデバイスチップに並列書込みするのか、あるいは1つのデバイスチップに書込みするのかは、上位システムからの指示に従って処理を行ってもよいし、書込み機能部63がどちらの処理を行うか判断してもよい。   When writing to one device chip, the write function unit 63 requests and acquires an empty block from the empty block management unit 66. The write function unit 63 notifies the write command to the memory interface unit 69 together with the empty block number. The memory interface unit 69 transmits a write command to the device chip. Whether to write to a plurality of device chips in parallel or to write to one device chip may be processed according to an instruction from the host system, or it may be determined which processing is performed by the writing function unit 63 Good.

メモリインタフェース部69は、デバイスチップへの書込み処理が完了したことを書込み機能部63に通知する。書込み機能部63は、書込みが行われたデバイスチップのブロック番号と上位システムが認識している論理アドレスをアドレス変換部68へ通知する。アドレス変換部68は、通知されたデバイスチップのブロック番号と論理アドレスを対応付けて保存する。書込み機能部63は、書込み処理が完了したことをコマンドインタフェース部62に通知する。コマンドインタフェース部62は、書込み処理が完了したことを上位システムに通知し、書込み処理が完了する。   The memory interface unit 69 notifies the write function unit 63 that the writing process to the device chip is completed. The writing function unit 63 notifies the address conversion unit 68 of the block number of the device chip to which writing has been performed and the logical address recognized by the host system. The address conversion unit 68 stores the notified block number of the device chip and the logical address in association with each other. The writing function unit 63 notifies the command interface unit 62 that the writing process has been completed. The command interface unit 62 notifies the host system that the writing process has been completed, and the writing process is completed.

次に、データ消去の動作について説明する。
消去機能部64は、コマンドインタフェース部62から消去コマンドを受信すると、指定された論理アドレスをアドレス変換部68に通知する。アドレス変換部68は指定された論理アドレスに対応するデバイスチップのブロック番号を消去機能部64に通知する。消去機能部64は、デバイスチップのブロック番号を指定して消去コマンドをメモリインタフェース部69に送信する。
Next, the data erasing operation will be described.
When the erase function unit 64 receives an erase command from the command interface unit 62, the erase function unit 64 notifies the address converter 68 of the designated logical address. The address conversion unit 68 notifies the erase function unit 64 of the block number of the device chip corresponding to the designated logical address. The erase function unit 64 designates the block number of the device chip and transmits an erase command to the memory interface unit 69.

メモリインタフェース部69は消去コマンドをデバイスチップに送信する。消去コマンドを受信したデバイスチップは、指定されたブロックのデータを消去し、処理が完了するとメモリインタフェース部69へ通知する。メモリインタフェース部69は、デバイスチップの消去処理が完了したことを消去機能部64に通知する。   The memory interface unit 69 transmits an erase command to the device chip. The device chip that has received the erase command erases the data of the designated block, and notifies the memory interface unit 69 when the processing is completed. The memory interface unit 69 notifies the erasing function unit 64 that the device chip erasing process has been completed.

消去機能部64は、当該ブロックと論理アドレスとの対応付けを削除するようにアドレス変換部68に通知する。また、消去機能部64は、空きブロック管理部66に当該ブロックが空きであることを通知する。空きブロック管理部66は消去処理が完了した空きブロックを並列書込み用空きブロック管理部67に通知する。消去機能部64は、消去処理が完了したことをコマンドインタフェース部62に通知する。コマンドインタフェース部62は、消去処理が完了したことを上位システムに通知する。   The erasing function unit 64 notifies the address conversion unit 68 to delete the association between the block and the logical address. Further, the erasing function unit 64 notifies the empty block management unit 66 that the block is empty. The free block management unit 66 notifies the free block management unit 67 for parallel writing of the free block for which the erasure process has been completed. The erase function unit 64 notifies the command interface unit 62 that the erase process has been completed. The command interface unit 62 notifies the host system that the erasure process has been completed.

次に、データ読出しの動作について説明する。
読出し機能部65は、コマンドインタフェース部62から読出しコマンドを受信すると、指定された論理アドレスをアドレス変換部68に通知する。アドレス変換部68は指定された論理アドレスをデバイスチップのブロック番号に変換し、読出し機能部65に通知する。読出し機能部65は、デバイスチップのブロック番号を指定して読出しコマンドをメモリインタフェース部69に送信する。
Next, the data reading operation will be described.
When the read function unit 65 receives a read command from the command interface unit 62, the read function unit 65 notifies the address conversion unit 68 of the designated logical address. The address conversion unit 68 converts the designated logical address into the block number of the device chip and notifies the read function unit 65 of it. The read function unit 65 designates the block number of the device chip and transmits a read command to the memory interface unit 69.

メモリインタフェース部69は読出しコマンドをデバイスチップに送信する。読出しコマンドを受信したデバイスチップは、指定されたブロックのデータを読出し、メモリインタフェース部69へ通知する。メモリインタフェース部69は、デバイスチップの読出し処理が完了したことを読出し機能部65に通知する。読出し機能部65は、読出し処理が完了したことをコマンドインタフェース部62に通知する。コマンドインタフェース部62は、読出したデータを上位システムに通知する。   The memory interface unit 69 transmits a read command to the device chip. The device chip that has received the read command reads the data of the designated block and notifies the memory interface unit 69 of it. The memory interface unit 69 notifies the read function unit 65 that the device chip read processing has been completed. The read function unit 65 notifies the command interface unit 62 that the read process has been completed. The command interface unit 62 notifies the upper system of the read data.

次に、空きブロック管理部66及び並列書込み用空きブロック管理部67における動作について説明する。   Next, operations in the empty block management unit 66 and the parallel writing empty block management unit 67 will be described.

図7は、実施の形態1に係る並列書込み用空きブロック管理テーブル71を示す図である。並列書込み用空きブロック管理テーブル71は、並列書込み数分のデバイスチップとそのブロック番号を1つの組として1以上の組を保存するテーブルである。並列書込み用空きブロック管理テーブル71の左端の番号72は、組の番号を示すインデックスである。各インデックスには、並列書込み数分のエントリが保存される。本実施の形態においては、並列書込み数が3のため、3個のエントリ73a〜cが保存されている。各エントリには、デバイスチップ番号74a〜cとブロック番号75a〜cが保存されている。デバイスチップ番号74a〜cは、デバイスチップを識別する識別子、ブロック番号75a〜cはブロックを識別する識別子である。   FIG. 7 is a diagram showing the parallel writing free block management table 71 according to the first embodiment. The parallel writing free block management table 71 is a table for storing one or more sets, each of which has a device chip and its block number corresponding to the number of parallel writes. The number 72 at the left end of the parallel writing free block management table 71 is an index indicating a set number. Each index stores as many entries as the number of parallel writes. In the present embodiment, since the number of parallel writes is 3, three entries 73a to 73c are stored. In each entry, device chip numbers 74a to 74c and block numbers 75a to 75c are stored. The device chip numbers 74a to 74c are identifiers for identifying device chips, and the block numbers 75a to 75c are identifiers for identifying blocks.

並列書込み用空きブロック管理テーブル71において、デバイスチップ番号74b〜c及びブロック番号75b〜cが「−」となっているのは、未登録であることを示す。例えば、インデックス7のエントリ1のデバイスチップ番号は1、ブロック番号は50が登録され、エントリ2及びエントリ3のデバイスチップ番号及びブロック番号は未登録である。なお、同じインデックスのエントリに同じデバイスチップの異なるブロック番号を登録することはできない。   In the parallel writing free block management table 71, the device chip numbers 74b to 74c and the block numbers 75b to 75c are "-", indicating that they are not registered. For example, the device chip number of entry 1 of index 7 is 1 and the block number of 50 is registered, and the device chip number and block number of entry 2 and entry 3 are not registered. Note that different block numbers of the same device chip cannot be registered in entries of the same index.

図8は、実施の形態1に係る空きブロック管理部66及び並列書込み用空きブロック管理部67における処理の流れを示すフローチャートである。
空きブロック管理部66は、消去機能部64から消去を完了したブロックが通知されるとステップS81より処理を開始する。ステップS81において、空きブロック管理部66は、当該ブロックを並列書込み用空きブロック管理部67に通知し、ステップS82へ進む。
FIG. 8 is a flowchart showing the flow of processing in the empty block management unit 66 and the parallel writing empty block management unit 67 according to the first embodiment.
The empty block management unit 66 starts processing from step S81 when notified by the erasing function unit 64 of a block that has been erased. In step S81, the empty block management unit 66 notifies the parallel writing empty block management unit 67 of the block, and the process proceeds to step S82.

ステップS82において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71に当該ブロックを登録することができる空きエントリがあるか探索する。ステップS82の詳細は、後述する。処理は、ステップS83へ進む。ステップS83において、並列書込み用空きブロック管理部67は、当該ブロックを並列書込み用空きブロック管理テーブル71に登録することができる場合、ステップS84へ進む。   In step S82, the parallel writing free block management unit 67 searches the parallel writing free block management table 71 for a free entry that can register the block. Details of step S82 will be described later. The process proceeds to step S83. In step S83, the parallel writing free block management unit 67 proceeds to step S84 if the block can be registered in the parallel writing free block management table 71.

ステップS84において、並列書込み用空きブロック管理部67は、当該ブロックを並列書込み用空きブロック管理テーブル71に登録し、ステップS85へ進む。ステップS85において、並列書込み用空きブロック管理部67は、当該ブロックを並列書込み用として使用するため、「使用」を空きブロック管理部66に通知する。ステップS87において、空きブロック管理部66は、ブロック管理テーブルにおいて当該ブロックを使用中として登録し、処理を終了する。   In step S84, the parallel writing free block management unit 67 registers the block in the parallel writing free block management table 71, and proceeds to step S85. In step S85, the parallel writing free block management unit 67 notifies the free block management unit 66 of “use” in order to use the block for parallel writing. In step S87, the free block management unit 66 registers the block as being used in the block management table, and ends the process.

ステップS83において、並列書込み用空きブロック管理部67は、当該ブロックを並列書込み用空きブロック管理テーブル71に登録することができない場合、ステップS86へ進む。ステップS86において、並列書込み用空きブロック管理部67は、当該ブロックを並列書込み用として使用しないため、「不使用」を空きブロック管理部66に通知する。ステップS88において、空きブロック管理部66は、空きブロック管理テーブルにおいて当該ブロックを空きとして登録し、処理を終了する。   In step S83, the parallel writing free block management unit 67 proceeds to step S86 if the block cannot be registered in the parallel writing free block management table 71. In step S86, the parallel writing free block management unit 67 notifies the free block management unit 66 of “not used” because the block is not used for parallel writing. In step S88, the empty block management unit 66 registers the block as empty in the empty block management table, and ends the process.

図9は、実施の形態1に係る並列書込み用空きブロック管理部67における並列書込み用空きブロック管理テーブル71の探索処理の流れを示すフローチャートである。図9のフローチャートは、図8のステップS82の処理の詳細を示す。並列書込み用空きブロック管理部67は、空きブロック管理部66から空きブロックを通知されると、ステップS91より処理を開始する。   FIG. 9 is a flowchart showing a flow of search processing of the parallel writing free block management table 71 in the parallel writing free block management unit 67 according to the first embodiment. The flowchart in FIG. 9 shows the details of the processing in step S82 in FIG. When the free block management unit 67 for parallel writing is notified of the free block from the free block management unit 66, the process starts from step S91.

通知された空きブロックがデバイスチップ#2のブロック番号80の場合の処理を説明する。ステップS91において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス1を参照する。並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス1には空きエントリがないため、処理はステップS93へ進む。ステップS93において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS94へ進む。   Processing when the notified empty block is the block number 80 of the device chip # 2 will be described. In step S91, the parallel writing free block management unit 67 refers to the index 1 of the parallel writing free block management table 71. Since there is no empty entry in index 1 of the parallel writing empty block management table 71, the parallel writing empty block management unit 67 proceeds to step S93. In step S93, the parallel writing free block management unit 67 has not searched all the indexes, and thus proceeds to step S94.

ステップS94において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS91へ進む。ステップS91において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス2を参照する。インデックス2からインデックス5まで空きエントリがないため、並列書込み用空きブロック管理部67は、インデックス1の場合と同様にステップS91、ステップS93及びステップS94の処理を繰り返す。   In step S94, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S91. In step S 91, the parallel writing free block management unit 67 refers to the index 2 of the parallel writing free block management table 71. Since there is no empty entry from index 2 to index 5, the parallel writing empty block management unit 67 repeats the processing of step S91, step S93 and step S94 as in the case of index 1.

ステップS91において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス6を参照する。インデックス6は空きエントリがあるため、処理はステップS92へ進む。ステップS92において、デバイスチップ#2はインデックス6のエントリ2に登録されているため、処理はステップS93へ進む。ステップS93において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS94へ進む。ステップS94において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS91へ進む。   In step S 91, the parallel writing free block management unit 67 refers to the index 6 of the parallel writing free block management table 71. Since index 6 has an empty entry, the process proceeds to step S92. In step S92, since device chip # 2 is registered in entry 2 of index 6, the process proceeds to step S93. In step S93, the parallel writing free block management unit 67 has not searched all the indexes, and thus proceeds to step S94. In step S94, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S91.

ステップS91において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス7を参照する。インデックス7には空きエントリがあるため、処理はステップS92へ進む。ステップS92において、デバイスチップ#2はインデックス7には登録されていないため、並列書込み用空きブロック管理部67は、インデックス7のエントリ2に空きブロックを登録可能である。並列書込み用空きブロック管理部67は、処理を終了する。   In step S <b> 91, the parallel writing free block management unit 67 refers to the index 7 of the parallel writing free block management table 71. Since there is an empty entry in index 7, the process proceeds to step S92. In step S92, since the device chip # 2 is not registered in the index 7, the parallel writing free block management unit 67 can register a free block in the entry 2 of the index 7. The parallel writing free block management unit 67 ends the processing.

図10は、実施の形態1に係る並列書込み用空きブロック管理テーブル101を示す図である。登録並列書込み用空きブロック管理テーブル101は、並列書込み用空きブロック管理テーブル71のインデックス7のエントリ2にデバイスチップ#2のブロック番号80を登録したテーブルである。図10において、網掛けで示した箇所がインデックス7のエントリ2である。デバイスチップ#2のブロック番号80は、並列書込み用の空きブロックとして利用されることとなる。   FIG. 10 is a diagram showing the parallel writing free block management table 101 according to the first embodiment. The registered parallel writing free block management table 101 is a table in which the block number 80 of the device chip # 2 is registered in the entry 2 of the index 7 of the parallel writing free block management table 71. In FIG. 10, the shaded portion is entry 2 of index 7. The block number 80 of the device chip # 2 is used as an empty block for parallel writing.

次に、図9のフローチャートについて、通知された空きブロックがデバイスチップ#1のブロック番号30の場合の処理を説明する。
ステップS91において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス1を参照する。並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス1には空きエントリがないため、処理はステップS93へ進む。ステップS93において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS94へ進む。
Next, processing in the case where the notified empty block is the block number 30 of the device chip # 1 will be described with reference to the flowchart of FIG.
In step S91, the parallel writing free block management unit 67 refers to the index 1 of the parallel writing free block management table 71. Since there is no empty entry in index 1 of the parallel writing empty block management table 71, the parallel writing empty block management unit 67 proceeds to step S93. In step S93, the parallel writing free block management unit 67 has not searched all the indexes, and thus proceeds to step S94.

ステップS94において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS91へ進む。ステップS91において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス2を参照する。インデックス2からインデックス5まで空きエントリがないため、並列書込み用空きブロック管理部67は、インデックス1の場合と同様にステップS91、ステップS93及びステップS94の処理を繰り返す。   In step S94, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S91. In step S 91, the parallel writing free block management unit 67 refers to the index 2 of the parallel writing free block management table 71. Since there is no empty entry from index 2 to index 5, the parallel writing empty block management unit 67 repeats the processing of step S91, step S93 and step S94 as in the case of index 1.

ステップS91において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス6を参照する。インデックス6は空きエントリがあるため、処理はステップS92へ進む。ステップS92において、デバイスチップ#1はインデックス6のエントリ1に登録されているため、処理はステップS93へ進む。ステップS93において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS94へ進む。ステップS94において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS91へ進む。   In step S 91, the parallel writing free block management unit 67 refers to the index 6 of the parallel writing free block management table 71. Since index 6 has an empty entry, the process proceeds to step S92. In step S92, since device chip # 1 is registered in entry 1 of index 6, the process proceeds to step S93. In step S93, the parallel writing free block management unit 67 has not searched all the indexes, and thus proceeds to step S94. In step S94, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S91.

ステップS91において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス7を参照する。インデックス7には空きエントリがあるため、処理はステップS92へ進む。ステップS92において、デバイスチップ#1はインデックス7のエントリ1に登録されているため、処理はステップS93へ進む。ステップS93において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みのため、処理を終了する。   In step S <b> 91, the parallel writing free block management unit 67 refers to the index 7 of the parallel writing free block management table 71. Since there is an empty entry in index 7, the process proceeds to step S92. In step S92, since device chip # 1 is registered in entry 1 of index 7, the process proceeds to step S93. In step S93, the parallel writing free block management unit 67 ends the process because all indexes have been searched.

デバイスチップ#1のブロック番号30は、並列書込み用空きブロック管理テーブル71には登録されない。デバイスチップ#1のブロック番号30は、空きブロック管理部66においてブロック毎に割当てられる空きブロックとして利用されることとなる。   The block number 30 of the device chip # 1 is not registered in the parallel writing free block management table 71. The block number 30 of the device chip # 1 is used as an empty block assigned to each block in the empty block management unit 66.

本実施の形態においては、並列書込み数が3の場合を示したが、並列書込み数は他の値でもよい。デバイスチップ数をNとした場合、並列書込み数はN以下の自然数である。並列書込み用空きブロック管理テーブルのエントリ数は並列書込み数と同じ値とすればよい。   In the present embodiment, the case where the number of parallel writes is 3 is shown, but the number of parallel writes may be another value. When the number of device chips is N, the number of parallel writes is a natural number equal to or less than N. The number of entries in the parallel write free block management table may be the same value as the number of parallel writes.

また、本実施の形態においては、並列書込み用空きブロック管理テーブル71のインデックス数を7としたが、他の値でもよい。並列書込みを要する入力データの通信頻度、及び1ブロック毎の割当てに必要なブロック数との比率を考慮し、データ記録装置60が予め決めておいてもよい。また、データ記録装置60がインデックス数の上限値及び下限値を決め、並列書込みを要する入力データの通信頻度、及び1ブロック毎の割当てに必要なブロック数との比率の変化に応じて変化させてもよい。   In the present embodiment, the number of indexes in the parallel writing free block management table 71 is set to 7, but other values may be used. The data recording device 60 may determine in advance in consideration of a communication frequency of input data that requires parallel writing and a ratio with the number of blocks necessary for allocation for each block. Further, the data recording device 60 determines the upper limit value and the lower limit value of the number of indexes, and changes it according to the change in the ratio of the communication frequency of input data requiring parallel writing and the number of blocks necessary for allocation for each block. Also good.

さらに、データ記録装置60は、並列書込み数が異なる複数の並列書込み用空きブロック管理部を保持し、デバイスチップに対して異なる並列書込み数でデータの書込みをするようにしてもよい。   Furthermore, the data recording device 60 may hold a plurality of parallel writing empty block management units having different numbers of parallel writing, and write data to the device chip with different numbers of parallel writing.

したがって、本実施の形態では、同一バス上に接続された複数の記録媒体にデータを並列に書込む書込み機能部63と、複数の記録媒体をそれぞれ分割した複数のブロックについてデータ書込み可能な空きブロックかどうかを空きブロック管理テーブルに登録する空きブロック管理部66と、空きブロック管理部66から通知された空きブロックについて並列書込み数分を1つの組として並列書込み用空きブロック管理テーブル71に登録し、書込み機能部63からの要求に応じて並列書込み用空きブロック管理テーブル71から並列書込み数分の空きブロックを取得して、通知する並列書込み用空きブロック管理部67と、を備え、並列書込み用空きブロック管理部67は、記録媒体の識別子とブロックを識別するブロック番号とを対応付け、並列書込み数分の異なる記録媒体の空きブロックを1つの組として並列書込み用空きブロック管理テーブル71に登録し、空きブロック管理部66より空きブロックが通知されると、並列書込み用空きブロック管理テーブル71の並列書込み数分の空きブロックが登録されていない組に当該空きブロックと同じ記録媒体のブロックが登録されていない場合、当該空きブロックを登録するので、複数個のNANDフラッシュメモリに対し並列にデータを書込む場合に処理時間を短縮し、データの欠損を生じさせないようにすることができる。   Therefore, in the present embodiment, the writing function unit 63 that writes data in parallel to a plurality of recording media connected on the same bus, and an empty block in which data can be written to a plurality of blocks obtained by dividing the plurality of recording media, respectively. Whether or not the empty block notified from the empty block management unit 66 is registered in the parallel write empty block management table 71 as one set for the number of parallel writes. A parallel writing free block management unit 67 that acquires and notifies the free blocks for the number of parallel writings from the parallel writing free block management table 71 in response to a request from the writing function unit 63, The block management unit 67 associates the identifier of the recording medium with the block number for identifying the block. When the free blocks of different recording media corresponding to the number of parallel writes are registered as one set in the parallel write free block management table 71 and the free block is notified from the free block management unit 66, the parallel write free block management table When a block of the same recording medium as the empty block is not registered in a group in which empty blocks corresponding to the number of parallel writes of 71 are not registered, the empty block is registered, so that a plurality of NAND flash memories are connected in parallel. When data is written, the processing time can be shortened and data loss can be prevented.

並列書込み用空きブロック管理テーブル71を1度探索すれば並列書込みに適した空きブロックの組を取出すことができるため、従来の空きブロック管理部66から1つの空きブロックを取出すのと同じ処理量で並列書込み処理を行うことができる。よって、連続する入力データを欠損なく記録することができる。   By searching the empty block management table 71 for parallel writing once, a set of empty blocks suitable for parallel writing can be taken out, so the processing amount is the same as that for taking out one empty block from the conventional empty block management unit 66. Parallel write processing can be performed. Therefore, continuous input data can be recorded without loss.

実施の形態2.
以上の実施の形態1では、並列書込み用空きブロック管理部67が並列書込み用空きブロック管理テーブルに空きエントリがあるか各インデックスの各エントリを探索するようにしたものであるが、本実施の形態においては、並列書込み用空きブロック管理テーブルに割当て済みブロック数を付与し、空きエントリがあるか探索する実施の形態を示す。
なお、本実施の形態において、並列書込み用空きブロック管理部67以外は実施の形態1と同じであるため、説明を割愛する。
本実施の形態において、メモリバス61に接続された全てのNANDフラッシュメモリのデバイスチップは5個、並列書込み数は3とする。
Embodiment 2. FIG.
In the first embodiment described above, the parallel write free block management unit 67 searches each entry of each index for a free entry in the parallel write free block management table. Shows an embodiment in which the number of allocated blocks is assigned to the parallel writing free block management table to search for a free entry.
In the present embodiment, since the blocks other than the parallel writing free block management unit 67 are the same as those in the first embodiment, description thereof will be omitted.
In the present embodiment, it is assumed that the number of device chips of all NAND flash memories connected to the memory bus 61 is 5, and the number of parallel writes is 3.

図11は、実施の形態2に係る並列書込み用空きブロック管理テーブル111を示す図である。112はインデックスを示す。113は、各インデックス内での割当て済みブロック数を示す。114a〜eは各デバイスチップに対応したエントリである。エントリの数は、メモリバス61に接続されたデバイスチップの個数に対応し、5個である。114aはデバイスチップ#1用のエントリを示す。114bはデバイスチップ#2用のエントリを示す。114cはデバイスチップ#3用のエントリを示す。114dはデバイスチップ#4用のエントリを示す。114eはデバイスチップ#5用のエントリを示す。   FIG. 11 is a diagram showing the parallel writing free block management table 111 according to the second embodiment. Reference numeral 112 denotes an index. 113 indicates the number of allocated blocks in each index. 114a to 114e are entries corresponding to the respective device chips. The number of entries corresponds to the number of device chips connected to the memory bus 61 and is five. Reference numeral 114a denotes an entry for the device chip # 1. Reference numeral 114b denotes an entry for the device chip # 2. Reference numeral 114c denotes an entry for the device chip # 3. Reference numeral 114d denotes an entry for the device chip # 4. Reference numeral 114e denotes an entry for the device chip # 5.

割当て済みブロック数は、各インデックスにおいてブロック番号が登録されたエントリ数を示す。割当て済みブロック数は、並列書込み数以下の自然数である。各エントリには、空きブロックの番号が登録される。ブロック番号が「−」の場合、未登録であることを示す。   The number of allocated blocks indicates the number of entries in which block numbers are registered in each index. The number of allocated blocks is a natural number equal to or less than the number of parallel writes. In each entry, an empty block number is registered. When the block number is “−”, it indicates that it is not registered.

図12は、実施の形態2に係る並列書込み用空きブロック管理部67における並列書込み用空きブロック管理テーブル111の探索処理の流れを示すフローチャートである。図12のフローチャートは、図8のステップS82の処理の詳細を示す。並列書込み用空きブロック管理部67は、空きブロック管理部66から空きブロックを通知されると、ステップS121より処理を開始する。   FIG. 12 is a flowchart showing a flow of search processing of the parallel writing free block management table 111 in the parallel writing free block management unit 67 according to the second embodiment. The flowchart in FIG. 12 shows details of the processing in step S82 in FIG. When the empty block management unit 67 for parallel writing is notified of the empty block from the empty block management unit 66, the process starts from step S121.

通知された空きブロックがデバイスチップ#2のブロック番号80の場合の処理を説明する。ステップS121において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル111のインデックス1を参照する。インデックス1の割当て済みブロック数は3である。並列書込み用空きブロック管理部67は、インデックス1の割当て済みブロック数が並列書込み数より小さくないため、処理はステップS123へ進む。ステップS123において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS124へ進む。   Processing when the notified empty block is the block number 80 of the device chip # 2 will be described. In step S121, the parallel writing free block management unit 67 refers to the index 1 of the parallel writing free block management table 111. The number of allocated blocks of index 1 is 3. Since the number of allocated blocks of index 1 is not smaller than the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S123. In step S123, the parallel writing free block management unit 67 has not searched all the indexes, and thus proceeds to step S124.

ステップS124において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS121へ進む。ステップS121において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル111のインデックス2を参照する。インデックス2からインデックス5まで、割当て済みブロック数が並列書込み数より小さくないため、並列書込み用空きブロック管理部67は、インデックス1の場合と同様にステップS121、ステップS123及びステップS124の処理を繰り返す。   In step S124, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S121. In step S121, the parallel writing free block management unit 67 refers to the index 2 of the parallel writing free block management table 111. Since the number of allocated blocks from index 2 to index 5 is not smaller than the number of parallel writes, the parallel write free block management unit 67 repeats the processing of step S121, step S123, and step S124 as in the case of index 1.

ステップS121において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス6を参照する。インデックス6の割当て済みブロック数は並列書込み数より小さいため、処理はステップS122へ進む。ステップS122において、デバイスチップ#2用のエントリ2にはすでに他のブロック番号が登録されているため、処理はステップS123へ進む。ステップS123において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS124へ進む。ステップS124において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS121へ進む。   In step S121, the parallel write free block management unit 67 refers to the index 6 of the parallel write free block management table 71. Since the number of allocated blocks of index 6 is smaller than the number of parallel writes, the process proceeds to step S122. In step S122, since another block number has already been registered in entry 2 for device chip # 2, the process proceeds to step S123. In step S123, the parallel writing free block management unit 67 has not searched all the indexes, and thus proceeds to step S124. In step S124, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S121.

ステップS121において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル71のインデックス7を参照する。インデックス7の割当て済みブロック数は並列書込み数より小さいため、処理はステップS122へ進む。ステップS122において、デバイスチップ#2用のエントリ2は空いているため、並列書込み用空きブロック管理部67は、インデックス7のエントリ2に空きブロックを登録可能である。並列書込み用空きブロック管理部67は、処理を終了する。   In step S121, the parallel writing free block management unit 67 refers to the index 7 of the parallel writing free block management table 71. Since the number of allocated blocks of index 7 is smaller than the number of parallel writes, the process proceeds to step S122. In step S122, since the entry 2 for the device chip # 2 is free, the parallel writing free block management unit 67 can register a free block in the entry 2 of the index 7. The parallel writing free block management unit 67 ends the processing.

図13は、実施の形態2に係る並列書込み用空きブロック管理テーブル131を示す図である。並列書込み用空きブロック管理テーブル131は、並列書込み用空きブロック管理テーブル111のインデックス7のエントリ2にデバイスチップ#2のブロック番号80が登録されたテーブルである。図13において、網掛けした箇所がインデックス7のエントリ2である。デバイスチップ#2のブロック番号80は、並列書込み用の空きブロックとして利用されることとなる。   FIG. 13 is a diagram showing the parallel write free block management table 131 according to the second embodiment. The parallel writing free block management table 131 is a table in which the block number 80 of the device chip # 2 is registered in the entry 2 of the index 7 of the parallel writing free block management table 111. In FIG. 13, the shaded part is entry 2 of index 7. The block number 80 of the device chip # 2 is used as an empty block for parallel writing.

次に、図12のフローチャートについて、通知された空きブロックがデバイスチップ#1のブロック番号30の場合の処理を説明する。
ステップS121において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル111のインデックス1を参照する。インデックス1の割当て済みブロック数は3である。並列書込み用空きブロック管理部67は、インデックス1の割当て済みブロック数が並列書込み数より小さくないため、処理はステップS123へ進む。ステップS123において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS124へ進む。
Next, processing in the case where the notified empty block is the block number 30 of the device chip # 1 will be described with reference to the flowchart of FIG.
In step S121, the parallel writing free block management unit 67 refers to the index 1 of the parallel writing free block management table 111. The number of allocated blocks of index 1 is 3. Since the number of allocated blocks of index 1 is not smaller than the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S123. In step S123, the parallel writing free block management unit 67 has not searched all the indexes, and thus proceeds to step S124.

ステップS124において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS121へ進む。ステップS121において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル111のインデックス2を参照する。インデックス2からインデックス5まで、割当て済みブロック数が並列書込み数より小さくないため、並列書込み用空きブロック管理部67は、インデックス1の場合と同様にステップS121、ステップS123及びステップS124の処理を繰り返す。   In step S124, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S121. In step S121, the parallel writing free block management unit 67 refers to the index 2 of the parallel writing free block management table 111. Since the number of allocated blocks from index 2 to index 5 is not smaller than the number of parallel writes, the parallel write free block management unit 67 repeats the processing of step S121, step S123, and step S124 as in the case of index 1.

ステップS121において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル111のインデックス6を参照する。インデックス6の割当て済みブロック数は並列書込み数より小さいため、処理はステップS122へ進む。ステップS122において、デバイスチップ#1用のエントリ1にはすでに他のブロック番号が登録されているため、処理はステップS123へ進む。ステップS123において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS124へ進む。ステップS124において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS121へ進む。   In step S121, the parallel writing free block management unit 67 refers to the index 6 of the parallel writing free block management table 111. Since the number of allocated blocks of index 6 is smaller than the number of parallel writes, the process proceeds to step S122. In step S122, since another block number is already registered in entry 1 for device chip # 1, the process proceeds to step S123. In step S123, the parallel writing free block management unit 67 has not searched all the indexes, and thus proceeds to step S124. In step S124, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S121.

ステップS121において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル111のインデックス7を参照する。インデックス7の割当て済みブロック数は並列書込み数より小さいため、処理はステップS122へ進む。ステップS122において、デバイスチップ#1用のエントリ1にはすでに他のブロック番号が登録されているため、処理はステップS123へ進む。ステップS123において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みのため、処理を終了する。   In step S121, the parallel writing free block management unit 67 refers to the index 7 of the parallel writing free block management table 111. Since the number of allocated blocks of index 7 is smaller than the number of parallel writes, the process proceeds to step S122. In step S122, since another block number is already registered in entry 1 for device chip # 1, the process proceeds to step S123. In step S123, the parallel writing free block management unit 67 ends the process because all indexes have been searched.

デバイスチップ#1のブロック番号30は、並列書込み用空きブロック管理テーブル111には登録されない。デバイスチップ#1のブロック番号30は、空きブロック管理部66においてブロック毎に割当てられる空きブロックとして利用されることとなる。   The block number 30 of the device chip # 1 is not registered in the parallel writing free block management table 111. The block number 30 of the device chip # 1 is used as an empty block assigned to each block in the empty block management unit 66.

したがって、本実施の形態では、同一バス上に接続された複数の記録媒体にデータを並列に書込む書込み機能部63と、複数の記録媒体をそれぞれ分割した複数のブロックについてデータ書込み可能な空きブロックかどうかを空きブロック管理テーブルに登録する空きブロック管理部66と、空きブロック管理部66から通知された空きブロックについて並列書込み数分を1つの組として並列書込み用空きブロック管理テーブル111に登録し、書込み機能部63からの要求に応じて並列書込み用空きブロック管理テーブル111から並列書込み数分の空きブロックを取得して、通知する並列書込み用空きブロック管理部67と、を備え、並列書込み用空きブロック管理部67は、記録媒体の識別子及びブロック番号と、1つの組に割当てられた割当て済みブロック数とを対応付け、並列書込み数分の異なる記録媒体の空きブロックを1つの組として並列書込み用空きブロック管理テーブル111に登録し、空きブロック管理部66より空きブロックが通知されると、割当て済みブロック数が並列書込み数より小さい組に、当該空きブロックと同じ記録媒体のブロックが登録されていない場合、当該空きブロックを登録するので、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル111の各インデックスの割当て済みブロック数とデバイスチップ番号に対応したエントリのみ参照すれば、空きブロックを登録することができるか判断することができる。よって、並列書込み用空きブロック管理部67の処理量を抑制することができる。   Therefore, in the present embodiment, the writing function unit 63 that writes data in parallel to a plurality of recording media connected on the same bus, and an empty block in which data can be written to a plurality of blocks obtained by dividing the plurality of recording media, respectively. A free block management unit 66 for registering in the free block management table, and a free block notified from the free block management unit 66, the number of parallel writes is registered as one set in the free block management table 111 for parallel writing, A parallel writing free block management unit 67 that acquires and notifies the free blocks for the number of parallel writings from the parallel writing free block management table 111 in response to a request from the writing function unit 63, The block management unit 67 assigns the identifier and block number of the recording medium to one set. The number of allocated blocks is associated with each other, and free blocks of different recording media corresponding to the number of parallel writes are registered as one set in the parallel write free block management table 111, and the free block management unit 66 notifies the free blocks. If the block of the same recording medium as the empty block is not registered in the set in which the number of allocated blocks is smaller than the number of parallel writes, the empty block is registered. By referring only to the entries corresponding to the number of allocated blocks and the device chip number of each index in the free block management table 111 for writing, it is possible to determine whether a free block can be registered. Therefore, the processing amount of the parallel writing free block management unit 67 can be suppressed.

実施の形態3.
以上の実施の形態2では、並列書込み用空きブロック管理テーブルに割当て済みブロック数を付与し、空きエントリがあるか探索するようにしたものであるが、本実施の形態においては、ウェアレベリングを行う実施の形態を示す。ウェアレベリングとは、消去回数を均等化することである。メモリ素子は、データの書込み及び消去を繰り返すと劣化し、データを書込むことができなくなる。特定のブロックにデータの書込み及び消去が集中して書込みができなくなってしまうことを防ぐため、消去回数を均等化することが行われている。
Embodiment 3 FIG.
In the second embodiment described above, the number of allocated blocks is assigned to the parallel writing free block management table to search for a free entry. In this embodiment, wear leveling is performed. Embodiments are shown. Wear leveling is to equalize the number of erasures. The memory element deteriorates when data writing and erasing are repeated, and data cannot be written. In order to prevent data writing and erasing from being concentrated on a specific block and making it impossible to perform writing, the number of times of erasing is equalized.

本実施の形態において、メモリバス61に接続された全てのNANDフラッシュメモリのデバイスチップは5個、並列書込み数は3とする。   In the present embodiment, it is assumed that the number of device chips of all NAND flash memories connected to the memory bus 61 is 5, and the number of parallel writes is 3.

図14は、実施の形態3に係る並列書込み用空きブロック管理テーブル141を示す図である。142は、並列書込み用空きブロック管理テーブル141のインデックスを示す。143は、各インデックス内における割当て済みブロック数を示す。割当て済みブロック数は、並列書込み数以下の自然数である。144は、各インデックス内に登録されている空きブロックの消去回数の平均値である。割当て済みブロック数が並列書込み数と等しい場合のみ、消去回数の平均値に値が登録される。   FIG. 14 is a diagram showing the parallel writing free block management table 141 according to the third embodiment. Reference numeral 142 denotes an index of the parallel writing free block management table 141. Reference numeral 143 denotes the number of allocated blocks in each index. The number of allocated blocks is a natural number equal to or less than the number of parallel writes. 144 is an average value of the number of times of erasure of empty blocks registered in each index. Only when the number of allocated blocks is equal to the number of parallel writes, a value is registered in the average value of the number of erasures.

145a〜eは各デバイスチップに対応したエントリである。エントリの数は、メモリバス61に接続されたデバイスチップの個数に対応し、5個である。145aはデバイスチップ#1用のエントリを示す。145bはデバイスチップ#2用のエントリを示す。145cはデバイスチップ#3用のエントリを示す。145dはデバイスチップ#4用のエントリを示す。145eはデバイスチップ#5用のエントリを示す。   Reference numerals 145a to 145e denote entries corresponding to the respective device chips. The number of entries corresponds to the number of device chips connected to the memory bus 61 and is five. Reference numeral 145a denotes an entry for the device chip # 1. Reference numeral 145b denotes an entry for the device chip # 2. Reference numeral 145c denotes an entry for the device chip # 3. Reference numeral 145d denotes an entry for the device chip # 4. Reference numeral 145e denotes an entry for the device chip # 5.

各エントリには、それぞれ対応したデバイスチップの空きブロック番号及び当該ブロックの消去回数が登録される。146a〜eは、各エントリの空きブロック番号を示す。147a〜eは、各エントリの当該ブロックの消去回数を示す。「−」は値が登録されていないことを示す。   In each entry, the empty block number of the corresponding device chip and the erase count of the block are registered. Reference numerals 146a to 146e indicate empty block numbers of the entries. Reference numerals 147a to 147e indicate the number of times of erasing the corresponding block of each entry. “-” Indicates that no value is registered.

図15は、実施の形態3に係る空きブロック管理部66及び並列書込み用空きブロック管理部67における処理の流れを示すフローチャートである。
空きブロック管理部66は、消去機能部64から消去を完了したブロックが通知されるとステップS150より処理を開始する。通知されたブロックをブロックXとする。ステップS150において、空きブロック管理部66は、ブロックXを並列書込み用空きブロック管理部67に通知し、ステップS151へ進む。
FIG. 15 is a flowchart showing the flow of processing in the empty block management unit 66 and the parallel writing empty block management unit 67 according to the third embodiment.
The empty block management unit 66 starts processing from step S150 when notified from the erasing function unit 64 of a block that has been erased. Let the notified block be block X. In step S150, the empty block management unit 66 notifies the parallel writing empty block management unit 67 of the block X, and the process proceeds to step S151.

ステップS151において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141にブロックXを登録することができるエントリがあるか探索し、登録可能であれば登録する。ステップS151の処理の詳細は、後述する。ステップS151の処理の結果、並列書込み用空きブロック管理テーブル141に登録できない空きブロックが残る場合がある。処理は、ステップS152へ進む。ステップS152において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141に登録できない空きブロックがある場合、ステップS153へ進む。   In step S151, the parallel write free block management unit 67 searches the parallel write free block management table 141 for an entry that can register the block X, and registers it if it can be registered. Details of the processing in step S151 will be described later. As a result of the processing in step S151, there may be a case where a free block that cannot be registered remains in the parallel write free block management table 141. The process proceeds to step S152. In step S152, if there is a free block that cannot be registered in the parallel write free block management table 141 in step S152, the parallel write free block management unit 67 proceeds to step S153.

ステップS153において、並列書込み用空きブロック管理部67は、空きブロックがブロックXの場合、ステップS154へ進む。ステップS154において、並列書込み用空きブロック管理部67は、ブロックXを並列書込み用として使用しないため、「不使用」を空きブロック管理部66に通知し、ステップS155へ進む。ステップS155において、空きブロック管理部66は、空きブロック管理テーブルにおいてブロックXを空きとして登録し、処理を終了する。   In step S153, if the empty block is the block X, the parallel writing empty block management unit 67 proceeds to step S154. In step S154, since the parallel writing free block management unit 67 does not use the block X for parallel writing, it notifies the free block management unit 66 of “not used”, and proceeds to step S155. In step S155, the empty block management unit 66 registers the block X as empty in the empty block management table, and ends the process.

ステップS153において、並列書込み用空きブロック管理部67は、空きブロックが空きブロックXでない場合、ステップS156へ進む。空きブロックをブロックYとする。ステップS156において、並列書込み用空きブロック管理部67は、ブロックYを並列書込み用として使用しないため、「不使用」を空きブロック管理部66に通知する。また、並列書込み用空きブロック管理部67は、ブロックXを並列書込み用として使用するため、「使用」を空きブロック管理部66に通知し、ステップS157へ進む。   In step S153, if the empty block for parallel writing 67 is not the empty block X, the parallel writing empty block management unit 67 proceeds to step S156. Let the empty block be block Y. In step S156, the parallel writing free block management unit 67 notifies the free block management unit 66 of “not used” because the block Y is not used for parallel writing. In addition, the parallel writing free block management unit 67 notifies the free block management unit 66 of “use” in order to use the block X for parallel writing, and proceeds to step S157.

ステップS157において、空きブロック管理部66は、ブロック管理テーブルにおいてブロックYを空きとして登録し、ステップS158へ進む。ステップS158において、空きブロック管理部66は、空きブロック管理テーブルにおいてブロックXを使用中として登録し、処理を終了する。   In step S157, the empty block management unit 66 registers the block Y as empty in the block management table, and proceeds to step S158. In step S158, the empty block management unit 66 registers the block X as being used in the empty block management table, and ends the process.

ステップS152において、並列書込み用空きブロック管理部67は、空きブロックがない場合、ステップS159へ進む。ステップS159において、並列書込み用空きブロック管理部67は、ブロックXを並列書込み用として使用するため、「使用」を空きブロック管理部66に通知し、ステップS158へ進む。ステップS158において、空きブロック管理部66は、空きブロック管理テーブルにおいてブロックXを使用中として登録し、処理を終了する。   In step S152, when there is no empty block, the parallel writing empty block management unit 67 proceeds to step S159. In step S159, the parallel writing free block management unit 67 notifies the free block management unit 66 of “use” in order to use the block X for parallel writing, and proceeds to step S158. In step S158, the empty block management unit 66 registers the block X as being used in the empty block management table, and ends the process.

図16は、実施の形態3に係る並列書込み用空きブロック管理部67における並列書込み用空きブロック管理テーブル141の探索処理の流れを示すフローチャートである。図16のフローチャートは、図15のステップS151の処理の詳細を示す。並列書込み用空きブロック管理部67は、空きブロック管理部66から空きブロックを通知されると、ステップS161より処理を開始する。   FIG. 16 is a flowchart showing a flow of search processing for the parallel writing free block management table 141 in the parallel writing free block management unit 67 according to the third embodiment. The flowchart in FIG. 16 shows details of the process in step S151 in FIG. When the empty block management unit 67 for parallel writing is notified of the empty block from the empty block management unit 66, the process starts from step S161.

ステップS161において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141のインデックス1を参照する。並列書込み用空きブロック管理部67は、インデックス1の割当て済みブロック数と並列書込み数が等しい場合、ステップS162へ進む。並列書込み用空きブロック管理部67は、インデックス1の割当て済みブロック数と並列書込み数が等しくない場合、ステップS163へ進む。   In step S161, the parallel writing free block management unit 67 refers to the index 1 of the parallel writing free block management table 141. When the number of allocated blocks of index 1 is equal to the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S162. If the number of allocated blocks of index 1 is not equal to the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S163.

ステップS162において、並列書込み用空きブロック管理部67は、消去回数の平均値を参照する。消去回数の平均値が空きブロックの消去回数より大きい場合、ステップS163へ進む。消去回数の平均値が空きブロックの消去回数より大きくない場合、ステップS166へ進む。ステップS163において、並列書込み用空きブロック管理部67は、空きブロックのデバイスチップ用のエントリにすでに登録されている場合、ステップS164へ進む。   In step S162, the parallel writing free block management unit 67 refers to the average value of the number of erasures. If the average value of the number of erases is larger than the number of empty blocks erased, the process proceeds to step S163. If the average value of the erase count is not larger than the erase count of the empty block, the process proceeds to step S166. In step S163, the parallel writing free block management unit 67 proceeds to step S164 if it is already registered in the device block entry of the free block.

ステップS164において、並列書込み用空きブロック管理部67は、登録済みのブロックの消去回数が空きブロックの消去回数より大きい場合、ステップS165へ進む。登録済みのブロックの消去回数が空きブロックの消去回数より大きくない場合、ステップS166へ進む。ステップS165において、並列書込み用空きブロック管理部67は、登録済みのブロックと空きブロックを入れ替え、ステップS166へ進む。ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みの場合、処理を終了する。   In step S164, the parallel writing free block management unit 67 proceeds to step S165 when the erase count of the registered block is larger than the erase count of the empty block. When the erase count of the registered block is not larger than the erase count of the empty block, the process proceeds to step S166. In step S165, the parallel writing free block management unit 67 replaces the registered block with the free block, and the process proceeds to step S166. In step S166, the parallel writing free block management unit 67 ends the process when all the indexes have been searched.

ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みでない場合、ステップS167へ進む。ステップS167において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS161へ進む。   In step S166, the parallel writing free block management unit 67 proceeds to step S167 if not all indexes have been searched. In step S167, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S161.

ステップS163において、並列書込み用空きブロック管理部67は、空きブロックのデバイスチップ用のエントリにすでに登録されていない場合、空きブロックを登録し、処理を終了する。   In step S163, the parallel writing free block management unit 67 registers a free block if it is not already registered in the device chip entry of the free block, and ends the process.

通知された空きブロックがデバイスチップ#1のブロック番号30の場合の処理を説明する。消去回数は45回とする。ステップS161において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141のインデックス1を参照する。インデックス1の割当て済みブロック数は3である。並列書込み用空きブロック管理部67は、インデックス1の割当て済みブロック数が並列書込み数と等しいため、処理はステップS162へ進む。   A process when the notified empty block is the block number 30 of the device chip # 1 will be described. The number of erases is 45. In step S161, the parallel writing free block management unit 67 refers to the index 1 of the parallel writing free block management table 141. The number of allocated blocks of index 1 is 3. Since the number of allocated blocks of index 1 is equal to the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S162.

ステップS162において、並列書込み用空きブロック管理部67は、消去回数の平均値を参照する。消去回数の平均値41は、空きブロックの消去回数45より大きくないため、処理はステップS166へ進む。ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS167へ進む。ステップS167において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS161へ進む。   In step S162, the parallel writing free block management unit 67 refers to the average value of the number of erasures. Since the average value 41 of erasure times is not larger than the erasure number 45 of empty blocks, the process proceeds to step S166. In step S166, the parallel writing free block management unit 67 proceeds to step S167 because not all indexes have been searched. In step S167, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S161.

ステップS161において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141のインデックス2を参照する。インデックス2の割当て済みブロック数は3である。並列書込み用空きブロック管理部67は、インデックス2の割当て済みブロック数が並列書込み数と等しいため、処理はステップS162へ進む。ステップS162において、並列書込み用空きブロック管理部67は、消去回数の平均値を参照する。消去回数の平均値59は、空きブロックの消去回数45より大きいため、処理はステップS163へ進む。   In step S161, the parallel writing free block management unit 67 refers to the index 2 of the parallel writing free block management table 141. The number of allocated blocks of index 2 is 3. Since the number of allocated blocks of index 2 is equal to the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S162. In step S162, the parallel writing free block management unit 67 refers to the average value of the number of erasures. Since the average value 59 of erase times is larger than the erase number 45 of empty blocks, the process proceeds to step S163.

ステップS163において、並列書込み用空きブロック管理部67は、インデックス2のエントリ1に登録があるため、ステップS164へ進む。ステップS164において、並列書込み用空きブロック管理部67は、デバイスチップ#1用のエントリ1の消去回数を参照する。エントリ1の消去回数45は、空きブロックの消去回数45より大きくないため、処理はステップS166へ進む。ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS167へ進む。ステップS167において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS161へ進む。   In step S163, the parallel write free block management unit 67 proceeds to step S164 because entry 1 of index 2 is registered. In step S164, the parallel writing free block management unit 67 refers to the number of erasures of the entry 1 for the device chip # 1. Since the erase count 45 of entry 1 is not larger than the erase count 45 of empty blocks, the process proceeds to step S166. In step S166, the parallel writing free block management unit 67 proceeds to step S167 because not all indexes have been searched. In step S167, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S161.

ステップS161において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル131のインデックス3を参照する。インデックス3の割当て済みブロック数は3である。並列書込み用空きブロック管理部67は、インデックス3の割当て済みブロック数が並列書込み数と等しいため、処理はステップS162へ進む。   In step S161, the parallel writing free block management unit 67 refers to the index 3 of the parallel writing free block management table 131. The number of allocated blocks of index 3 is 3. Since the number of allocated blocks of index 3 is equal to the number of parallel writes, the parallel write free block management unit 67 proceeds to step S162.

ステップS162において、並列書込み用空きブロック管理部67は、消去回数の平均値を参照する。消去回数の平均値50は、空きブロックの消去回数45より大きいため、処理はステップS163へ進む。ステップS163において、並列書込み用空きブロック管理部67は、インデックス3のエントリ1に登録があるため、ステップS164へ進む。ステップS164において、並列書込み用空きブロック管理部67は、デバイスチップ#1用のエントリ1の消去回数を参照する。エントリ1の消去回数60は、空きブロックの消去回数45より大きいため、ステップS165へ進む。   In step S162, the parallel writing free block management unit 67 refers to the average value of the number of erasures. Since the average value 50 of the erase count is larger than the erase count 45 of empty blocks, the process proceeds to step S163. In step S163, the parallel writing free block management unit 67 proceeds to step S164 because entry 1 of index 3 is registered. In step S164, the parallel writing free block management unit 67 refers to the number of erasures of the entry 1 for the device chip # 1. Since the erase count 60 of entry 1 is larger than the empty block erase count 45, the process advances to step S165.

ステップS165において、並列書込み用空きブロック管理部67は、インデックス3のエントリ1に登録されているブロック番号35と通知された空きブロックを入れ替える。また、並列書込み用空きブロック管理部67は、エントリ3とエントリ5とブロック番号30の消去回数の平均値を算出する。並列書込み用空きブロック管理部67は、算出した消去回数の平均値45を登録し、ステップS166へ進む。ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS167へ進む。ステップS167において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS161へ進む。   In step S165, the parallel writing free block management unit 67 replaces the notified free block with the block number 35 registered in the entry 1 of the index 3. The parallel writing free block management unit 67 calculates the average value of the number of times of erasure of the entry 3, the entry 5, and the block number 30. The parallel writing free block management unit 67 registers the average value 45 of the calculated number of erasures and proceeds to step S166. In step S166, the parallel writing free block management unit 67 proceeds to step S167 because not all indexes have been searched. In step S167, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S161.

並列書込み用空きブロック管理部67は、空きブロックをデバイスチップ#1のブロック番号35、消去回数60として、処理を続ける。ステップS161において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル131のインデックス4を参照する。インデックス4の割当て済みブロック数は3である。並列書込み用空きブロック管理部67は、インデックス4の割当て済みブロック数が並列書込み数と等しいため、処理はステップS162へ進む。   The parallel writing vacant block management unit 67 continues the processing by setting the vacant block as the block number 35 of the device chip # 1 and the erasure count 60. In step S161, the parallel writing free block management unit 67 refers to the index 4 of the parallel writing free block management table 131. The number of allocated blocks of index 4 is 3. Since the number of allocated blocks of index 4 is equal to the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S162.

ステップS162において、並列書込み用空きブロック管理部67は、消去回数の平均値を参照する。消去回数の平均値33は、空きブロックの消去回数60より大きくないため、処理はステップS166へ進む。ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS167へ進む。ステップS167において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS161へ進む。   In step S162, the parallel writing free block management unit 67 refers to the average value of the number of erasures. Since the average value 33 of the erase count is not larger than the blank block erase count 60, the process proceeds to step S166. In step S166, the parallel writing free block management unit 67 proceeds to step S167 because not all indexes have been searched. In step S167, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S161.

ステップS161において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141のインデックス5を参照する。インデックス5の割当て済みブロック数は3である。並列書込み用空きブロック管理部67は、インデックス5の割当て済みブロック数が並列書込み数と等しいため、処理はステップS162へ進む。   In step S161, the parallel writing free block management unit 67 refers to the index 5 of the parallel writing free block management table 141. The number of allocated blocks of index 5 is 3. Since the number of allocated blocks of index 5 is equal to the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S162.

ステップS162において、並列書込み用空きブロック管理部67は、消去回数の平均値を参照する。消去回数の平均値42は、空きブロックの消去回数60より大きくないため、処理はステップS166へ進む。ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS167へ進む。ステップS167において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS161へ進む。   In step S162, the parallel writing free block management unit 67 refers to the average value of the number of erasures. Since the average value 42 of the erase count is not larger than the blank block erase count 60, the process proceeds to step S166. In step S166, the parallel writing free block management unit 67 proceeds to step S167 because not all indexes have been searched. In step S167, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S161.

ステップS161において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141のインデックス6を参照する。インデックス6の割当て済みブロック数は2である。並列書込み用空きブロック管理部67は、インデックス6の割当て済みブロック数が並列書込み数と等しくないため、処理はステップS163へ進む。   In step S161, the parallel writing free block management unit 67 refers to the index 6 of the parallel writing free block management table 141. The number of allocated blocks of index 6 is 2. Since the number of allocated blocks of index 6 is not equal to the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S163.

ステップS163において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141のインデックス6のエントリ1に登録があるため、ステップS164へ進む。ステップS164において、並列書込み用空きブロック管理部67は、デバイスチップ#1用のエントリ1の消去回数を参照する。エントリ1の消去回数70は、空きブロックの消去回数60より大きいため、ステップS165へ進む。   In step S163, the parallel writing free block management unit 67 is registered in the entry 1 of the index 6 of the parallel writing free block management table 141, and thus proceeds to step S164. In step S164, the parallel writing free block management unit 67 refers to the number of erasures of the entry 1 for the device chip # 1. Since the erase count 70 of entry 1 is larger than the empty block erase count 60, the process advances to step S165.

ステップS165において、並列書込み用空きブロック管理部67は、インデックス6のエントリ1に登録されているブロック番号22と空きブロックを入れ替え、ステップS166へ進む。ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みではないため、ステップS167へ進む。ステップS167において、並列書込み用空きブロック管理部67は、参照するインデックスをインクリメントし、ステップS161へ進む。   In step S165, the parallel writing free block management unit 67 replaces the block number 22 registered in the entry 1 of the index 6 with the free block, and the process proceeds to step S166. In step S166, the parallel writing free block management unit 67 proceeds to step S167 because not all indexes have been searched. In step S167, the parallel writing free block management unit 67 increments the index to be referred to, and proceeds to step S161.

並列書込み用空きブロック管理部67は、空きブロックをデバイスチップ#1のブロック番号22、消去回数70として、処理を続ける。ステップS161において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141のインデックス7を参照する。インデックス7の割当て済みブロック数は1である。並列書込み用空きブロック管理部67は、インデックス7の割当て済みブロック数が並列書込み数と等しくないため、処理はステップS163へ進む。   The parallel writing free block management unit 67 continues the processing by setting the free block as the block number 22 of the device chip # 1 and the number of times of erasure 70. In step S161, the parallel writing free block management unit 67 refers to the index 7 of the parallel writing free block management table 141. The number of allocated blocks of index 7 is 1. Since the number of allocated blocks of index 7 is not equal to the number of parallel writes, the parallel writing free block management unit 67 proceeds to step S163.

ステップS163において、並列書込み用空きブロック管理部67は、並列書込み用空きブロック管理テーブル141のインデックス7のエントリ1に登録があるため、ステップS164へ進む。ステップS164において、並列書込み用空きブロック管理部67は、デバイスチップ#1用のエントリ1の消去回数を参照する。エントリ1の消去回数50は、空きブロックの消去回数70より大きくないため、ステップS166へ進む。ステップS166において、並列書込み用空きブロック管理部67は、全てのインデックスを探索済みのため、処理を終了する。   In step S163, the parallel writing free block management unit 67 is registered in the entry 1 of the index 7 in the parallel writing free block management table 141, and thus the process proceeds to step S164. In step S164, the parallel writing free block management unit 67 refers to the number of erasures of the entry 1 for the device chip # 1. Since the erase count 50 of entry 1 is not larger than the erase count 70 of empty blocks, the process proceeds to step S166. In step S166, the parallel writing free block management unit 67 ends the process because all indexes have been searched.

図17は、実施の形態3に係る並列書込み用空きブロック管理テーブル171を示す図である。登録並列書込み用空きブロック管理テーブル171は、並列書込み用空きブロック管理テーブル141のインデックス3の消去回数の平均値、並びにエントリ1、及びインデックス6のエントリ1に新たな値が登録されたテーブルである。図17において、網掛けした箇所がインデックス3の消去回数の平均値、並びにエントリ1、及びインデックス6のエントリ1である。   FIG. 17 is a diagram showing the parallel writing free block management table 171 according to the third embodiment. The registered parallel writing free block management table 171 is a table in which the average value of the number of erasures of the index 3 of the parallel writing free block management table 141 and new values are registered in the entry 1 and the entry 1 of the index 6. . In FIG. 17, the shaded portions are the average value of the number of deletions of index 3, entry 1, and entry 1 of index 6.

デバイスチップ#1のブロック番号30は、並列書込み用の空きブロックとして利用されることとなる。また、デバイスチップ#1のブロック番号22は、空きブロック管理部66においてブロック毎に割当てられる空きブロックとして利用されることとなる。   The block number 30 of the device chip # 1 is used as an empty block for parallel writing. In addition, the block number 22 of the device chip # 1 is used as a free block allocated to each block in the free block management unit 66.

したがって、本実施の形態では、同一バス上に接続された複数の記録媒体にデータを並列に書込む書込み機能部63と、複数の記録媒体をそれぞれ分割した複数のブロックについてデータ書込み可能な空きブロックかどうかを空きブロック管理テーブルに登録する空きブロック管理部66と、空きブロック管理部66から通知された空きブロックについて並列書込み数分を1つの組として並列書込み用空きブロック管理テーブル141に登録し、書込み機能部63からの要求に応じて並列書込み用空きブロック管理テーブル141から並列書込み数分の空きブロックを取得して、通知する並列書込み用空きブロック管理部67と、を備え、並列書込み用空きブロック管理部67は、記録媒体の識別子、ブロック番号、及び1つの組に割当てられた割当て済みブロック数に、さらに当該ブロックの消去回数と1つの組に割当てられたブロックの消去回数の平均値とを対応付け、並列書込み数分の異なる記録媒体の空きブロックを1つの組として並列書込み用空きブロック管理テーブル141に登録し、空きブロック管理部66より空きブロックが通知されると、割当て済みブロック数が並列書込み数と等しい組に、消去回数の平均値が当該空きブロックの消去回数より小さく、当該空きブロックと同じ記録媒体のブロックが登録されており、その消去回数が当該空きブロックの消去回数より大きい場合、登録されているブロックを当該空きブロックと入れ替えるので、消去回数の少ないブロックが並列書込み用空きブロックとして使用されやすくなる。よって、各ブロックの消去回数を均等化することができる。   Therefore, in the present embodiment, the writing function unit 63 that writes data in parallel to a plurality of recording media connected on the same bus, and an empty block in which data can be written to a plurality of blocks obtained by dividing the plurality of recording media, respectively. A free block management unit 66 that registers whether or not to register in the free block management table, and the free block notified from the free block management unit 66 is registered in the parallel write free block management table 141 as one set for the number of parallel writes, A parallel writing empty block management unit 67 which acquires empty blocks for the number of parallel writings from the parallel writing empty block management table 141 in response to a request from the writing function unit 63 and notifies the parallel writing empty block management unit 67; The block management unit 67 assigns the identifier of the recording medium, the block number, and one set. The number of assigned blocks is further correlated with the number of erases of the block and the average value of the number of erases of the blocks assigned to one set, and the free blocks of different recording media corresponding to the number of parallel writings are paralleled as one set. When a free block is registered in the write free block management table 141 and a free block is notified from the free block management unit 66, the average value of the number of erases is equal to the number of allocated blocks equal to the number of parallel writes. If a smaller block of the same recording medium as the empty block is registered and the erase count is larger than the erase count of the empty block, the registered block is replaced with the empty block. Are easily used as free blocks for parallel writing. Therefore, the number of times of erasing each block can be equalized.

11 デバイスチップ
12、41 メモリバス
13、60 データ記録装置
14、69 メモリインタフェース部
15 コマンド処理部
16 ページバッファ
17 NANDフラッシュメモリ
21 ブロック
22 ページ
31 第1コマンド送信
32 書込みデータ転送
33 第2コマンド送信
34 チップ内書込み処理
62 コマンドインタフェース部
63 書込み機能部
64 消去機能部
65 読出し機能部
66 空きブロック管理部
67 並列書込み用空きブロック管理部
68 アドレス変換部
71、101、111、131、141、171 並列書込み用空きブロック管理テーブル
72、112、142 インデックス
73、145 エントリ
74 デバイスチップ番号
75、114、146 ブロック番号
113、143 割当て済みブロック数
144 消去回数の平均値
147 消去回数
11 Device chip 12, 41 Memory bus 13, 60 Data recording device 14, 69 Memory interface unit 15 Command processing unit 16 Page buffer 17 NAND flash memory 21 Block 22 Page 31 First command transmission 32 Write data transfer 33 Second command transmission 34 In-chip write processing 62 Command interface unit 63 Write function unit 64 Erase function unit 65 Read function unit 66 Free block management unit 67 Free block management unit for parallel writing 68 Address conversion units 71, 101, 111, 131, 141, 171 Parallel write Free block management table 72, 112, 142 Index 73, 145 entry 74 Device chip number 75, 114, 146 Block number 113, 143 Allocated block number 144 Erasing count average Value 147 number of erasures

Claims (10)

同一バス上に接続された複数の記録媒体にデータを並列に書込む書込み機能部と、
複数の記録媒体をそれぞれ分割した複数のブロックについてデータ書込み可能な空きブロックかどうかを空きブロック管理テーブルに登録する空きブロック管理部と、
前記空きブロック管理部から通知された空きブロックについて並列書込み数分を1つの組として並列書込み用空きブロック管理テーブルに登録し、前記書込み機能部からの要求に応じて前記並列書込み用空きブロック管理テーブルから並列書込み数分の空きブロックを取得して、通知する並列書込み用空きブロック管理部と、
を備えることを特徴とするデータ記録装置。
A writing function unit for writing data in parallel to a plurality of recording media connected on the same bus;
An empty block management unit for registering in the empty block management table whether or not data writing is possible for a plurality of blocks obtained by dividing a plurality of recording media;
The free block notified from the free block management unit is registered in the parallel write free block management table as one set for the number of parallel writes, and in response to a request from the write function unit, the parallel write free block management table Free block management unit for parallel writing to obtain and notify free blocks for the number of parallel writes from,
A data recording apparatus comprising:
前記並列書込み用空きブロック管理部は、記録媒体の識別子とブロックを識別するブロック番号とを対応付け、並列書込み数分の異なる記録媒体の空きブロックを1つの組として前記並列書込み用空きブロック管理テーブルに登録し、
前記空きブロック管理部より空きブロックが通知されると、前記並列書込み用空きブロック管理テーブルの並列書込み数分の空きブロックが登録されていない組に、当該空きブロックと同じ記録媒体のブロックが登録されていない場合、当該空きブロックを登録することを特徴とする請求項1に記載のデータ記録装置。
The parallel writing free block management unit associates an identifier of a recording medium with a block number for identifying a block, and sets the free blocks of different recording media as many as the number of parallel writing as one set, the parallel writing free block management table. Registered with
When an empty block is notified from the empty block management unit, a block of the same recording medium as the empty block is registered in a set in which empty blocks corresponding to the number of parallel writes in the empty block management table for parallel writing are not registered. 2. The data recording apparatus according to claim 1, wherein the empty block is registered if not.
前記並列書込み用空きブロック管理部は、記録媒体の識別子及びブロック番号と、1つの組に割当てられた割当て済みブロック数とを対応付け、並列書込み数分の異なる記録媒体の空きブロックを1つの組として前記並列書込み用空きブロック管理テーブルに登録し、
前記空きブロック管理部より空きブロックが通知されると、前記割当て済みブロック数が並列書込み数より小さい組に、当該空きブロックと同じ記録媒体のブロックが登録されていない場合、当該空きブロックを登録することを特徴とする請求項2に記載のデータ記録装置。
The parallel writing free block management unit associates the identifier and block number of the recording medium with the number of allocated blocks assigned to one set, and sets one free block of different recording media corresponding to the number of parallel writing. Registered in the free block management table for parallel writing as
When a free block is notified from the free block management unit, if a block of the same recording medium as the free block is not registered in a set in which the number of allocated blocks is smaller than the number of parallel writes, the free block is registered. The data recording apparatus according to claim 2, wherein:
前記並列書込み用空きブロック管理部は、記録媒体の識別子、ブロック番号、及び1つの組に割当てられた割当て済みブロック数に、さらにブロックの消去回数と1つの組に割当てられたブロックの消去回数の平均値とを対応付け、並列書込み数分の異なる記録媒体の空きブロックを1つの組として前記並列書込み用空きブロック管理テーブルに登録し、
前記空きブロック管理部より空きブロックが通知されると、割当て済みブロック数が並列書込み数と等しい組に、前記消去回数の平均値が当該空きブロックの消去回数より大きく、当該空きブロックと同じ記録媒体のブロックが登録されており、その消去回数が当該空きブロックの消去回数より大きい場合、登録されているブロックを当該空きブロックと入れ替えることを特徴とする請求項3に記載のデータ記録装置。
The parallel writing vacant block management unit includes the identifier of the recording medium, the block number, the number of allocated blocks assigned to one set, the number of block erases, and the number of block erases assigned to one set. Corresponding to the average value, register the free blocks of different recording media for the number of parallel writing as one set in the free block management table for parallel writing,
When an empty block is notified from the empty block management unit, a recording medium having the same number of erased blocks as the number of allocated blocks is equal to the number of parallel writes, and the average value of the erased block is larger than the erased number of empty blocks. 4. The data recording apparatus according to claim 3, wherein when the number of erasures is registered and the number of erasures is larger than the number of erasures of the empty blocks, the registered blocks are replaced with the empty blocks.
前記並列書込み用空きブロック管理部は、登録から空きへと入れ替えられたブロックを、前記並列書込み用空きブロック管理テーブルの割当て済みブロック数が並列書込み数より小さい組に、登録から空きへと入れ替えられたブロックと同じ記録媒体のブロックが登録されていない場合、登録することを特徴とする請求項4に記載のデータ記録装置。   The parallel writing empty block management unit replaces the block that has been changed from registration to empty into a set in which the number of allocated blocks in the parallel writing empty block management table is smaller than the number of parallel writing from registration to empty. 5. The data recording apparatus according to claim 4, wherein when a block of the same recording medium as the block is not registered, the block is registered. 前記並列書込み用空きブロック管理部は、前記空きブロック管理部から通知された空きブロックを前記並列書込み用空きブロック管理テーブルに登録する場合、空きブロック管理部へ当該ブロックを使用することを通知し、
前記空きブロック管理部は、当該ブロックを使用中として空きブロック管理テーブルに登録することを特徴とする請求項1から5のいずれかに記載のデータ記録装置。
The parallel write free block management unit, when registering the free block notified from the free block management unit in the parallel write free block management table, notifies the free block management unit to use the block,
6. The data recording apparatus according to claim 1, wherein the empty block management unit registers the block as being in use in the empty block management table.
前記並列書込み用空きブロック管理部は、前記並列書込み用空きブロック管理テーブルに登録しない空きブロックがある場合、空きブロック管理部へ当該ブロックを使用しないことを通知し、
前記空きブロック管理部は、当該ブロックを空きとして空きブロック管理テーブルに登録することを特徴とする請求項1から6のいずれかに記載のデータ記録装置。
When there is an empty block not registered in the parallel writing empty block management table, the parallel writing empty block management unit notifies the empty block management unit that the block is not used,
7. The data recording apparatus according to claim 1, wherein the empty block management unit registers the block as empty in an empty block management table.
記録媒体からデータを消去し、当該データを記録していた記録媒体のブロックを空きブロックとして前記空きブロック管理部へ通知する消去機能部と、
記録媒体からデータを読出す読出し機能部と、を備え、
前記書込み機能部は、データを並列に書込む場合は並列書込み用空きブロック管理部から並列書込み数分の空きブロックを取得してデータを書込み、1ブロックずつデータを書込む場合は空きブロック管理部から空きブロックを取得してデータを書込むことを特徴とする請求項1から7のいずれかに記載のデータ記録装置。
An erasing function unit for erasing data from a recording medium and notifying a block of the recording medium on which the data was recorded as an empty block to the empty block management unit;
A read function unit for reading data from a recording medium,
When writing data in parallel, the write function unit writes empty blocks for the number of parallel writes from the parallel write empty block management unit and writes data, and when writing data one block at a time, the empty block management unit The data recording apparatus according to claim 1, wherein an empty block is acquired from the data and data is written.
並列書込み数の異なる複数の並列書込み用空きブロック管理部を備え、
前記書込み機能部は、並列書込み数に応じて異なる並列書込み用空きブロック管理部から並列書込み数分の空きブロックを取得することを特徴とする請求項1から8のいずれかに記載のデータ記録装置。
Equipped with a plurality of parallel write free block managers with different numbers of parallel writes,
9. The data recording apparatus according to claim 1, wherein the writing function unit acquires empty blocks for the number of parallel writings from different parallel writing empty block management units according to the number of parallel writings. .
同一バス上に接続された複数の記録媒体にデータを並列に書込む書込み機能ステップと、
複数の記録媒体をそれぞれ分割した複数のブロックについてデータ書込み可能な空きブロックかどうかを空きブロック管理テーブルに登録する空きブロック管理ステップと、
前記空きブロック管理部から通知された空きブロックについて並列書込み数分を1つの組として並列書込み用空きブロック管理テーブルに登録し、前記書込み機能部からの要求に応じて前記並列書込み用空きブロック管理テーブルから並列書込み数分の空きブロックを取得して、通知する並列書込み用空きブロック管理ステップと、
を有するデータ記録方法。
A writing function step for writing data in parallel to a plurality of recording media connected on the same bus;
A free block management step for registering in the free block management table whether or not data writing is possible for a plurality of blocks obtained by dividing a plurality of recording media, and
The free block notified from the free block management unit is registered in the parallel write free block management table as one set for the number of parallel writes, and in response to a request from the write function unit, the parallel write free block management table Free block management step for parallel writing to acquire and notify free blocks for the number of parallel writes from,
A data recording method comprising:
JP2013003274A 2013-01-11 2013-01-11 Data recording apparatus and data recording method Expired - Fee Related JP5994647B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013003274A JP5994647B2 (en) 2013-01-11 2013-01-11 Data recording apparatus and data recording method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013003274A JP5994647B2 (en) 2013-01-11 2013-01-11 Data recording apparatus and data recording method

Publications (2)

Publication Number Publication Date
JP2014134998A true JP2014134998A (en) 2014-07-24
JP5994647B2 JP5994647B2 (en) 2016-09-21

Family

ID=51413198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013003274A Expired - Fee Related JP5994647B2 (en) 2013-01-11 2013-01-11 Data recording apparatus and data recording method

Country Status (1)

Country Link
JP (1) JP5994647B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775187B2 (en) 2021-03-23 2023-10-03 Kioxia Corporation Memory system and data management method including block allocation management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122923A (en) * 1998-07-13 2000-04-28 Sony Corp Recording device and method, reproducing device and method, recording medium, and program recording medium
JP2010182266A (en) * 2009-02-09 2010-08-19 Tdk Corp Memory controller, flash memory system equipped with the same, and control method of flash memory
JP2011180773A (en) * 2010-02-26 2011-09-15 Toshiba Corp Memory system
JP2011197788A (en) * 2010-03-17 2011-10-06 Toshiba Corp Memory system
JP2012517627A (en) * 2009-02-12 2012-08-02 株式会社東芝 Memory system and memory system control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122923A (en) * 1998-07-13 2000-04-28 Sony Corp Recording device and method, reproducing device and method, recording medium, and program recording medium
JP2010182266A (en) * 2009-02-09 2010-08-19 Tdk Corp Memory controller, flash memory system equipped with the same, and control method of flash memory
JP2012517627A (en) * 2009-02-12 2012-08-02 株式会社東芝 Memory system and memory system control method
JP2011180773A (en) * 2010-02-26 2011-09-15 Toshiba Corp Memory system
JP2011197788A (en) * 2010-03-17 2011-10-06 Toshiba Corp Memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775187B2 (en) 2021-03-23 2023-10-03 Kioxia Corporation Memory system and data management method including block allocation management

Also Published As

Publication number Publication date
JP5994647B2 (en) 2016-09-21

Similar Documents

Publication Publication Date Title
US10761977B2 (en) Memory system and non-transitory computer readable recording medium
US20180024921A1 (en) Memory system executing garbage collection
US8775771B2 (en) Block management method for a flash memory and flash memory controller and storage system using the same
US8996791B2 (en) Flash memory device, memory control device, memory control method, and storage system
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
US10409525B2 (en) Memory management method, memory control circuit unit and memory storage device
US20110099324A1 (en) Flash memory storage system and flash memory controller and data processing method thereof
JP5969130B2 (en) Information processing device
US20150186259A1 (en) Method and apparatus for storing data in non-volatile memory
TWI423022B (en) Memory management method, memory controller and memory storage apparatus
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
US11868246B2 (en) Memory system and non-transitory computer readable recording medium
US10235284B2 (en) Memory system
US11726906B2 (en) Memory device and non-transitory computer readable recording medium
US20230281118A1 (en) Memory system and non-transitory computer readable recording medium
KR102349381B1 (en) Data storage device and operating method thereof
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
JP5994647B2 (en) Data recording apparatus and data recording method
TW201624490A (en) Memory device and non-transitory computer readable recording medium
WO2015118623A1 (en) Information processing device
CN110968520B (en) Multi-stream storage device based on unified cache architecture
TW201624491A (en) Information processing device and non-transitory computer readable recording medium
TW201624288A (en) Cache memory device and non-transitory computer readable recording medium
US10331551B2 (en) Information processing device and non-transitory computer readable recording medium for excluding data from garbage collection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160721

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160808

R151 Written notification of patent or utility model registration

Ref document number: 5994647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees