JP2002202912A - Recording device, recording control method, and program - Google Patents

Recording device, recording control method, and program

Info

Publication number
JP2002202912A
JP2002202912A JP2001327430A JP2001327430A JP2002202912A JP 2002202912 A JP2002202912 A JP 2002202912A JP 2001327430 A JP2001327430 A JP 2001327430A JP 2001327430 A JP2001327430 A JP 2001327430A JP 2002202912 A JP2002202912 A JP 2002202912A
Authority
JP
Japan
Prior art keywords
data
recording
written
blocks
parallel
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
JP2001327430A
Other languages
Japanese (ja)
Other versions
JP3992960B2 (en
Inventor
Toshihiko Otake
俊彦 大竹
Tsutomu Sekibe
勉 関部
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001327430A priority Critical patent/JP3992960B2/en
Publication of JP2002202912A publication Critical patent/JP2002202912A/en
Application granted granted Critical
Publication of JP3992960B2 publication Critical patent/JP3992960B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce the frequency of generation of an entrainment saving processing. SOLUTION: Assuming that the size of all data required for writing from the outside is q, the number of recording media is m, and the size of a block is p, the quotient zm+w+y (z; integer, 0<=z, w; integer, 0<=w<m, y; 0<=y<1) is acquired by diving the size of all the data q by the size of the block p. The control is executed so that data in the blocks to the number of zm are written in parallel to the recording media to the number of m, and that thereafter data in the blocks to the number of (q-zm) are written to the recording media to the number of w+1 (where, w in the case of y=0). Resultantly, the frequency of generation of the entrainment saving processing is reduced.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する利用分野】本発明は、データを記録する
ための記録装置に関し、特に、フラッシュメモリ等の記
録媒体にデータを記録するための記録装置に関する。
The present invention relates to a recording device for recording data, and more particularly to a recording device for recording data on a recording medium such as a flash memory.

【0002】[0002]

【従来の技術】音楽データや映像データを取り扱う携帯
機器の記録装置では、データの書き換えが可能であ
る、携帯性が高い、電池等によるバックアップが必
要ない等の理由から、フラッシュメモリ等の記録媒体を
用いるのが一般的である。
2. Description of the Related Art In a recording apparatus of a portable device which handles music data and video data, a recording medium such as a flash memory is used because data can be rewritten, portability is high, and backup by a battery or the like is not required. Is generally used.

【0003】しかしながら、現状のフラッシュメモリに
よると、データ書き込みの際に待ち時間が生じるという
問題があった。その理由は、書き込み対象であるデータ
を記録装置内のバッファへ転送するのに必要な時間より
も、このようにバッファに転送されたデータを当該バッ
ファからフラッシュメモリへ書き込むのに必要な時間の
方が大幅に長いためである。
However, according to the current flash memory, there is a problem that a waiting time is required when writing data. The reason is that the time required to write the data transferred to the buffer from the buffer to the flash memory is shorter than the time required to transfer the data to be written to the buffer in the recording device. Is significantly longer.

【0004】そこで、特開2000−132982号公
報には、複数のフラッシュメモリを備えた記録装置が開
示されている。このような記録装置によれば、複数のフ
ラッシュメモリに対して並列にデータ書き込みを行うこ
とができるため、待ち時間が生じるという上記問題は発
生しない。
[0004] Japanese Patent Laid-Open Publication No. 2000-132982 discloses a recording apparatus having a plurality of flash memories. According to such a recording apparatus, data can be written to a plurality of flash memories in parallel, so that the above-described problem of waiting time does not occur.

【0005】[0005]

【発明が解決しようとする課題】ところで、一般に、フ
ラッシュメモリへのデータ書き込み単位はセクタと呼ば
れ、フラッシュメモリ上のデータ消去(後述する)単位
はブロックと呼ばれる。すなわち、図9(a)に示すよ
うに、フラッシュメモリ内のデータは、32個のセクタ
からなるブロックという単位で管理されている(以下、
セクタのデータ長は512バイト、ブロックのデータ長
は16キロバイトとして説明する)。
Generally, a unit of data writing to a flash memory is called a sector, and a unit of data erasure (described later) on the flash memory is called a block. That is, as shown in FIG. 9A, the data in the flash memory is managed in units of blocks composed of 32 sectors (hereinafter, referred to as blocks).
It is assumed that the data length of the sector is 512 bytes and the data length of the block is 16 kilobytes.)

【0006】また、フラッシュメモリには、一方向のデ
ータ書き換えしかできない、すなわち、データの値を1
から0へ(或いは0から1へ)書き換えることはできな
いという特徴がある。従って、データ書き込みを行うに
は、その書き込み先となる領域内のデータの値を全て1
(或いは0)に変換しておく必要がある(以下、この変
換処理を「消去処理」という。また、この消去処理が完
了している領域を「消去済領域」、完了していない領域
を「未消去領域」という)。
Further, the flash memory can only rewrite data in one direction, that is, when the data value is 1
It cannot be rewritten from 0 to 0 (or 0 to 1). Therefore, in order to perform data write, all data values in the write destination area are set to 1
(Hereinafter, this conversion process is referred to as “erasing process.” A region where the erasing process has been completed is referred to as an “erased region”, and a region where the erasing process has not been completed is referred to as “erased region”. Unerased area ”).

【0007】以上の事情から、図9(b)に示すブロッ
クA内のデータ0〜15を書き換える場合は、まず、図
9(c)に示すように、書き換える必要のないデータ1
6〜31を一旦フラッシュメモリF1からバッファBに
読み出す。そして、このようにバッファBに読み出した
データ16〜31を、図9(d)に示すように別のフラ
ッシュメモリF2の消去済領域Eに書き直した後、上記
ブロックAの領域について消去処理を行う。
From the above circumstances, when rewriting data 0 to 15 in block A shown in FIG. 9B, first, as shown in FIG.
6 to 31 are temporarily read from the flash memory F1 to the buffer B. Then, the data 16 to 31 thus read out to the buffer B are rewritten in the erased area E of another flash memory F2 as shown in FIG. .

【0008】上記一連の処理(すなわち、書き換える必
要のないデータ16〜31が当該書き換え処理に巻き込
まれないようにするための処理)は巻き込み退避処理と
呼ばれ、フラッシュメモリへの書き込み速度を低下させ
る大きな要因となっている。なお、図9(d)に示す書
き換え後データ0〜15は、外部から当該記録装置に渡
されるようになっているが、この点については、ここで
は詳しい説明を省略する。
The above-described series of processing (that is, processing for preventing the data 16 to 31 that do not need to be rewritten from being caught in the rewriting processing) is called wrap-in evacuation processing, and lowers the writing speed to the flash memory. This is a major factor. Note that the rewritten data 0 to 15 shown in FIG. 9D is passed from the outside to the recording apparatus, but a detailed description of this point is omitted here.

【0009】ここで、上記したように、特開2000−
132982号公報に開示される記録装置によれば、複
数のフラッシュメモリに対して並列にデータ書き込みを
行うことができるため、待ち時間が生じるという上記問
題は発生しない。しかしながら、このように複数のフラ
ッシュメモリに対して並列にデータ書き込みを行うと、
データ消去の際に巻き込み退避処理の発生する頻度が高
くなるという課題があった。
[0009] Here, as described above,
According to the recording apparatus disclosed in Japanese Patent No. 132982, data can be written to a plurality of flash memories in parallel, so that the above-mentioned problem of waiting time does not occur. However, when data is written to a plurality of flash memories in parallel,
There is a problem that the frequency of occurrence of the entanglement evacuation process at the time of data erasure increases.

【0010】すなわち、ある音楽データM1をフラッシ
ュメモリに書き込む場合、そのデータサイズが(フラッ
シュメモリの1ブロックのサイズ)×(フラッシュメモ
リの個数)の整数倍でないときは、図10に示すよう
に、フラッシュメモリF1〜F4のそれぞれの最終ブロ
ック(後述する)B1〜B4に空き領域が発生する。そ
の後、当該フラッシュメモリF1〜F4に別の音楽デー
タM2を書き込む場合、この音楽データM2は上記最終
ブロックB1〜B4の空き領域から書き込まれることに
なる結果、別個の音楽データM1・M2が同一ブロック
内に存在することになる。従って、この状態で音楽デー
タM1の全部を消去する必要が生じた場合は、最終ブロ
ックB1〜B4に書き込まれた音楽データM2を退避さ
せなければならない。
That is, when writing certain music data M1 to the flash memory, if the data size is not an integral multiple of (the size of one block of the flash memory) × (the number of flash memories), as shown in FIG. An empty area is generated in each of the last blocks (described later) B1 to B4 of the flash memories F1 to F4. Thereafter, when another music data M2 is written to the flash memories F1 to F4, the music data M2 is written from the empty area of the last blocks B1 to B4. Will be within. Therefore, if it becomes necessary to erase all of the music data M1 in this state, the music data M2 written in the last blocks B1 to B4 must be saved.

【0011】なお、上記最終ブロックとは、書き込み対
象であるデータが最後に書き込まれることになるブロッ
クをいう。すなわち、図6に示すように、m個のフラッ
シュメモリに対して並列にデータ書き込みを行うと、一
点鎖線より左にハッチングで示すブロックには空き領域
が発生しないが、一点鎖線より右にハッチングで示すブ
ロックには空き領域が発生する可能性がある。このよう
に、空き領域が発生する可能性のあるブロックは、書き
込み対象であるデータが最後に書き込まれることになる
ブロックであることから、これらブロックを特に「最終
ブロック」と呼ぶことにする。
The last block is a block in which data to be written is to be written last. That is, as shown in FIG. 6, when data is written in parallel to m flash memories, no free space is generated in the blocks indicated by hatching to the left of the dashed line, but the blocks are hatched to the right of the dashed line. The indicated block may have an empty area. As described above, blocks in which a free area is likely to be generated are blocks to which data to be written is to be written last, so these blocks will be particularly referred to as “final blocks”.

【0012】本発明は、上記従来の事情に基づいて提案
されたものであって、複数のフラッシュメモリに対して
並列にデータ書き込みを行う記録装置において巻き込み
退避処理の発生する頻度を低下させることを目的とす
る。
The present invention has been proposed based on the above-mentioned conventional circumstances, and it is an object of the present invention to reduce the frequency of occurrence of entanglement and evacuation processing in a recording apparatus which writes data to a plurality of flash memories in parallel. Aim.

【0013】[0013]

【課題を解決するための手段】本発明は、上記目的を達
成するために以下の手段を採用している。すなわち、本
発明は、図1に示すように、消去処理が完了している記
録領域に対してデータ書き込みを行い、かつ、複数の記
録領域からなる所定のブロック単位で一括してデ−タ消
去を行う複数の記録媒体21・22・23・24に対
し、外部から書き込み要求されたデータを並列に書き込
む記録装置1を前提としている。
The present invention employs the following means to achieve the above object. That is, according to the present invention, as shown in FIG. 1, data is written in a recording area where erasing processing has been completed, and data is erased collectively in a predetermined block unit composed of a plurality of recording areas. It is assumed that the recording device 1 writes data requested to be externally written in parallel to a plurality of recording media 21, 22, 23, and 24 that perform the above.

【0014】ここで、上記外部から書き込み要求された
全データのサイズをq、上記記録媒体の数をm、上記ブ
ロックのサイズをpとした場合、アドレス管理制御部4
2は、まず、上記外部から書き込み要求された全データ
のサイズqを上記ブロックのサイズpで除してzm+w
+y(z:0≦zの整数,w:0≦w<mの整数,y:
0≦y<1)なる商を得る。そして、zmブロック分の
データをm個の記録媒体に対して並列に書き込み、その
後、(q−zm)ブロック分のデータをw+1(但し、
y=0のときはw)個の記録媒体に対して書き込むよう
に制御する。
Here, if the size of all data requested to be written from outside is q, the number of recording media is m, and the size of the block is p, the address management control unit 4
2 is zm + w by dividing the size q of all data requested to be written from outside by the size p of the block.
+ Y (z: integer of 0 ≦ z, w: integer of 0 ≦ w <m, y:
Obtain a quotient of 0 ≦ y <1). Then, zm blocks of data are written in parallel to m recording media, and then (q-zm) blocks of data are written w + 1 (where,
When y = 0, control is performed such that writing is performed on w) recording media.

【0015】例えば、アドレス管理制御部42は、図8
(a)に示すように、上記(q−zm)ブロック分のデ
ータをw+1個の記録媒体に対して並列に書き込むよう
に制御する。このようにすれば、空き領域の生じるブロ
ックの数は、上記従来技術を適用した場合と比べて少な
くなる。これによって、巻き込み退避処理の発生する頻
度が低下することになるのはいうまでもない。
For example, the address management control unit 42
As shown in (a), control is performed so that data for the above (q-zm) blocks is written in parallel to w + 1 recording media. By doing so, the number of blocks in which a free area occurs becomes smaller as compared with the case where the above-described conventional technology is applied. As a result, it goes without saying that the frequency of occurrence of the entrainment evacuation process is reduced.

【0016】もちろん、図8(b)に示すように、上記
(q−zm)ブロック分のデータを書き込むに際して
は、yブロック分のデータを1個の記録媒体に書き込む
処理をw+1個の記録媒体に対して並列に実行し、その
後、(1−y)ブロック分のデータを1個の記録媒体に
書き込む処理をw個の記録媒体に対して並列に実行する
ように制御するようにしてもよい。このようにすれば、
空き領域の生じるブロックは多くても1個となるため、
巻き込み退避処理の発生する頻度はさらに低下する。
Of course, as shown in FIG. 8B, when writing the data for the above (q-zm) blocks, the process of writing the data for the y blocks to one recording medium is performed by w + 1 recording media. May be controlled so that the process of writing (1-y) blocks of data to one recording medium is performed in parallel on w recording media. . If you do this,
Since there is at most one block with an empty area,
The frequency of occurrence of the entanglement evacuation process is further reduced.

【0017】あるいは、図8(c)に示すように、上記
(q−zm)ブロック分のデータをw+1個の記録媒体
に割り当てた状態で各記録媒体が持つ順番で書き込むよ
うに制御するようにしてもよい。この制御方法は、書き
込み要求先となる記録領域が属するブロック内に「書き
換えが必要でないデータ」が存在する場合、特に有効で
ある。すなわち、このような場合、アドレス管理制御部
42は、上記書き換えが必要でないデータと当該書き込
み要求されたデータとの総和を上記(q−zm)ブロッ
ク分のデータとみなして制御するようになっている。
Alternatively, as shown in FIG. 8C, control is performed such that data of the above (q-zm) blocks is written in the order of each recording medium in a state allocated to w + 1 recording media. You may. This control method is particularly effective when “data that does not require rewriting” exists in a block to which a recording area to which a write request is sent belongs. That is, in such a case, the address management control unit 42 controls the total sum of the data that does not need to be rewritten and the data requested to be written as the data of the (q-zm) blocks. I have.

【0018】[0018]

【発明の実施の形態】図1は、本発明を適用した記録装
置のブロック図であり、以下その構成を説明する。な
お、以下の説明では、セクタのデータ長は512バイ
ト、ブロックのデータ長は16キロバイトであることを
前提にする。
FIG. 1 is a block diagram of a recording apparatus to which the present invention is applied, and its configuration will be described below. In the following description, it is assumed that the data length of the sector is 512 bytes and the data length of the block is 16 kilobytes.

【0019】まず、入出力制御部41は、データの書き
込み・読み出し・消去等の処理要求を外部から受ける
と、当該処理の開始命令をアドレス管理制御部42に出
すとともに、以下のデータ入出力制御を行う。
First, when an input / output control unit 41 receives a processing request such as data writing / reading / erasing from the outside, the input / output control unit 41 issues an instruction to start the processing to the address management control unit 42 and performs the following data input / output control. I do.

【0020】すなわち、データの書き込み要求を受けた
入出力制御部41は、外部から入力されたデータを複数
のバッファ31・32・33・34に512バイト単位
で順次書き込む。一方、データの読み出しの要求を受け
た入出力制御部41は、複数のバッファ31・32・3
3・34から512バイト単位で順次データを読み出し
て外部に出力する。
That is, the input / output control unit 41, which has received the data write request, sequentially writes data input from the outside into the plurality of buffers 31, 32, 33, and 34 in units of 512 bytes. On the other hand, upon receiving the data read request, the input / output control unit 41 sets the plurality of buffers
Data is sequentially read out in units of 512 bytes from 3.34 and output to the outside.

【0021】また、アドレス管理制御部42は、上記入
出力制御部41からの処理開始命令に応じ、複数のフラ
ッシュメモリ21・22・23・24と複数のバッファ
31・32・33・34との間でのデータ転送の制御
と、複数のフラッシュメモリ21・22・23・24に
対するデータ消去の制御と、複数のフラッシュメモリ2
1・22・23・24に書き込まれているデータの管理
とを行う(詳細は後述する)。
Further, the address management control unit 42 responds to a processing start command from the input / output control unit 41 to store the plurality of flash memories 21, 22, 23, 24 and the plurality of buffers 31, 32, 33, 34. Between the flash memories 21, 22, 23, and 24, and between the plurality of flash memories 2.
The management of the data written in 1, 22, 23, and 24 is performed (details will be described later).

【0022】更に、セレクタ43は、上記アドレス管理
制御部42からの接続切り替え信号に応じ、複数のフラ
ッシュメモリ21・22・23・24と複数のバッファ
31・32・33・34との間のデータバスの接続を切
り替える。
Further, in response to a connection switching signal from the address management control unit 42, the selector 43 stores data between the plurality of flash memories 21, 22, 23, 24 and the plurality of buffers 31, 32, 33, 34. Switch the bus connection.

【0023】ここで、上記アドレス管理制御部42が行
うデータ書き込み制御方法は、以下の2パターンに大別
される。すなわち、一つは、未だデータの書き込まれて
いない論理アドレス領域に対してデータ書き込み要求を
受けた場合の制御方法(以下「第1のデータ書き込み制
御方法」という)であり、もう一つは、既にデータの書
き込まれている論理アドレス領域に対してデータ書き込
み要求を受けた場合の制御方法(以下「第2のデータ書
き込み制御方法」という)である。
Here, the data write control method performed by the address management control unit 42 is roughly classified into the following two patterns. That is, one is a control method when a data write request is received for a logical address area to which data has not yet been written (hereinafter, referred to as a “first data write control method”). This is a control method when a data write request is received for a logical address area to which data has already been written (hereinafter, referred to as a “second data write control method”).

【0024】以下、これらデータ書き込み制御方法を詳
細に説明する。 〔第1のデータ書き込み制御方法〕まず、データの書き
込まれていない論理アドレス領域に対してデータ書き込
み要求を受けた場合、上記従来と同様、4個のフラッシ
ュメモリ21・22・23・24に対して並列にデータ
書き込みを行っていく。ただし、本発明では、当該書き
込み対象であるデータのサイズによって、図2(a)〜
(c)に示すように、フラッシュメモリ21・22・2
3・24それぞれの最終ブロックへの書き込み制御方法
が異なる。
Hereinafter, these data write control methods will be described in detail. [First data write control method] First, when a data write request is received for a logical address area where no data is written, the four flash memories 21, 22, 23, and 24 are sent to the four flash memories 21, 22, 23, and 24 in the same manner as in the above-described conventional case. And write data in parallel. However, in the present invention, FIG. 2A to FIG.
As shown in (c), the flash memories 21, 22, 2
The writing control method for the last block differs between 3 and 24.

【0025】例えば、書き込み対象であるデータのサイ
ズが64キロバイトである場合は、このデータを4個の
フラッシュメモリ21・22・23・24へ並列に書き
込んでも、その最終ブロックB21・B22・B23・
B24のいずれにも空き領域は生じない。これは、上記
64キロバイトのデータが4ブロックに相当し、最終ブ
ロックB21・B22・B23・B24の総和と一致す
るからである。
For example, if the size of the data to be written is 64 kilobytes, even if this data is written in parallel to the four flash memories 21, 22, 23, and 24, the final blocks B21, B22, B23,
No empty area is generated in any of B24. This is because the above-mentioned data of 64 kilobytes corresponds to four blocks, and matches the sum of the last blocks B21, B22, B23 and B24.

【0026】従って、この場合のアドレス管理制御部4
2は、図2(a)に示すように、4個の最終ブロックB
21・B22・B23・B24に対してデータ0〜12
7を並列に書き込むように制御する(以下、この書き込
み形態を「4ブロック書き込み」という)。
Therefore, in this case, the address management control unit 4
2 are the four final blocks B as shown in FIG.
Data 0-12 for 21, B22, B23, B24
7 are written in parallel (hereinafter, this writing mode is referred to as “four-block writing”).

【0027】また、書き込み対象であるデータのサイズ
が32キロバイトである場合は、このデータを4個のフ
ラッシュメモリ21・22・23・24へ並列に書き込
むと、その最終ブロックB21・B22・B23・B2
4それぞれに1/2ブロックの空き領域が発生する。こ
れは、上記32キロバイトのデータが2ブロックに相当
し、最終ブロックB21・B22・B23・B24の総
和の1/2倍に一致するからである。
If the size of the data to be written is 32 kilobytes, this data is written in parallel to the four flash memories 21, 22, 23, and 24, and the last block B21, B22, B23, B2
4 respectively, a free area of 1/2 block is generated. This is because the 32 kilobytes of data correspond to two blocks, which is equal to half the sum of the last blocks B21, B22, B23, and B24.

【0028】従って、この場合のアドレス管理制御部4
2は、図2(b)に示すように、2個の最終ブロックB
21・B22に対してのみデータ0〜63を並列に書き
込むように制御する。すなわち、空き領域が生じること
を防止する関係上、最終ブロックB21・B22・B2
3・B24への書き込みについては並列度を4から2に
制限するようになっている(以下、この書き込み形態を
「2ブロック書き込み」という)。
Therefore, in this case, the address management control unit 4
2 are two final blocks B as shown in FIG.
Control is performed such that data 0 to 63 are written in parallel only to 21 · B22. That is, the last blocks B21, B22, B2
The degree of parallelism for writing to 3.multidot.B24 is limited from 4 to 2 (hereinafter, this writing form is referred to as "two-block writing").

【0029】ここで、書き込み対象であるデータのサイ
ズが24キロバイトである場合は、上記32キロバイト
の場合のように並列度を制限しても、最終ブロックに空
き領域が生じることを防止できない。これは、上記24
キロバイトのデータが1.5ブロックに相当し、ブロッ
クの整数倍に一致しないからである。
Here, when the size of the data to be written is 24 kilobytes, even if the degree of parallelism is limited as in the case of the above 32 kilobytes, it is not possible to prevent a free area from being generated in the last block. This is
This is because kilobyte data corresponds to 1.5 blocks and does not match an integral multiple of the block.

【0030】従って、この場合のアドレス管理制御部4
2は、図2(c)に示すように、空き領域の生じる最終
ブロックが1個だけになるように、また、可能な限り並
列書き込みとなるようにデータ0〜47を制御する。
Therefore, in this case, the address management control unit 4
2 controls the data 0 to 47 so that only one final block having an empty area is generated as shown in FIG. 2C and parallel writing is performed as much as possible.

【0031】すなわち、1ブロック分のデータ0〜31
を2個の最終ブロックB21・B22に対して並列に書
き込んだ後、残り0.5ブロック分の端数データ32〜
47を1個の最終ブロックB21に対して単一に書き込
むようになっている(以下、この書き込み形態を「1.
5ブロック書き込み」という)。なお、「単一に書き込
む」とは、並列書き込みを並列度1で行うことをいう。
That is, one block of data 0 to 31
Are written in parallel to the two final blocks B21 and B22, and the remaining 0.5 blocks of fraction data 32 to
47 is singly written into one final block B21 (hereinafter, this writing form is referred to as “1.
5 block writing ”). Note that “single writing” means that parallel writing is performed with a parallel degree of 1.

【0032】以上のように、アドレス管理制御部42
は、書き込み対象であるデータのサイズに応じた制御方
法を判別するようになっており、以下、その判別手法に
ついて説明する。
As described above, the address management control unit 42
Is designed to determine the control method according to the size of the data to be written. Hereinafter, the determination method will be described.

【0033】まず、書き込み要求された全データのサイ
ズをq、フラッシュメモリの数をm、ブロックのサイズ
をpとした場合、この全データのサイズqを上記ブロッ
クのサイズpで除して、zm+w+y(z:0≦zの整
数,w:0≦w<mの整数,y:0≦y<1)なる商を
得る。
First, when the size of all data requested to be written is q, the number of flash memories is m, and the size of a block is p, the size q of all data is divided by the size p of the block to obtain zm + w + y (Z: integer of 0 ≦ z, w: integer of w ≦ w <m, y: 0 ≦ y <1)

【0034】ここで、上記zmは、並列度がmのブロッ
ク数を意味し、上記w+yは、並列度がmに至らないブ
ロック数を意味する。すなわち、図6を用いて説明する
と、一点鎖線より左にハッチングで示すブロックの数が
上記zmに相当し、一点鎖線より右にハッチングで示す
ブロックの数が上記w+yに相当する(なお、wはブロ
ックB1 に対応し、yはブロックB2 に対応する)。
Here, the above zm means the number of blocks having a degree of parallelism of m, and the above w + y means the number of blocks not reaching the degree of parallelism of m. That is, with reference to FIG. 6, the number of blocks indicated by hatching to the left of the dashed line corresponds to zm, and the number of blocks indicated by hatching to the right of the dashed line corresponds to w + y (where w is Corresponds to block B1, and y corresponds to block B2).

【0035】従って、アドレス管理制御部42は、zm
ブロック分のデータをm個のフラッシュメモリに対して
並列に書き込み、その後、q−zmブロック分のデータ
をw+1(但し、y=0のときはw)個のフラッシュメ
モリに対して書き込むように制御する。ただし、この
(q−zm)ブロック分のデータを書き込むに際して
は、yブロック分のデータを1個のフラッシュメモリに
書き込む処理をw+1個のフラッシュメモリに対して並
列に実行し、その後、(1−y)ブロック分のデータを
1個のフラッシュメモリに書き込む処理をw個のフラッ
シュメモリに対して並列に実行するようになっている。
Therefore, the address management control unit 42
Control is performed so that data for blocks is written in parallel to m flash memories, and then data for q-zm blocks is written to w + 1 (but w when y = 0) flash memories. I do. However, when writing the data for (q-zm) blocks, the process of writing the data for y blocks to one flash memory is executed in parallel for w + 1 flash memories, and then (1- y) The process of writing data for a block into one flash memory is executed in parallel on w flash memories.

【0036】以下、上記判別手法の具体例として、1ブ
ロックが16キロバイトである状況下、4個のフラッシ
ュメモリに対して152キロバイトのデータを書き込む
場合(p=16、m=4、q=152の場合)の制御手
順について説明する。
Hereinafter, as a specific example of the discrimination method, in a situation where one block is 16 kilobytes, writing 152 kilobytes of data to four flash memories (p = 16, m = 4, q = 152) ) Will be described.

【0037】まず、q÷p=zm+w+yは152÷1
6=2×4+1+0.5であることから、zは2、wは
1、yは0.5であることが判る。
First, q ÷ p = zm + w + y is 152 ÷ 1.
Since 6 = 2 × 4 + 1 + 0.5, it is understood that z is 2, w is 1, and y is 0.5.

【0038】従って、2ブロック分のデータを4個のフ
ラッシュメモリに対して並列に書き込み、その後、1.
5ブロック分のデータを2個のフラッシュメモリに対し
て書き込む。ただし、この1.5ブロック分のデータを
書き込むに際しては、0.5ブロック分のデータを1個
のフラッシュメモリに書き込む処理を2個のフラッシュ
メモリに対して並列に実行し、その後、(1−0.5)
ブロック分のデータを1個のフラッシュメモリに書き込
む処理を1個のフラッシュメモリに対して並列に実行す
る。すなわち、図6でいうと、ブロックB1 とB2 そ
れぞれに対して0.5ブロック分のデータを並列に書き
込み、その後、ブロックB1 に対してのみ0.5ブロ
ック分のデータを単一に書き込むことになる。
Therefore, two blocks of data are written in parallel to the four flash memories, and then 1.
Data for 5 blocks is written to two flash memories. However, when writing 1.5 blocks of data, the process of writing 0.5 blocks of data to one flash memory is executed in parallel for two flash memories, and then (1- 0.5)
The process of writing data for a block to one flash memory is executed in parallel for one flash memory. In other words, referring to FIG. 6, writing 0.5 blocks of data in parallel to blocks B1 and B2, and then writing 0.5 blocks of data only to block B1 singly. Become.

【0039】なお、ここでは、書き込み要求された全デ
ータのサイズpを152キロバイト、また、ブロックの
サイズqを16キロバイトとして説明したが、このサイ
ズp及びqの単位はバイトに限定されるものではない。
例えば、書き込み要求された全データのサイズpを30
4セクタ、また、ブロックのサイズqを32セクタとし
ても上記と同様の効果が得られる。
Although the size p of all data requested to be written is described as 152 kilobytes and the size q of the block is 16 kilobytes, the units of the sizes p and q are not limited to bytes. Absent.
For example, if the size p of all data requested to be written is 30
The same effect as described above can be obtained even when the size of the block is 4 sectors and the size q of the block is 32 sectors.

【0040】以上説明したように、本発明によれば、空
き領域の生じるブロックは多くても1個となる。これに
よって、巻き込み退避処理の発生する頻度が低下する結
果、トータルでみると、フラッシュメモリへの書き込み
パフォーマンスを向上させることが可能である。
As described above, according to the present invention, at most one block has an empty area. As a result, the frequency of occurrence of the entanglement evacuation process is reduced. As a result, it is possible to improve the performance of writing to the flash memory as a whole.

【0041】もっとも、本発明によると並列度が制限さ
れる場合もあり、この点では書き込み速度の低下を招
く。しかしながら、並列度が制限されるのは最終ブロッ
クについてのみであり、また、この最終ブロックについ
ても可能な限り並列書き込みを行うようにしているの
で、上記のように並列度が制限されたとしても、その書
き込み速度への影響は極めて小さい。
However, according to the present invention, the degree of parallelism may be limited, and in this respect, the writing speed is reduced. However, the degree of parallelism is limited only to the last block, and since parallel writing is performed as much as possible for this last block, even if the degree of parallelism is limited as described above, The effect on the writing speed is extremely small.

【0042】なお、上記の説明では、フラッシュメモリ
21→22→23→24→21→・・・の順に並列書き
込みを行う動作について説明したが、本発明はこれに限
定されるものではない。すなわち、個々のフラッシュメ
モリのハードウェア性能にはバラツキがあるため、それ
ぞれの書き込み処理に要する時間にもバラツキがある。
従って、上記のように並列書き込みを行うのではなく、
書き込み処理が早く終了したフラッシュメモリから順
に、次のデータを書き込むように制御するのが好まし
い。
In the above description, the operation of performing the parallel writing in the order of the flash memories 21 → 22 → 23 → 24 → 21 →... Has been described, but the present invention is not limited to this. That is, since the hardware performance of each flash memory varies, the time required for each write process also varies.
Therefore, instead of performing parallel writing as described above,
It is preferable to control so that the next data is written in order from the flash memory in which the writing process has been completed earlier.

【0043】また、図2(b)(c)に示したように、
書き込み対象であるデータのサイズが32キロバイトや
24キロバイトである場合は、並列度が2に制限されて
いる期間、すなわち、2個のフラッシュメモリ21・2
2に対してのみ並列書き込み処理が行われている期間が
存在する。従って、残り2個のフラッシュメモリ23・
24内に未消去領域が存在する場合は、この領域の消去
処理を、上記フラッシュメモリ21・22に対する書き
込み処理と並行して行うのが好ましい。
As shown in FIGS. 2B and 2C,
If the size of the data to be written is 32 Kbytes or 24 Kbytes, the period during which the degree of parallelism is limited to 2, that is, the two flash memories 21.2
There is a period during which the parallel write process is performed only for the second. Therefore, the remaining two flash memories 23
If there is an unerased area in 24, it is preferable to perform the erasing processing of this area in parallel with the writing processing to the flash memories 21 and 22.

【0044】更に、上記の説明では、(q−zm)ブロ
ック分のデータを書き込むに際しては、yブロック分の
データを1個のフラッシュメモリに書き込む処理をw+
1個のフラッシュメモリに対して並列に実行し、その
後、(1−y)ブロック分のデータを1個のフラッシュ
メモリに書き込む処理をw個のフラッシュメモリに対し
て並列に実行することとしているが、本発明はこれに限
定されるものではない。すなわち、図8(a)に示すよ
うに、上記(q−zm)ブロック分のデータをw+1個
のフラッシュメモリに対して並列に書き込むようにして
もよい。
Further, in the above description, when writing (q-zm) blocks of data, the process of writing y blocks of data into one flash memory is performed by w +
Although the process of executing data in one flash memory in parallel and then writing (1-y) blocks of data in one flash memory is performed in parallel on w flash memories. However, the present invention is not limited to this. That is, as shown in FIG. 8A, data of the above (q-zm) blocks may be written in parallel to w + 1 flash memories.

【0045】もっとも、このようにすると、空き領域の
生じるブロックの数は2個以上になる場合がある。しか
しながら、その数は、上記従来技術を適用した場合と比
べると少なくなるのはいうまでもない。
In this case, however, the number of blocks having free areas may be two or more. However, it goes without saying that the number is smaller than in the case where the above-mentioned conventional technology is applied.

【0046】ところで、上記のように並列に書き込んだ
データを読み出したり書き換えたりするためには、当該
フラッシュメモリ21・22・23・24におけるデー
タ書き込み状態をアドレス管理制御部42が統括して管
理しておかなければならない。すなわち、アドレス管理
制御部42は、外部からアクセス要求される論理アドレ
スブロック毎に、以下のフィールドを備えたブロック管
理テーブル(図3参照)を生成するようになっている。
In order to read or rewrite the data written in parallel as described above, the address management control unit 42 manages the data writing state in the flash memories 21, 22, 23, and 24 in an integrated manner. Must be kept. That is, the address management control unit 42 generates a block management table (see FIG. 3) having the following fields for each logical address block requested to be accessed from outside.

【0047】まず、並列度フィールドとは、幾つのフラ
ッシュメモリに対して並列にデータが書き込まれたかを
示すフィールドをいう。すなわち、上記のように4ブロ
ック書き込みされた論理アドレスブロックの並列度フィ
ールドには、図3(a)に示すように「4」を設定す
る。一方、上記のように2ブロック書き込み及び1.5
ブロック書き込みされた論理アドレスブロックの並列度
フィールドには、図3(b)(c)に示すように「2」
を設定する。なお、未書き込み領域である論理アドレス
ブロックの並列度フィールドには「0」を設定してお
く。
First, the parallel degree field is a field indicating how many flash memories have data written in parallel. That is, "4" is set in the parallelism field of the logical address block in which four blocks have been written as described above, as shown in FIG. On the other hand, as described above, two-block writing and 1.5
As shown in FIGS. 3B and 3C, "2" is set in the parallel degree field of the logical address block in which the block is written.
Set. Note that “0” is set in the parallelism field of the logical address block that is an unwritten area.

【0048】次に、非並列セクタ数フィールドとは、当
該論理アドレスブロックに含まれる32個のセクタのう
ち、並列書き込みが行われていないセクタの数を示すフ
ィールドをいう。すなわち、上記のように4ブロック書
き込み及び2ブロック書き込みされた論理アドレスブロ
ックの非並列セクタ数フィールドには、図3(a)
(b)に示すように「0」を設定する。一方、上記のよ
うに1.5ブロック書き込みされた論理アドレスブロッ
クの非並列セクタ数フィールドには、図3(c)に示す
ように「16」を設定する。
Next, the non-parallel sector number field is a field indicating the number of sectors for which parallel writing has not been performed among the 32 sectors included in the logical address block. That is, the non-parallel sector number field of the logical address block in which the four blocks are written and the two blocks are written as described above is shown in FIG.
“0” is set as shown in FIG. On the other hand, as shown in FIG. 3C, "16" is set in the non-parallel sector number field of the logical address block in which 1.5 blocks have been written as described above.

【0049】次に、フラッシュメモリ指定フィールドと
は、当該論理アドレスブロックが存在するフラッシュメ
モリを示すフィールドをいう。例えば、上記フラッシュ
メモリ21内に存在する論理アドレスブロックのフラッ
シュメモリ指定フィールドには「0」を設定し、上記フ
ラッシュメモリ22内に存在する論理アドレスブロック
のフラッシュメモリ指定フィールドには「1」を設定す
る。また、上記フラッシュメモリ23内に存在する論理
アドレスブロックのフラッシュメモリ指定フィールドに
は「2」を設定し、上記フラッシュメモリ24内に存在
する論理アドレスブロックのフラッシュメモリ指定フィ
ールドには「3」を設定する。
Next, the flash memory designation field is a field indicating the flash memory in which the logical address block exists. For example, “0” is set in the flash memory designation field of the logical address block existing in the flash memory 21, and “1” is set in the flash memory designation field of the logical address block existing in the flash memory 22. I do. Also, "2" is set in the flash memory designation field of the logical address block existing in the flash memory 23, and "3" is set in the flash memory designation field of the logical address block existing in the flash memory 24. I do.

【0050】次に、物理アドレスフィールドとは、当該
論理アドレスブロックに対応する物理アドレスを示すフ
ィールドをいう。もちろん、このフィールドに設定する
物理アドレスは、上記フラッシュメモリ指定フィールド
に示されるフラッシュメモリ内の物理アドレスである。
Next, the physical address field is a field indicating a physical address corresponding to the logical address block. Of course, the physical address set in this field is the physical address in the flash memory indicated in the flash memory designation field.

【0051】次に、セクタ列管理情報フィールドとは、
並列書き込みの順番をセクタ単位で表したフィールドを
いう。例えば、フラッシュメモリ21→22→23→2
4→21→・・・の順に並列書き込みを行った場合は、
図3(a)に示すように、論理アドレスaに対応するセ
クタ列管理情報として「0」が、論理アドレスa+1に
対応するセクタ列管理情報として「1」が、論理アドレ
スa+2に対応するセクタ列管理情報として「2」が、
論理アドレスa+3に対応するセクタ列管理情報として
「3」が、それぞれ並ぶことになる。 〔第2のデータ書き込み制御方法〕ところで、フラッシ
ュメモリに書き込むデータは、一連の画像データや音楽
データ(1画像ファイルや1音楽ファイル)であるのが
通常である。従って、フラッシュメモリに書き込まれた
データを消去する場合も、一連の画像データや音楽デー
タ(すなわち、連続して書き込まれたデータ)を一括し
て消去する可能性が高い。そこで、上記第1のデータ書
き込み制御では、書き込み速度を低下させない観点か
ら、可能な限り並列書き込みを行うこととしている。
Next, the sector column management information field is:
A field indicating the order of parallel writing in sector units. For example, flash memory 21 → 22 → 23 → 2
When parallel writing is performed in the order of 4 → 21 →.
As shown in FIG. 3A, "0" is used as the sector column management information corresponding to the logical address a, "1" is used as the sector column management information corresponding to the logical address a + 1, and the sector column corresponding to the logical address a + 2 is used. "2" as management information,
"3" is arranged as sector column management information corresponding to the logical address a + 3. [Second Data Writing Control Method] By the way, the data to be written to the flash memory is usually a series of image data or music data (one image file or one music file). Therefore, when erasing data written in the flash memory, there is a high possibility that a series of image data and music data (that is, data written continuously) will be erased collectively. Therefore, in the first data writing control, parallel writing is performed as much as possible from the viewpoint of not lowering the writing speed.

【0052】しかしながら、上記第1のデータ書き込み
制御方法のように可能な限り並列書き込みを行うより
も、単一に書き込んだ方が、トータルでみるとフラッシ
ュメモリへの書き込みパフォーマンスが向上する場面も
ある。
However, in some cases, the performance of writing to the flash memory can be improved as a whole by performing a single write rather than performing a parallel write as much as possible as in the first data write control method. .

【0053】例えば、フラッシュメモリに書き込んだ音
楽データの編集作業においては、連続して書き込まれた
データの一部を書き換えたい場合がある。この場合、書
き換え対象であるデータは、図7(a)にハッチング領
域として示すように複数のブロックにわたって書き込ま
れているよりも、図7(b)にハッチング領域として示
すように1個のブロックに書き込まれている方がよい。
なぜなら、図7(a)に示す場面では、4個のブロック
について巻き込み退避処理をする必要があるのに対し、
図7(b)に示す場面では、1個のブロックについて巻
き込み退避処理をすればよいためである。
For example, in the editing work of music data written in a flash memory, there is a case where it is desired to rewrite a part of continuously written data. In this case, the data to be rewritten is written in one block as shown as a hatched area in FIG. 7B, rather than written over a plurality of blocks as shown as a hatched area in FIG. It is better to be written.
This is because in the scene shown in FIG. 7A, it is necessary to perform the entrainment and evacuation processing for four blocks,
This is because in the scene shown in FIG. 7B, the entrainment and retreat processing may be performed for one block.

【0054】このようなことから、上記第1のデータ書
き込み制御方法によって複数のフラッシュメモリへ連続
データを並列に書き込んだ後、万一、この連続データの
一部を書き換える必要が生じた場合は、以下の制御方法
を採用するのが好ましい。
From the above, if continuous data is written in parallel to a plurality of flash memories by the first data write control method, and if it becomes necessary to rewrite a part of the continuous data, It is preferable to employ the following control method.

【0055】まず、データ書き込み要求を受けたアドレ
ス管理制御部42は、上記ブロック管理テーブルの内容
を参照することによって、このデータ書き込み要求が、
連続データの一部を書き換えるための要求(以下「デー
タ書き換え要求」という場合がある)、あるいは、新規
に連続データを書き込むための要求(以下「新規データ
書き込み要求」という場合がある)のいずれであるかを
判断する。すなわち、既にデータの書き込まれている論
理アドレス領域に対するデータ書き込み要求であれば、
当該データ書き込み要求はデータ書き換え要求であると
判断し、一方、未だデータの書き込まれていない論理ア
ドレス領域に対するデータ書き込み要求であれば、当該
データ書き込み要求は新規データ書き込み要求であると
判断するようになっている。
First, the address management control unit 42, which has received the data write request, refers to the contents of the block management table to determine whether the data write request is
Either a request for rewriting part of continuous data (hereinafter sometimes referred to as a “data rewrite request”) or a request for writing new continuous data (hereinafter sometimes referred to as a “new data write request”) Determine if there is. That is, if it is a data write request to a logical address area in which data has already been written,
The data write request is determined to be a data rewrite request, while if the data write request is a data write request to a logical address area in which data has not yet been written, the data write request is determined to be a new data write request. Has become.

【0056】そして、当該データ書き込み要求は新規デ
ータ書き込み要求であると判断したアドレス管理制御部
42は、上記第1のデータ書き込み制御方法を採用する
ようになっている。一方、当該データ書き込み要求はデ
ータ書き換え要求であると判断したアドレス管理制御部
42は、更に、書き換え対象であるデータが属するブロ
ック内において、書き換えが必要でないデータが存在す
るか否かを判断する。
Then, the address management control unit 42 that has determined that the data write request is a new data write request adopts the first data write control method. On the other hand, the address management control unit 42 that has determined that the data write request is a data rewrite request further determines whether or not there is data that does not need to be rewritten in the block to which the data to be rewritten belongs.

【0057】例えば、図4に示すように、データ0〜4
7がフラッシュメモリ21・22に1.5ブロック書き
込みされている状況下、データ32〜47を書き換える
ための要求があった場合は、データ32〜47が属する
ブロック内において、書き換えが必要でないデータ0〜
31(但し、奇数を除く)が存在する。従って、この場
合のアドレス管理制御部42は「書き換えが必要でない
データが存在する」と判断することになり、以下の制御
を行う。
For example, as shown in FIG.
In a situation where 1.5 blocks have been written to the flash memories 21 and 22 and there is a request to rewrite the data 32 to 47, in the block to which the data 32 to 47 belongs, data 0 that does not need to be rewritten ~
31 (excluding odd numbers). Accordingly, in this case, the address management control unit 42 determines that "there is data that does not need to be rewritten", and performs the following control.

【0058】まず、アドレス管理制御部42は、書き換
えが必要でないデータ0〜31(32個のセクタデー
タ)と、当該書き込み要求されたデータ32〜47(1
6個のセクタデータ)との総和である1.5ブロック分
のデータを上記(q−zm)ブロック分のデータとみな
す。このとき、wは1であり、またyは0.5であるこ
とはいうまでもない。
First, the address management control unit 42 stores the data 0 to 31 (32 sector data) that do not need to be rewritten and the data 32 to 47 (1
The data of 1.5 blocks, which is the total sum of the data and 6 sector data), is regarded as the data of the above (q-zm) blocks. At this time, needless to say, w is 1 and y is 0.5.

【0059】そして、アドレス管理制御部42は、この
(q−zm)ブロック分のデータをw+1個のフラッシ
ュメモリ23・24に割り当てた状態で、各フラッシュ
メモリ23・24が持つ順番(ここでは23→24の順
番)で書き込むように制御する。すなわち、2個のブロ
ックに対して並列に書き込まれているデータ0〜31を
一旦バッファ33に読み出した後、フラッシュメモリ2
3の消去済領域へ単一に書き直し、次いでデータ32〜
47をフラッシュメモリ24の消去済領域へ単一に書き
込むように制御するようになっている。なお、このデー
タ32〜47は、外部から入出力制御部41・バッファ
34を介してアドレス管理制御部42に渡されるように
なっている。
The address management control unit 42 allocates the (q-zm) blocks of data to the w + 1 flash memories 23 and 24 and assigns the order (here, 23 (In the order of → 24). That is, the data 0 to 31 written in parallel to the two blocks are once read out to the buffer 33,
3 is rewritten singly into the erased area, and then the data 32-
47 is controlled so as to be written solely into the erased area of the flash memory 24. The data 32 to 47 are externally passed to the address management control unit 42 via the input / output control unit 41 and the buffer 34.

【0060】以上のように、第2のデータ書き込み制御
によれば、フラッシュメモリ23・24上のブロックに
は可能な限り連続データが並ぶことになる。このように
しておけば、データ0〜31或いはデータ32〜47を
再度書き換える必要が生じた場合、巻き込み退避処理は
発生しない。
As described above, according to the second data write control, blocks on the flash memories 23 and 24 are arranged with continuous data as much as possible. By doing so, when it becomes necessary to rewrite the data 0 to 31 or the data 32 to 47 again, the entanglement evacuation processing does not occur.

【0061】なお、上記では、「書き換えが必要でない
データが存在する」とアドレス管理制御部42が判断し
た場合の動作についてのみ説明した。すなわち、「書き
換えが必要でないデータが存在しない」とアドレス管理
制御部42が判断した場合の動作については言及してい
ないが、このように判断した場合のアドレス管理制御部
42は、上記第1のデータ書き込み制御方法を採用する
ようになっている。
In the above description, only the operation in the case where the address management control unit 42 determines that "data that does not need to be rewritten" exists has been described. That is, although the operation in the case where the address management control unit 42 determines that “there is no data that does not need to be rewritten” is not described, the address management control unit 42 in such a case determines A data write control method is adopted.

【0062】その理由は、「書き換えが必要でないデー
タが存在しない」とは、データの全部を書き換えること
を意味するからである。例えば、1.5ブロックの領域
に対して2ブロック分のデータ書き込み要求があるとい
うことは、以前の1.5ブロック分のデータが不用であ
ることを意味する。従って、このようなデータ書き込み
要求は、新規に連続データを書き込むための要求である
と考えるのが妥当である。
The reason is that “there is no data that does not need rewriting” means that all of the data is rewritten. For example, the fact that there is a data write request for two blocks in an area of 1.5 blocks means that the data for the previous 1.5 blocks is unnecessary. Therefore, it is appropriate to consider such a data write request to be a request for writing new continuous data.

【0063】最後に、上記した第2のデータ書き込み制
御例によってブロック管理テーブルの内容がどのように
遷移するかを図5に示す。なお、フィールド構成や設定
情報については、上記第1のデータ書き込み制御と同じ
であるため、ここでは説明を省略する。
Finally, FIG. 5 shows how the contents of the block management table change according to the above-described second data write control example. Note that the field configuration and the setting information are the same as those in the first data write control described above, and a description thereof will not be repeated.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を適用した記録装置のブロック図FIG. 1 is a block diagram of a recording apparatus to which the present invention is applied.

【図2】第1のデータ書き込み制御方法の説明図FIG. 2 is an explanatory diagram of a first data write control method.

【図3】第1のデータ書き込み制御時におけるブロック
管理テーブルの状態図
FIG. 3 is a state diagram of a block management table during first data write control;

【図4】第2のデータ書き込み制御方法の説明図FIG. 4 is an explanatory diagram of a second data write control method.

【図5】第2のデータ書き込み制御時におけるブロック
管理テーブルの状態図
FIG. 5 is a state diagram of a block management table at the time of second data write control;

【図6】データ書き込み制御方法の判別手法の説明図FIG. 6 is an explanatory diagram of a determination method of a data write control method.

【図7】データ書き換えの説明図FIG. 7 is an explanatory diagram of data rewriting.

【図8】(q−zm)ブロック分のデータの書き込み態
様を示す図
FIG. 8 is a diagram illustrating a writing mode of data for (q-zm) blocks.

【図9】ブロック・セクタ・巻き込み退避処理の説明図FIG. 9 is an explanatory diagram of a block / sector / entanglement evacuation process;

【図10】別個のデータが存在するブロックの説明図FIG. 10 is an explanatory diagram of a block in which separate data exists.

【符号の説明】[Explanation of symbols]

1 記録装置 21 フラッシュメモリ 22 フラッシュメモリ 23 フラッシュメモリ 24 フラッシュメモリ 31 バッファ 32 バッファ 33 バッファ 34 バッファ 41 入出力制御部 42 アドレス管理制御部 43 セレクタ Reference Signs List 1 recording device 21 flash memory 22 flash memory 23 flash memory 24 flash memory 31 buffer 32 buffer 33 buffer 34 buffer 41 input / output control unit 42 address management control unit 43 selector

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 消去処理が完了している記録領域に対し
てデータ書き込みを行い、かつ、複数の記録領域からな
る所定のブロック単位で一括してデ−タ消去を行う複数
の記録媒体に対し、外部から書き込み要求されたデータ
を並列に書き込む記録装置において、 上記外部から書き込み要求された全データのサイズを
q、上記記録媒体の数をm、上記ブロックのサイズをp
とし、上記外部から書き込み要求された全データのサイ
ズqを上記ブロックのサイズpで除してzm+w+y
(z:0≦zの整数,w:0≦w<mの整数,y:0≦
y<1)なる商を得たとき、zmブロック分のデータを
m個の記録媒体に対して並列に書き込み、その後、(q
−zm)ブロック分のデータをw+1(但し、y=0の
ときはw)個の記録媒体に対して書き込むように制御す
るアドレス管理制御部を備えたことを特徴とする記録装
置。
1. A method according to claim 1, wherein data is written to a recording area in which erasure processing has been completed, and data is erased collectively in a predetermined block unit including a plurality of recording areas. In a recording device for writing data externally requested to write in parallel, the size of all data externally requested to be written is q, the number of recording media is m, and the size of the block is p
And dividing the size q of all data requested to be written from the outside by the size p of the block, zm + w + y
(Z: integer of 0 ≦ z, w: integer of w ≦ w <m, y: 0 ≦
When a quotient y <1) is obtained, zm blocks of data are written in parallel to m recording media, and then (q
-Zm) A recording apparatus comprising an address management control unit for controlling writing of data for blocks to w + 1 (where w = 0 when y = 0) recording media.
【請求項2】 上記アドレス管理制御部は、上記(q−
zm)ブロック分のデータをw+1個の記録媒体に対し
て並列に書き込むように制御する請求項1に記載の記録
装置。
2. The address management control unit according to claim 1, wherein
2. The recording apparatus according to claim 1, wherein control is performed such that data of zm) blocks is written in parallel to w + 1 recording media.
【請求項3】 上記アドレス管理制御部は、上記(q−
zm)ブロック分のデータを書き込むに際しては、yブ
ロック分のデータを1個の記録媒体に書き込む処理をw
+1個の記録媒体に対して並列に実行し、その後、(1
−y)ブロック分のデータを1個の記録媒体に書き込む
処理をw個の記録媒体に対して並列に実行するように制
御する請求項1に記載の記録装置。
3. The address management control unit according to claim 2, wherein
zm) When writing data for blocks, the process of writing data for y blocks to one recording medium is performed by w
Are executed in parallel on +1 recording media, and then (1
2. The recording apparatus according to claim 1, wherein control is performed such that the processing for writing data for one block onto one recording medium is performed in parallel on w recording media.
【請求項4】 上記アドレス管理制御部は、上記(q−
zm)ブロック分のデータをw+1個の記録媒体に割り
当てた状態で各記録媒体が持つ順番で書き込むように制
御する請求項1に記載の記録装置。
4. The address management control unit according to claim 1, wherein:
2. The recording apparatus according to claim 1, wherein control is performed such that data of zm) blocks is written in the order of each recording medium in a state allocated to w + 1 recording media.
【請求項5】 上記アドレス管理制御部は、書き込み要
求先となる記録領域が属するブロック内において、書き
換えが必要でないデータが存在する場合は、この書き換
えが必要でないデータと当該書き込み要求されたデータ
との総和を上記(q−zm)ブロック分のデータとみな
して制御する請求項4に記載の記録装置。
5. The address management control unit, when there is data that does not need to be rewritten in a block to which a recording area to which a write request belongs belongs, the data that does not need to be rewritten and the data that is requested to be written 5. The recording apparatus according to claim 4, wherein the control is performed by regarding the sum total of (q-zm) blocks as data.
【請求項6】 上記アドレス管理制御部は、書き込み処
理が早く終了した記録媒体から順に次のデータを書き込
むように制御する請求項1に記載の記録装置。
6. The recording apparatus according to claim 1, wherein the address management control unit controls to write next data in order from a recording medium for which writing processing has been completed earlier.
【請求項7】 上記アドレス管理制御部は、書き込み先
でない記録媒体に消去処理の完了していないブロックが
存在する場合、該ブロックについての消去処理を当該書
き込み処理と並行して行う請求項1に記載の記録装置。
7. The method according to claim 1, wherein the address management control unit performs an erasing process on the block in parallel with the writing process, when there is a block on which the erasing process has not been completed on a recording medium that is not a writing destination. The recording device according to any one of the preceding claims.
【請求項8】 上記アドレス管理制御部は、外部からア
クセス要求される論理アドレスに対応して、 記録媒体を指定するための記録媒体指定情報、データが
書き込まれている記録媒体の物理アドレスを示す物理ア
ドレス情報、幾つの記録媒体に対して並列書き込みされ
たかを示す並列度情報、並列書き込みされていない記録
領域の数を示す非並列記録領域数情報、並列書き込みの
順番を記録領域単位で表した記録領域列管理情報のうち
の少なくとも1つの情報を設定可能な管理テーブルを備
えた請求項1に記載の記録装置。
8. The address management control unit indicates recording medium designation information for designating a recording medium and a physical address of a recording medium in which data is written, corresponding to a logical address requested to be accessed from outside. Physical address information, parallelism information indicating how many recording media were written in parallel, non-parallel recording area number information indicating the number of recording areas that were not written in parallel, and the order of parallel writing expressed in recording area units 2. The recording apparatus according to claim 1, further comprising a management table capable of setting at least one piece of recording area sequence management information.
【請求項9】 消去処理が完了している記録領域に対し
てデータ書き込みを行い、かつ、複数の記録領域からな
る所定のブロック単位で一括してデ−タ消去を行う複数
の記録媒体に対し、外部から書き込み要求されたデータ
を並列に書き込む記録制御方法において、 上記外部から書き込み要求された全データのサイズを
q、上記記録媒体の数をm、上記ブロックのサイズをp
とし、上記外部から書き込み要求された全データのサイ
ズqを上記ブロックのサイズpで除してzm+w+y
(z:0≦zの整数,w:0≦w<mの整数,y:0≦
y<1)なる商を得たとき、zmブロック分のデータを
m個の記録媒体に対して並列に書き込み、その後、(q
−zm)ブロック分のデータをw+1(但し、y=0の
ときはw)個の記録媒体に対して書き込むように制御す
ることを特徴とする記録制御方法。
9. A method for writing data to a recording area on which erasing processing has been completed and for a plurality of recording media for collectively erasing data in a predetermined block unit including a plurality of recording areas. In a recording control method of writing data externally requested to write in parallel, the size of all data externally requested to be written is q, the number of recording media is m, and the size of the block is p
And dividing the size q of all data requested to be written from the outside by the size p of the block, zm + w + y
(Z: integer of 0 ≦ z, w: integer of w ≦ w <m, y: 0 ≦
When a quotient y <1) is obtained, zm blocks of data are written in parallel to m recording media, and then (q
-Zm) A recording control method characterized by controlling data to be written to w + 1 (where w = 0 when y = 0) blocks of recording media.
【請求項10】 消去処理が完了している記録領域に対
してデータ書き込みを行い、かつ、複数の記録領域から
なる所定のブロック単位で一括してデ−タ消去を行う複
数の記録媒体に対し、外部から書き込み要求されたデー
タを並列に書き込む記録装置に、 上記外部から書き込み要求された全データのサイズを
q、上記記録媒体の数をm、上記ブロックのサイズをp
とし、上記外部から書き込み要求された全データのサイ
ズqを上記ブロックのサイズpで除してzm+w+y
(z:0≦zの整数,w:0≦w<mの整数,y:0≦
y<1)なる商を得たとき、zmブロック分のデータを
m個の記録媒体に対して並列に書き込み、その後、(q
−zm)ブロック分のデータをw+1(但し、y=0の
ときはw)個の記録媒体に対して書き込むように制御す
るアドレス管理制御処理を実行させることを特徴とする
プログラム。
10. A method for writing data to a recording area in which erasing processing has been completed and for a plurality of recording media for collectively erasing data in a predetermined block unit including a plurality of recording areas. The size of all data externally requested to be written is q, the number of recording media is m, and the size of the block is p.
And dividing the size q of all data requested to be written from the outside by the size p of the block, zm + w + y
(Z: integer of 0 ≦ z, w: integer of w ≦ w <m, y: 0 ≦
When a quotient y <1) is obtained, zm blocks of data are written in parallel to m recording media, and then (q
-Zm) a program for executing an address management control process for controlling writing of data for blocks to w + 1 (where w = 0 when y = 0) recording media.
【請求項11】 上記(q−zm)ブロック分のデータ
をw+1個の記録媒体に対して並列に書き込むように制
御する請求項10に記載のプログラム。
11. The program according to claim 10, wherein control is performed such that data for the (q-zm) blocks is written in parallel to w + 1 recording media.
【請求項12】 上記(q−zm)ブロック分のデータ
を書き込むに際しては、yブロック分のデータを1個の
記録媒体に書き込む処理をw+1個の記録媒体に対して
並列に実行し、その後、(1−y)ブロック分のデータ
を1個の記録媒体に書き込む処理をw個の記録媒体に対
して並列に実行するように制御する請求項10に記載の
プログラム。
12. When writing data of (q-zm) blocks, a process of writing data of y blocks on one recording medium is executed in parallel on w + 1 recording media, and thereafter, 11. The program according to claim 10, wherein (1-y) the program for controlling the process of writing the data of the block onto one recording medium is executed in parallel on w recording media.
【請求項13】 上記(q−zm)ブロック分のデータ
をw+1個の記録媒体に割り当てた状態で各記録媒体が
持つ順番で書き込むように制御する請求項10に記載の
プログラム。
13. The program according to claim 10, wherein the control is performed such that the data of the (q-zm) blocks is written in the order of each recording medium in a state where the data is allocated to w + 1 recording media.
【請求項14】 書き込み要求先となる記録領域が属す
るブロック内において、書き換えが必要でないデータが
存在する場合は、この書き換えが必要でないデータと当
該書き込み要求されたデータとの総和を上記(q−z
m)ブロック分のデータとみなして制御する請求項13
に記載のプログラム。
14. When data that does not need to be rewritten exists in a block to which a recording area to which a write request belongs belongs, the sum of the data that does not need to be rewritten and the data requested to be written is calculated by the above (q− z
m) The control is performed by regarding the data as blocks.
The program described in.
JP2001327430A 2000-10-26 2001-10-25 Recording apparatus and program Expired - Fee Related JP3992960B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001327430A JP3992960B2 (en) 2000-10-26 2001-10-25 Recording apparatus and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-326472 2000-10-26
JP2000326472 2000-10-26
JP2001327430A JP3992960B2 (en) 2000-10-26 2001-10-25 Recording apparatus and program

Publications (2)

Publication Number Publication Date
JP2002202912A true JP2002202912A (en) 2002-07-19
JP3992960B2 JP3992960B2 (en) 2007-10-17

Family

ID=26602797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001327430A Expired - Fee Related JP3992960B2 (en) 2000-10-26 2001-10-25 Recording apparatus and program

Country Status (1)

Country Link
JP (1) JP3992960B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029311A1 (en) * 2003-09-18 2005-03-31 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card, semiconductor memory control apparatus, and semiconductor memory control method
JP2006065380A (en) * 2004-08-24 2006-03-09 Sony Corp Data storage method
JP2006072452A (en) * 2004-08-31 2006-03-16 Sony Corp Data recording method
WO2006051780A1 (en) * 2004-11-10 2006-05-18 Matsushita Electric Industrial Co., Ltd. Nonvolatile memory device for matching memory controllers of different numbers of banks to be simultaneously accessed
JP2007517325A (en) * 2003-12-30 2007-06-28 サンディスク コーポレイション Data run programming
JP2007517320A (en) * 2003-12-30 2007-06-28 サンディスク コーポレイション Adaptive mode switching of flash memory address mapping based on host usage characteristics
KR100749298B1 (en) * 2003-08-06 2007-08-14 마쯔시다덴기산교 가부시키가이샤 Semiconductor memory card, and accessing device and method
JP2008226254A (en) * 2001-01-19 2008-09-25 Sandisk Corp Partial block data programming and reading operations in nonvolatile memory
JP2009531747A (en) * 2006-03-31 2009-09-03 モスエイド テクノロジーズ インコーポレイテッド Flash memory system control scheme
US8117380B2 (en) 2003-12-30 2012-02-14 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
JP2014035786A (en) * 2012-08-08 2014-02-24 Samsung Electronics Co Ltd Nonvolatile memory device and programming method
JP2016026346A (en) * 2006-12-20 2016-02-12 コンバーサント・インテレクチュアル・プロパティ・マネジメント・インコーポレイテッドConversant Intellectual Property Management Inc. Hybrid solid-state memory system having volatile memory and non-volatile memory

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008226254A (en) * 2001-01-19 2008-09-25 Sandisk Corp Partial block data programming and reading operations in nonvolatile memory
KR100749298B1 (en) * 2003-08-06 2007-08-14 마쯔시다덴기산교 가부시키가이샤 Semiconductor memory card, and accessing device and method
JPWO2005029311A1 (en) * 2003-09-18 2006-11-30 松下電器産業株式会社 Semiconductor memory card, semiconductor memory control device, and semiconductor memory control method
WO2005029311A1 (en) * 2003-09-18 2005-03-31 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card, semiconductor memory control apparatus, and semiconductor memory control method
US7654466B2 (en) 2003-09-18 2010-02-02 Panasonic Corporation Semiconductor memory card, semiconductor memory control apparatus, and semiconductor memory control method
US8117380B2 (en) 2003-12-30 2012-02-14 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
JP2007517325A (en) * 2003-12-30 2007-06-28 サンディスク コーポレイション Data run programming
JP2007517320A (en) * 2003-12-30 2007-06-28 サンディスク コーポレイション Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8745322B2 (en) 2003-12-30 2014-06-03 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US8301826B2 (en) 2003-12-30 2012-10-30 Sandisk Technologies Inc. Adaptive mode switching of flash memory address mapping based on host usage characteristics
JP2012099139A (en) * 2003-12-30 2012-05-24 Sandisk Corp Data run programming
JP4696501B2 (en) * 2004-08-24 2011-06-08 ソニー株式会社 Data recording method
JP2006065380A (en) * 2004-08-24 2006-03-09 Sony Corp Data storage method
JP2006072452A (en) * 2004-08-31 2006-03-16 Sony Corp Data recording method
WO2006051780A1 (en) * 2004-11-10 2006-05-18 Matsushita Electric Industrial Co., Ltd. Nonvolatile memory device for matching memory controllers of different numbers of banks to be simultaneously accessed
JP2009531747A (en) * 2006-03-31 2009-09-03 モスエイド テクノロジーズ インコーポレイテッド Flash memory system control scheme
JP2016026346A (en) * 2006-12-20 2016-02-12 コンバーサント・インテレクチュアル・プロパティ・マネジメント・インコーポレイテッドConversant Intellectual Property Management Inc. Hybrid solid-state memory system having volatile memory and non-volatile memory
JP2014035786A (en) * 2012-08-08 2014-02-24 Samsung Electronics Co Ltd Nonvolatile memory device and programming method

Also Published As

Publication number Publication date
JP3992960B2 (en) 2007-10-17

Similar Documents

Publication Publication Date Title
JP3905037B2 (en) Memory controller, flash memory system, and flash memory control method
JP4287433B2 (en) File recording device
JP4256600B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
KR101354152B1 (en) Method for command scheduling of virtual file system embodied in non-volatile data storage and apparatus thereof
EP2306321B1 (en) Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices
US7424593B2 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
JP2000067574A (en) Semiconductor memory
JP5175703B2 (en) Memory device
JPH08137634A (en) Flash disk card
JP2010102715A (en) Large block allocation for disk-based file system
JPH11134875A (en) Semiconductor memory and apparatus and method of controlling semiconductor memory
US7062630B2 (en) Storing device for writing data onto a plurality of installed storing mediums, storing control method for the storing device, and program thereof
JP2002202912A (en) Recording device, recording control method, and program
JP2003076605A (en) Semiconductor storage device with block erasing type non-volatile memory mounted thereon and its data writing/reading method
JP2003058417A (en) Storage device
JP2005078378A (en) Data storage device and data writing method in non-volatile memory
JP2000285688A (en) Non-volatile semiconductor memory
JP5687649B2 (en) Method for controlling semiconductor memory device
JP4316824B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2000285017A (en) Storage
JP5206103B2 (en) Storage device, storage device control system, storage device control method, and program
JP2005135544A (en) Semiconductor recording medium and data erasing method of semiconductor recording medium
JPH07160569A (en) Memory controller
JPH0764831A (en) Data storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070509

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120803

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130803

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees