[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7338149B2 - Storage controller and program - Google Patents

Storage controller and program Download PDF

Info

Publication number
JP7338149B2
JP7338149B2 JP2018230079A JP2018230079A JP7338149B2 JP 7338149 B2 JP7338149 B2 JP 7338149B2 JP 2018230079 A JP2018230079 A JP 2018230079A JP 2018230079 A JP2018230079 A JP 2018230079A JP 7338149 B2 JP7338149 B2 JP 7338149B2
Authority
JP
Japan
Prior art keywords
data
bit
processing unit
area
bit string
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.)
Active
Application number
JP2018230079A
Other languages
Japanese (ja)
Other versions
JP2020091796A (en
Inventor
直史 土屋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018230079A priority Critical patent/JP7338149B2/en
Publication of JP2020091796A publication Critical patent/JP2020091796A/en
Application granted granted Critical
Publication of JP7338149B2 publication Critical patent/JP7338149B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Description

本発明は、ストレージ制御装置及びプログラムに関する。 The present invention relates to a storage control device and program.

フラッシュメモリでは、単純に記録データの書き換えを行なうことはできず、ブロック単位で記録データをフラッシュ(別言すれば、「削除」)した後に新たなデータの書き込みが実施される。 In a flash memory, recorded data cannot be simply rewritten, and new data is written after the recorded data is flushed (in other words, "deleted") in units of blocks.

フローティングゲートに電荷を注入し、ドレインする操作では、絶縁体である酸化膜に電子を貫通させるため、書き込みに応じて記憶素子が劣化するという特性がある。 In the operation of injecting charge into the floating gate and draining it, electrons pass through the oxide film, which is an insulator, so that there is a characteristic that the storage element deteriorates according to writing.

フラッシュメモリへの書き込み回数制限はハードディスクに比べて顕著に低く、フラッシュメモリを記憶媒体として利用する際には書き込み回数を増やさないように配慮される場合がある。 The limit on the number of writes to flash memory is significantly lower than that of a hard disk, and when flash memory is used as a storage medium, consideration is sometimes given not to increase the number of writes.

書き込み制限による制約を受けずにフラッシュメモリを利用するためには、例えば、特定の領域に書き込みが集中しないようにウェアレベリングを行なったり、予め一定量の予備領域を確保して劣化による欠損を代替したりという制御が行なわれる。 In order to use flash memory without being restricted by write restrictions, for example, wear leveling is performed so that writing is not concentrated in a specific area, or a certain amount of spare area is reserved in advance to replace defects due to deterioration. Control is performed.

特開平10-320984号公報JP-A-10-320984

ハードディスクの代わりに、十分な回数の書き換えが可能な記憶領域として利用することを想定してフラッシュメモリが提供される場合には、予め十分な記憶量の予備領域が確保される。そのために、ユーザが利用可能な記憶領域は、物理的なフラッシュメモリの記憶領域よりもかなり小さくなるおそれがある。一方、予備領域を小さくすると、書き込み可能な回数が少なくなる。 If a flash memory is provided in place of a hard disk as a storage area that can be rewritten a sufficient number of times, a spare area with a sufficient amount of storage is reserved in advance. As a result, the storage space available to the user can be considerably smaller than the physical flash memory storage space. On the other hand, if the spare area is made smaller, the number of times that data can be written becomes smaller.

1つの側面では、書き換え可能回数に制限がある半導体記憶装置の記憶領域を有効に利用することを目的とする。 It is an object of one aspect of the present invention to effectively utilize a storage area of a semiconductor memory device having a limited number of rewritable times.

ストレージ制御装置は、半導体記憶装置の制御を行なうストレージ制御装置であって、ビット列を含むデータを記憶する前記半導体記憶装置の記憶領域に対して、連続する前記ビット列中の所定のセクタにおいて値が全て1である所定のビットパターンを除外して前記データを書き込む第1書き込み処理部と、前記記憶領域のうち削除可能なデータを記憶している領域に記憶されていない前記ビット列に対して、前記データの書き換えを行なわない一方、前記削除可能なデータを記憶している領域に記憶されることとなった前記ビット列に対して、1ビットの書き換えデータの値が0である場合には前記第1書き込み処理部によって書き込まれた前記ビット列における値を維持し、前記書き換えデータの値が1である場合には前記第1書き込み処理部によって書き込まれた前記ビット列における値を前記所定のビットパターンに書き換える第2書き込み処理部と、を備える。 A storage control device is a storage control device that controls a semiconductor memory device, and stores all values in a predetermined sector in the continuous bit string in a storage area of the semiconductor memory device that stores data including the bit string. a first write processing unit that writes the data while excluding a predetermined bit pattern of 1; is not rewritten, and the value of the 1-bit rewrite data is 0 for the bit string stored in the area storing the deletable data, the first write maintaining the value in the bit string written by the processing unit, and rewriting the value in the bit string written by the first write processing unit to the predetermined bit pattern when the value of the rewrite data is 1; and a write processing unit.

1つの側面では、書き換え可能回数に制限がある半導体記憶装置の記憶領域を有効に利用することができる。 In one aspect, it is possible to effectively use the memory area of the semiconductor memory device having a limited number of rewritable times.

実施形態の一例におけるストレージ装置の構成例を示す図である。It is a figure which shows the structural example of the storage apparatus in an example of embodiment. 3ビットのビットパターンを示すテーブルである。It is a table showing a 3-bit bit pattern. 図1に示したストレージ装置で利用されるデータの追記前のビットパターンを示すテーブルである。2 is a table showing bit patterns before additional writing of data used in the storage device shown in FIG. 1; 図1に示したストレージ装置で利用されるデータの追記後のビットパターンを示すテーブルである。FIG. 2 is a table showing bit patterns after additional writing of data used in the storage device shown in FIG. 1; FIG. 図1に示したストレージ装置における書き込みデータ領域と追加領域との第1の例を示すテーブルである。2 is a table showing a first example of write data areas and additional areas in the storage device shown in FIG. 1; 図1に示したストレージ装置におけるデータの追記前後での表現可能なビットパターンの種類を示すテーブルである。2 is a table showing the types of bit patterns that can be expressed before and after data is additionally written in the storage device shown in FIG. 1; 図1に示したストレージ装置における書き込みデータ領域と追加領域との第2の例を示すテーブルである。4 is a table showing a second example of write data areas and additional areas in the storage device shown in FIG. 1; 図1に示したストレージ装置におけるデータの追記前の1ブロックの空き領域ビットマップを例示するテーブルである。3 is a table exemplifying a free area bitmap of one block before data is additionally written in the storage device shown in FIG. 1; 図1に示したストレージ装置におけるデータの追記後の1ブロックの空き領域ビットマップを例示するテーブルである。3 is a table exemplifying a free area bitmap of one block after data is additionally written in the storage device shown in FIG. 1; 図1に示したストレージ装置におけるデータの変換テーブルを示す図である。2 is a diagram showing a data conversion table in the storage device shown in FIG. 1; FIG. 図1に示したストレージ装置における追記データ計算テーブルを示す図である。2 is a diagram showing an additional data calculation table in the storage device shown in FIG. 1; FIG. 図1に示したストレージ装置における管理領域のレコード形式を示すテーブルである。2 is a table showing a record format of a management area in the storage device shown in FIG. 1; 図1に示したストレージ装置におけるデータの書き込み処理を説明するフローチャートである。3 is a flowchart for explaining data write processing in the storage device shown in FIG. 1; 図1に示したストレージ装置におけるデータの読み込み処理を説明するフローチャートである。3 is a flowchart for explaining data reading processing in the storage device shown in FIG. 1; 関連例におけるデータ配置割合の一例を示すテーブルである。It is a table which shows an example of the data allocation ratio in a related example. 図1に示したストレージ装置におけるデータ配置割合の一例を示すテーブルである。2 is a table showing an example of data allocation ratios in the storage device shown in FIG. 1;

以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。 An embodiment will be described below with reference to the drawings. However, the embodiments shown below are merely examples, and are not intended to exclude the application of various modifications and techniques not explicitly described in the embodiments. In other words, the present embodiment can be modified in various ways without departing from the spirit of the embodiment.

また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。 Also, each drawing does not mean that it has only the constituent elements shown in the drawing, but can include other functions and the like.

以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。 In the following figures, the same reference numerals denote the same parts, so the description thereof will be omitted.

〔A〕実施形態の一例
〔A-1〕システム構成例
図1は、実施形態の一例におけるストレージ装置1の構成例を示す図である。
[A] Example of Embodiment [A-1] System Configuration Example FIG. 1 is a diagram showing a configuration example of a storage device 1 in an example of an embodiment.

ストレージ装置1は、例えばフラッシュメモリであり、制御部10及び記録領域部20を備える。 The storage device 1 is, for example, a flash memory, and includes a control section 10 and a recording area section 20 .

記録領域部20は、フラッシュデバイス等の半導体記憶装置であり、管理情報領域部21及びデータ格納領域部22を備える。 The recording area section 20 is a semiconductor storage device such as a flash device, and includes a management information area section 21 and a data storage area section 22 .

管理情報領域部21は、アドレッシングに関する情報や追記の有無を示す情報,ビットマップ等を管理情報として記憶する。管理情報領域部21の詳細については、図12等を用いて後述する。 The management information area section 21 stores information about addressing, information indicating the presence or absence of additional writing, a bitmap, etc. as management information. Details of the management information area section 21 will be described later with reference to FIG. 12 and the like.

データ格納領域部22は、実データを記憶する。データ格納領域部22の詳細については、図5及び図7等を用いて後述する。 The data storage area unit 22 stores actual data. Details of the data storage area section 22 will be described later with reference to FIGS. 5 and 7 and the like.

制御部10は、ストレージ制御装置と称されてもよく、例えば、Central Processing Unit(CPU)やMicro Processing Unit(MPU),Digital Signal Processor(DSP),Application Specific Integrated Circuit(ASIC),Programmable Logic Device(PLD),Field Programmable Gate Array(FPGA)のいずれか一つであってもよい。また、制御部10は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。 The control unit 10 may be referred to as a storage control device, and includes, for example, a Central Processing Unit (CPU), a Micro Processing Unit (MPU), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Programmable Logic Device ( PLD) or Field Programmable Gate Array (FPGA). Also, the control unit 10 may be a combination of two or more types of elements among CPU, MPU, DSP, ASIC, PLD, and FPGA.

制御部10は、例示的に、種々の制御や演算を行なう処理装置であり、第1変換処理部11,第2変換処理部12,書き込み処理部14,読み込み処理部15,算出部16,領域確保処理部17及び領域確認処理部18として機能する。また、制御部10は、変換テーブル13及び空き領域ビットマップ19を保持する。 The control unit 10 is illustratively a processing device that performs various controls and calculations, and includes a first conversion processing unit 11, a second conversion processing unit 12, a write processing unit 14, a read processing unit 15, a calculation unit 16, a region It functions as a reservation processing unit 17 and an area confirmation processing unit 18 . The control unit 10 also holds a conversion table 13 and a free space bitmap 19 .

なお、これらの第1変換処理部11,第2変換処理部12,書き込み処理部14,読み込み処理部15,算出部16,領域確保処理部17及び領域確認処理部18としての機能を実現するためのプログラムは、例えばフレキシブルディスク、CD(CD-ROM、CD-R、CD-RW等)、DVD(DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW、HD DVD等)、ブルーレイディスク、磁気ディスク、光ディスク、光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供されてよい。そして、コンピュータ(本実施形態では制御部10)は上述した記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いてよい。また、プログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、記憶装置から通信経路を介してコンピュータに提供してもよい。 In order to realize the functions of the first conversion processing unit 11, the second conversion processing unit 12, the writing processing unit 14, the reading processing unit 15, the calculation unit 16, the area reservation processing unit 17, and the area confirmation processing unit 18, For example, a flexible disk, CD (CD-ROM, CD-R, CD-RW, etc.), DVD (DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, HD DVD, etc.) , Blu-ray disc, magnetic disc, optical disc, magneto-optical disc, or other computer-readable recording medium. Then, the computer (the control unit 10 in this embodiment) may read the program from the above-described recording medium via a reading device (not shown), transfer the program to an internal recording device or an external recording device, and store the program therein. Alternatively, the program may be recorded in a storage device (recording medium) such as a magnetic disk, optical disk, or magneto-optical disk, and provided to the computer from the storage device via a communication path.

制御部10としての機能を実現する際には、内部記憶装置(本実施形態では記録領域部20)に格納されたプログラムがコンピュータ(本実施形態では制御部10)によって実行されてよい。また、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。 When realizing the function of the control unit 10, a program stored in the internal storage device (recording area unit 20 in this embodiment) may be executed by the computer (control unit 10 in this embodiment). Also, a computer may read and execute a program recorded on a recording medium.

第1変換処理部11は、例えば、14ビット(bit)表記のデータを15ビット表記に変換する。 The first conversion processing unit 11 converts, for example, data in 14-bit notation into 15-bit notation.

第2変換処理部12は、例えば、15ビット表記のデータを14ビット表記に変換する。 The second conversion processing unit 12, for example, converts data in 15-bit notation into 14-bit notation.

変換テーブル13は、第1変換処理部11及び第2変換処理部12によって、14ビット表記と15ビット表記との間の変換のために使用されるテーブルである。変換テーブル13の詳細については、図10を用いて後述する。 The conversion table 13 is a table used by the first conversion processing unit 11 and the second conversion processing unit 12 for conversion between 14-bit notation and 15-bit notation. Details of the conversion table 13 will be described later with reference to FIG.

書き込み処理部14は、データ格納領域部22にデータを書き込む。 The write processing unit 14 writes data to the data storage area unit 22 .

読み込み処理部15は、データ格納領域部22からデータを読み込む。 The read processing unit 15 reads data from the data storage area unit 22 .

算出部16は、追記前のデータを14ビット毎に分割する。また、算出部16は、データ格納領域部22に追記される追記データを算出する。 The calculation unit 16 divides the data before additional writing into 14-bit units. Further, the calculation unit 16 calculates additional data to be added to the data storage area unit 22 .

領域確保処理部17は、データ格納領域部22における特定の領域のデータをフラッシュ(別言すれば、「削除」)して、空き領域を確保する。 The area reservation processing unit 17 flushes (in other words, “deletes”) data in a specific area in the data storage area unit 22 to reserve a free area.

領域確認処理部18は、空き領域ビットマップ19を参照して、データ格納領域部22における空き領域又は追記データを書き込み可能な領域を確認する。また、領域確認処理部18は、空き領域又は追記データを書き込み可能な領域が不足している場合に、領域確保処理部17に特定のデータのフラッシュを指示する。 The area confirmation processing unit 18 refers to the empty area bitmap 19 to confirm an empty area in the data storage area unit 22 or an area in which additional data can be written. Further, the area confirmation processing unit 18 instructs the area reservation processing unit 17 to flash specific data when the free area or the area in which the additional data can be written is insufficient.

空き領域ビットマップ19は、データ格納領域部22における空き領域又は追記データを書き込み可能な領域を示す。空き領域ビットマップ19の詳細については、図8及び図9を用いて後述する。 The empty area bitmap 19 indicates an empty area in the data storage area unit 22 or an area in which additional data can be written. Details of the free space bitmap 19 will be described later with reference to FIGS. 8 and 9. FIG.

図2は、3ビットのビットパターンを示すテーブルである。 FIG. 2 is a table showing 3-bit bit patterns.

nビットの記憶単位を想定する。図3に示す例では、n=3の場合を示す。nビットの場合にとり得るパターン数(別言すれば、「状態の数」)は2であるため、3ビットの場合にとり得るパターン数は図示するように2=8である。 Assume an n-bit storage unit. The example shown in FIG. 3 shows the case of n=3. Since the number of possible patterns (in other words, "the number of states") for n bits is 2 n , the number of possible patterns for 3 bits is 2 3 =8 as shown.

図3は、図1に示したストレージ装置1で利用されるデータの追記前のビットパターンを示すテーブルである。 FIG. 3 is a table showing bit patterns before additional writing of data used in the storage device 1 shown in FIG.

ここで、図3に示すように、全ビットが“1”である「状態8」を除外し(符号A1参照)、2-1=2-1=7通りの状態を想定する。すなわち、情報量して、2log(7)ビットのデータが書き込める。 Here, as shown in FIG. 3, "state 8" in which all bits are "1" is excluded (see symbol A1), and 2 n -1=2 3 -1=7 states are assumed. That is, 2log(7)-bit data can be written as information amount.

図4は、図1に示したストレージ装置1で利用されるデータの追記後のビットパターンを示すテーブルである。 FIG. 4 is a table showing bit patterns after additional writing of data used in the storage device 1 shown in FIG.

データ格納領域部22における領域をフラッシュせずに追加で1ビットのデータを書き込むことを想定する、書き込みに際しては、追記状態として、全ビットが1の状態を“1”とし(符号B1参照)、それ以外の状態を“0”とする。 Assuming that 1-bit data is additionally written without flushing the area in the data storage area 22, when writing, the state in which all bits are 1 is set to "1" (see symbol B1). Other states are set to "0".

図5は、図1に示したストレージ装置1における書き込みデータ領域と追加領域との第1の例を示すテーブルである。 FIG. 5 is a table showing a first example of write data areas and additional areas in the storage device 1 shown in FIG.

例えば、4キビバイト(KiB)のデータを3ビットの記録単位(n=3)で記録するためには、4378バイトが利用される。すなわち、4096バイトの書き込みデータに加えて、追加領域として282バイトが必要となる。 For example, 4378 bytes are used to record data of 4 kibibytes (KiB) in 3-bit recording units (n=3). That is, in addition to 4096 bytes of write data, 282 bytes are required as an additional area.

図6は、図1に示したストレージ装置1におけるデータの追記前後での表現可能なビットパターンの種類を示すテーブルである。 FIG. 6 is a table showing the types of bit patterns that can be expressed before and after data is additionally written in the storage device 1 shown in FIG.

書き込み及び読み込みの際には、データは、3ビット表記と2log(7)ビット表記との間で変換される。ここでは、一例として、15ビット表記と14ビット表記との間の変換について説明する。 When writing and reading, data is converted between 3-bit and 2log(7)-bit representations. Here, as an example, conversion between 15-bit notation and 14-bit notation will be described.

14ビットで表現できるパターンは16384通りである(符号C1参照)のに対して、15ビット(すなわち、3ビット×5)において表現できるパターンは7=16807通りである(符号C2参照)。この場合には、14ビットに対して1ビット分の領域が余分に必要となるため、約7%の容量が追加される。 There are 16384 patterns that can be represented by 14 bits (see symbol C1), while there are 7 5 =16807 patterns that can be represented by 15 bits (ie, 3 bits×5) (see symbol C2). In this case, since an extra 1-bit area is required for 14 bits, about 7% of capacity is added.

図7は、図1に示したストレージ装置1における書き込みデータ領域と追加領域との第2の例を示すテーブルである。 FIG. 7 is a table showing a second example of write data areas and additional areas in the storage device 1 shown in FIG.

4Kib(すなわち、4096バイト)は32768ビットであるため、14ビット×2341で収まる。14ビットから15ビットに変換すると、15ビット×2341=35115ビットとなり、4390ビットで収まる。 4Kib (ie, 4096 bytes) is 32768 bits, so it fits in 14 bits x 2341. Converting from 14 bits to 15 bits results in 15 bits×2341=35115 bits, which fits in 4390 bits.

そこで、図7に示すように、4096バイトの書き込みデータに加えて、追加領域として294バイトを用意する。また、ブロックサイズは、64ページ(別言すれば、「セクタ」)とする。 Therefore, as shown in FIG. 7, 294 bytes are prepared as an additional area in addition to 4096 bytes of write data. Also, the block size is assumed to be 64 pages (in other words, "sector").

図8は、図1に示したストレージ装置1におけるデータの追記前の1ブロックの空き領域ビットマップ19を例示するテーブルである。 FIG. 8 is a table exemplifying the free area bitmap 19 of one block before data is additionally written in the storage device 1 shown in FIG.

図8に示すブロックは、64ページで構成されている。 The block shown in FIG. 8 consists of 64 pages.

データの追記前において、各ページには4KiB分のデータが書き込まれる。そして、本実施形態の一例では、削除可能な(別言すれば、「トリムされた」)任意の3ページを使用し、1セクタ分の追記データが書き込まれる。追記書き込みは3ビットに対して1ビット分の情報量となるため、4KiBのデータを書き込むためには12KiB分の領域が必要となる。 Before data is additionally written, 4 KiB of data is written to each page. Then, in one example of this embodiment, any three pages that can be deleted (in other words, "trimmed") are used to write one sector of additional data. Since the amount of information for additional write is 1 bit for 3 bits, an area of 12 KiB is required to write 4 KiB of data.

3ページを用いて1セクタ分の情報を書き込んでいるため、一時的に提供可能なデータ容量は減少されるが、減少したデータ容量はSolid State Drive(SSD)デバイス全体で有しているスペア領域で補うことができる。また、スペア領域が減少した場合や、一定量のページが追記書き込みされたブロック、ウェアレベリング処理の対象ブロックについては、フラッシュされてよい。 Since one sector of information is written using three pages, the data capacity that can be temporarily provided is reduced, but the reduced data capacity is the spare area of the entire Solid State Drive (SSD) device. can be supplemented with In addition, when the spare area is reduced, a block to which a certain amount of pages has been additionally written, and a block targeted for wear leveling processing may be flushed.

図8に示すブロックは、30個の削除可能なページを有している。3ページ使用して1ページ分の情報を追記可能であるため、フラッシュせずに10ページ分の情報を追記できる。 The block shown in FIG. 8 has 30 removable pages. Since one page of information can be additionally written using three pages, ten pages of information can be additionally written without flashing.

図9は、図1に示したストレージ装置1におけるデータの追記後の1ブロックの空き領域ビットマップ19を例示するテーブルである。 FIG. 9 is a table exemplifying the free area bitmap 19 of one block after data is additionally written in the storage device 1 shown in FIG.

図1に示した管理情報領域部21には、ページ毎に追記書き込みを行なっているかの情報が1ブロックにつき64ビットで保存される。 In the management information area 21 shown in FIG. 1, information indicating whether additional writing is being performed for each page is stored in 64 bits per block.

ここで、単純に3倍に増えた追記領域へのポインタをそのまま記録する場合には、3倍のアドレス領域が必要となる。しかしながら、一連の追記は一定の近いページ内に収められるため、次の領域を何ページ後に書き込んだという形式で記録することで、アドレスの記録のために必要な領域を抑えることができる。 Here, in the case of simply recording the pointer to the additional write area increased three times as it is, the address area three times larger is required. However, since a series of additional writes can be stored in a certain close page, recording the next area in the format of how many pages after writing can reduce the area required for address recording.

例えば、64ビットのアドレッシングであるとし、図9に示す「追記9-1」の位置をポイントし、次の領域「追記9-2」は1ページ後であり、その次の領域「追記9-3」は4ページ後として記録される。 For example, assuming 64-bit addressing, pointing to the position of "Addendum 9-1" shown in FIG. 9, the next area "Addendum 9-2" is one page later, 3” is recorded as 4 pages later.

何ページ後に後続の追記データが記録されているかを示す情報にそれぞれ4ビットが割り当てられる。「追記X-1」から「追記X-2」までの間隔と、「追記X-2」から「追記X-3」までの間隔は、それぞれ16ページ以内となる。従って、アドレッシングには、64ビット+4ビット×2=72ビットが使用される。一方、単純に全領域をアドレッシングすると64ビット×3=192ビットとなり、アドレッシングに使用される領域が72ビットよりも多くなる。 4 bits are allocated to information indicating after how many pages subsequent additional data is recorded. The interval from "addition X-1" to "addition X-2" and the interval from "addition X-2" to "addition X-3" are each within 16 pages. Therefore, 64 bits + 4 bits x 2 = 72 bits are used for addressing. On the other hand, simply addressing the entire area results in 64 bits×3=192 bits, and the area used for addressing is greater than 72 bits.

図10は、図1に示したストレージ装置1におけるデータの変換テーブル13を示す図である。 FIG. 10 shows the data conversion table 13 in the storage device 1 shown in FIG.

変換テーブル13では、10進数の元データと、2進数で14ビットの元データと、2進数で15ビットの変換後データとが、対応付けられている。この変換テーブル13を用いて、14ビット表記から15ビット表記への変換と、15ビット表記から14ビット表記への変換とが、実施される。 In the conversion table 13, the original data in decimal number, the original data in binary number of 14 bits, and the converted data in binary number of 15 bits are associated with each other. Conversion from 14-bit notation to 15-bit notation and conversion from 15-bit notation to 14-bit notation are performed using this conversion table 13 .

図示する例において、10進数の元データ“7”,“14”,“21”及び“28”では、追記の実施が可能なように、変換後データにおいて“111”がスキップされる。 In the illustrated example, in the original decimal data "7", "14", "21" and "28", "111" is skipped in the converted data so that additional writing can be performed.

すなわち、書き込み処理部14は、記録領域部20のデータ格納領域部22に対して、連続するビット列において所定のビットパターンを除外してデータを書き込む第1書き込み処理部の一例として機能する。具体的には、書き込み処理部14は、ビット列における値が全て“1”である所定のビットパターンを除外してデータを書き込む。 That is, the write processing unit 14 functions as an example of a first write processing unit that writes data to the data storage area 22 of the recording area 20 by excluding a predetermined bit pattern in a continuous bit string. Specifically, the write processing unit 14 writes data while excluding a predetermined bit pattern in which all the values in the bit string are "1".

図10に示す例において、ビット列の長さは、変換後データのピリオドで区切られている3ビットである。 In the example shown in FIG. 10, the length of the bit string is 3 bits separated by periods of the transformed data.

また、読み込み処理部15は、読み込み対象のデータが追記データでない場合には、当該読み込み対象のデータを所定のビットパターンを含む元データの形式に変換してデータを読み込む第1読み込み処理部の一例として機能する。 Further, when the data to be read is not additional data, the read processing unit 15 is an example of a first read processing unit that converts the data to be read into the format of original data including a predetermined bit pattern and reads the data. function as

図11は、図1に示したストレージ装置1における追記データ計算テーブルを示す図である。 FIG. 11 is a diagram showing a postscript data calculation table in the storage device 1 shown in FIG.

追記データ計算テーブルでは、追記データが“0”の場合には、元の書き込み状態と追記状態とが一致する。一方、追記データが“1”の場合には、元の書き込み状態にかかわらず追記状態において全ビットが“1”となる。 In the postscript data calculation table, when the postscript data is "0", the original write state and the postscript state match. On the other hand, when the additional write data is "1", all bits are "1" in the additional write state regardless of the original write state.

この追記データ計算テーブルを用いて、追記データの計算が実施される。 The postscript data calculation table is used to calculate the postscript data.

すなわち、書き込み処理部14は、データ格納領域部22のうち削除可能なデータを記憶している領域のビット列に対して、所定のビットパターンを書き込むことにより、追記データを書き込む第2書き込み処理部の一例として機能する。具体的には、書き込み処理部14は、追記データの値が“0”である場合には書き込まれたビット列における値を維持する一方、追記データの値が“1”である場合には書き込まれたビット列における値を全て“1”に書き換える。 That is, the write processing unit 14 writes a predetermined bit pattern to the bit string of the area storing the deletable data in the data storage area unit 22, thereby causing the second write processing unit to write additional data. Serves as an example. Specifically, the write processing unit 14 maintains the value in the written bit string when the value of the additional data is "0", and maintains the value in the written bit string when the value of the additional data is "1". Rewrite all the values in the bit string that has been read to "1".

また、読み込み処理部15は、読み込み対象のデータが追記データである場合には、データの書き込み単位であるセクタに対応する、追記データの書き込み単位であるセクタ群を読み込む第2読み込み処理部の一例として機能する。読み込み処理部15は、ビット列の値の少なくともいずれかが“0”である場合には当該ビット列の値を“0”として読み込む一方、ビット列の値が全て“1”である場合には当該ビット列の値を“1”として読み込む。 Further, when the data to be read is additional data, the read processing unit 15 is an example of a second read processing unit that reads a group of sectors, which are write units of the additional data, corresponding to the sectors, which are the units of data writing. function as The reading processing unit 15 reads the value of the bit string as "0" when at least one of the values of the bit string is "0", and reads the value of the bit string as "0" when all the values of the bit string are "1". Read the value as "1".

図12は、図1に示したストレージ装置1における管理情報領域部21のレコード形式を示すテーブルである。 FIG. 12 is a table showing the record format of the management information area section 21 in the storage device 1 shown in FIG.

図12に示すように、管理情報領域部21は、0~31ビットが論理セクタアドレスであり、32~63ビットが物理セクタアドレスであり、64ビットが追記ビットであり、65~127ビットが予備領域である。 As shown in FIG. 12, in the management information area 21, 0 to 31 bits are the logical sector address, 32 to 63 bits are the physical sector address, 64 bits are the additional bits, and 65 to 127 bits are spare bits. area.

クライアントが認識する論理セクタアドレスのデータは、データ格納領域部22における物理セクタアドレスに書き込まれる。 The data of the logical sector address recognized by the client is written to the physical sector address in the data storage area section 22 .

追記ビットは、対象データが通常書き込みデータであるか、追記データであるかを示す。追記データは連続した3セクタに書き込まれる。 The write-once bit indicates whether the target data is normal write data or write-once data. Additional data is written in three consecutive sectors.

予備領域には、3セクタの相対アドレスポインタ情報が書き込まれることにより、連続しない領域におけるページを追記データの書き込み領域として利用できる。 By writing three sectors of relative address pointer information in the spare area, pages in the discontinuous area can be used as write areas for additional data.

すなわち、書き込み処理部14は、記録領域部20の管理情報領域部21に対して、データの書き込み単位であるセクタに対応する、追記データの書き込み単位であるセクタ群を構成する各セクタの間隔を書き込む第2書き込み処理部の一例として機能する。 That is, the write processing unit 14 sets the interval between the sectors constituting the sector group, which is the write unit of additional data, corresponding to the sector, which is the unit of data write, in the management information area 21 of the recording area 20. It functions as an example of a second write processing unit that writes.

〔A-2〕動作例
図1に示したストレージ装置1におけるデータの書き込み処理を、図13に示すフローチャート(ステップS1~S12)を用いて説明する。
[A-2] Operation Example A data write process in the storage device 1 shown in FIG. 1 will be described with reference to the flowchart (steps S1 to S12) shown in FIG.

領域確認処理部18は、データ格納領域部22において空き領域があるかを確認する(ステップS1)。 The area confirmation processing unit 18 confirms whether there is an empty area in the data storage area unit 22 (step S1).

空き領域がある場合には(ステップS1のYesルート参照)、算出部16は、書き込みデータを14ビット毎に分割する(ステップS2)。 If there is an empty area (see Yes route in step S1), the calculator 16 divides the write data into 14-bit units (step S2).

第1変換処理部11は、書き込みデータを14ビット表記から15ビット表記へ変換する(ステップS3)。 The first conversion processing unit 11 converts the write data from 14-bit notation to 15-bit notation (step S3).

書き込み処理部14は、変換されたデータをデータ格納領域部22に書き込む処理を行なう(ステップS4)。 The write processing unit 14 writes the converted data into the data storage area unit 22 (step S4).

書き込み処理部14は、管理情報領域部21における管理情報を更新する(ステップS5)。そして、データの書き込み処理は終了する。 The write processing section 14 updates the management information in the management information area section 21 (step S5). Then, the data write processing ends.

ステップS1において、空き領域がない場合には(ステップS1のNoルート参照)、領域確認処理部18は、データ格納領域部22において追記可能領域があるかを確認する(ステップS6)。 In step S1, if there is no free space (see No route in step S1), the area confirmation processing unit 18 confirms whether or not there is a recordable area in the data storage area unit 22 (step S6).

追記可能領域がない場合には(ステップS6のNoルート参照)、領域確保処理部17は、データ格納領域部22において空き領域を確保する(ステップS7)。そして、処理はステップS2に移行する。 If there is no recordable area (see No route in step S6), the area reservation processing section 17 reserves a free area in the data storage area section 22 (step S7). Then, the process moves to step S2.

ステップS6において、追記可能領域がある場合には(ステップS6のYesルート参照)、読み込み処理部15は、データ格納領域部22から書き込み対象の3セクタを読み込む(ステップS8)。 In step S6, if there is a recordable area (see Yes route in step S6), the read processing unit 15 reads 3 sectors to be written from the data storage area unit 22 (step S8).

算出部16は、書き込みデータを図11に示した追記データ計算テーブルに従って算出する(ステップS9)。すなわち、書き込み対象の3セクタにおいて、追記データが“0”の場合には元の書き込み状態が維持され、追記データが“1”の場合には全ビットが“1”に変更される。 The calculator 16 calculates the write data according to the additional data calculation table shown in FIG. 11 (step S9). That is, in the three sectors to be written, if the additional data is "0", the original write state is maintained, and if the additional data is "1", all bits are changed to "1".

算出部16は、追記データを作成する(ステップS10)。 The calculation unit 16 creates postscript data (step S10).

書き込み処理部14は、データ格納領域部22における書き込み対象の3セクタに対して、追記データの書き込み処理を行なう(ステップS11)。 The write processing unit 14 writes additional data to the three sectors to be written in the data storage area unit 22 (step S11).

書き込み処理部14は、管理情報領域部21の管理情報において、書き込み対象の3セクタについて追記ビットありに更新する(ステップS12)。そして、データの書き込み処理は終了する。 The write processing unit 14 updates the management information in the management information area unit 21 so that the three sectors to be written have additional bits (step S12). Then, the data write processing ends.

次に、図1に示したストレージ装置1におけるデータの読み込み処理を、図14に示すフローチャート(ステップS21~S26)を用いて説明する。 Next, the data read processing in the storage device 1 shown in FIG. 1 will be described using the flowchart (steps S21 to S26) shown in FIG.

読み込み処理部15は、管理情報領域部21における管理情報を確認する(ステップS21)。 The read processing unit 15 confirms the management information in the management information area unit 21 (step S21).

読み込み処理部15は、読み込み対象のセクタが追記データであるかを判定する(ステップS22)。 The read processing unit 15 determines whether the read target sector is additional data (step S22).

読み込み対象のセクタが追記データでない場合には(ステップS22のNoルート参照)、読み込み処理部15は、読み込み対象の物理セクタを読み込む(ステップS23)。 If the read target sector is not the additional data (see No route in step S22), the read processing unit 15 reads the read target physical sector (step S23).

第2変換処理部12は、読み込みデータを15ビット表記から14ビット表記へ変換する(ステップS24)。そして、データの読み込み処理は終了する。 The second conversion processing unit 12 converts the read data from 15-bit notation to 14-bit notation (step S24). Then, the data reading process ends.

ステップS22において、読み込み対象のセクタが追記データである場合には(ステップS22のYesルート参照)、読み込み処理部15は、読み込み対象の物理セクタとして3セクタを読み込む(ステップS25)。 In step S22, if the sector to be read is additional data (see Yes route in step S22), the read processing unit 15 reads 3 sectors as physical sectors to be read (step S25).

算出部16は、読み込みデータから追記データを図11に示した追記データ計算テーブルに従って算出する(ステップS26)。すなわち、読み込み対象の3セクタのうちいずれかが“0”である場合には追記データとして“0”を算出し、読み込み対象の3セクタが全て“1”である場合には追記データとして“1”を算出する。そして、データの読み込み処理は終了する。
〔A-3〕効果
図15は、関連例におけるデータ配置割合の一例を示すテーブルである。図16は、図1に示したストレージ装置1におけるデータ配置割合の一例を示すテーブルである。
The calculation unit 16 calculates the postscript data from the read data according to the postscript data calculation table shown in FIG. 11 (step S26). That is, when any of the three sectors to be read is "0", "0" is calculated as the additional data, and when all the three sectors to be read are "1", "1" is calculated as the additional data. ” is calculated. Then, the data reading process ends.
[A-3] Effect FIG. 15 is a table showing an example of data allocation ratios in related examples. FIG. 16 is a table showing an example of data allocation ratios in the storage device 1 shown in FIG.

図15及び図16においては、理想的なウェアレベリング処理が実施されている場合に、ウェアレベリング処理自体に起因する書き込み処理を無視し、全ての領域が均等に利用されている環境を想定する。そして、スペア領域を含む総容量の70%を使用している状況において、毎日、総容量の1%が書き換えられ、1%が削除され、1%が追加書き込みされるワークロードを想定する。 In FIGS. 15 and 16, when an ideal wear leveling process is performed, write processes caused by the wear leveling process itself are ignored, and an environment is assumed in which all areas are evenly used. Assume a workload in which 1% of the total capacity is rewritten, 1% is deleted, and 1% is additionally written every day in a situation where 70% of the total capacity including the spare area is used.

図15及び図16に示す例では、使用している70%のうち、10%は比較的高頻度で書き換え又は削除されるが、60%は比較的長期間にわたって保管されているデータであって更新されたり削除されたりする可能性は低いものとする。 In the example shown in FIGS. 15 and 16, 10% of the 70% used is rewritten or deleted relatively frequently, but 60% is data stored for a relatively long period of time. It is unlikely that it will be updated or deleted.

これにより、図15に示す例では、総容量のうちの1%の書き換え及び1%の削除によって、毎日2%の領域がフラッシュされる。 Thus, in the example shown in FIG. 15, 2% of the area is flushed every day by rewriting 1% and deleting 1% of the total capacity.

一方、図16に示す例では、15日が経過した時点で、30%分の追記可能なページが存在する。3ページで1セクタ分のデータを書き込むことが可能なため、更に10%分のデータ、すなわち5日分のデータをフラッシュすることなく書き込みできる。そして、追記可能な領域がなくなった時点で追記を行なった領域はフラッシュされ、通常の書き込み状態に書き直すことにより、空き容量が確保される。 On the other hand, in the example shown in FIG. 16, when 15 days have passed, there are 30% of pages that can be additionally written. Since one sector of data can be written in three pages, another 10% of data, that is, five days' worth of data can be written without flushing. Then, when there is no additional writeable area, the additional write area is flushed, and a free space is secured by rewriting to a normal write state.

図15に示す関連例において、20日が経過した時点では、40%の領域に対するフラッシュが必要となる。一方、図16に示す実施形態の一例において、20日が経過した時点では、30%の領域に対するフラッシュを実施すればよい。 In the related example shown in FIG. 15, after 20 days, 40% of the area needs to be flashed. On the other hand, in the example embodiment shown in FIG. 16, after 20 days, 30% of the area may be flushed.

結果として、実施形態の一例においては、フラッシュの実施回数を少なくすることで、デバイスの寿命を関連例に比べて約33%延ばすことができる。 As a result, in one example embodiment, fewer flashes can extend the life of the device by about 33% compared to the related example.

上述した実施形態の一例におけるストレージ装置1の制御部10によれば、例えば、以下の作用効果を奏することができる。 According to the control unit 10 of the storage device 1 in the example of the embodiment described above, for example, the following effects can be obtained.

書き込み処理部14は、記録領域部20のデータ格納領域部22に対して、連続するビット列において所定のビットパターンを除外してデータを書き込む。また、書き込み処理部14は、データ格納領域部22のうち削除可能なデータを記憶している領域のビット列に対して、所定のビットパターンを書き込むことにより、追記データを書き込む。 The write processing unit 14 writes data to the data storage area 22 of the recording area 20 while excluding a predetermined bit pattern in the continuous bit string. The write processing unit 14 also writes postscript data by writing a predetermined bit pattern to a bit string in an area storing deletable data in the data storage area unit 22 .

これにより、書き換え可能回数に制限がある半導体記憶装置の記憶領域を有効に利用することができる。 This makes it possible to effectively use the memory area of the semiconductor memory device, which has a limited number of rewritable times.

書き込み処理部14は、ビット列における値が全て“1”である所定のビットパターンを除外してデータを書き込む。また、書き込み処理部14は、追記データの値が“0”である場合には書き込まれたビット列における値を維持する一方、追記データの値が“1”である場合には書き込まれたビット列における値を全て“1”に書き換える。 The write processing unit 14 writes data while excluding a predetermined bit pattern in which all the values in the bit string are "1". The write processing unit 14 maintains the value of the written bit string when the value of the additional data is "0", and maintains the value of the written bit string when the value of the additional data is "1". Rewrite all values to "1".

これにより、追記データの書き込みを確実に実施できる。 As a result, it is possible to reliably write the additional data.

書き込み処理部14は、記録領域部20の管理情報領域部21に対して、データの書き込み単位であるセクタに対応する、追記データの書き込み単位であるセクタ群を構成する各セクタの間隔を書き込む。 The write processing unit 14 writes, in the management information area section 21 of the recording area section 20, the interval between the sectors that constitute the sector group that is the write unit of the additional data corresponding to the sector that is the write unit of data.

これにより、追記対象のセクタが連続しない場合でも追記データを書き込むことができる。また、全ての追記データのアドレスを保持する場合よりも、追記データの書き込み位置を特定するための情報量を削減できる。 As a result, additional data can be written even if the sectors to be additionally written are not continuous. In addition, the amount of information for specifying the writing position of the additional data can be reduced compared to the case where the addresses of all the additional data are held.

読み込み処理部15は、読み込み対象のデータが追記データでない場合には、当該読み込み対象のデータを所定のビットパターンを含む形式に変換してデータを読み込む。 When the data to be read is not additional data, the read processing unit 15 converts the data to be read into a format including a predetermined bit pattern and reads the data.

これにより、追記データないデータを確実に読み込むことができる。 As a result, it is possible to reliably read data without additional data.

読み込み処理部15は、読み込み対象のデータが追記データである場合には、データの書き込み単位であるセクタに対応する、追記データの書き込み単位であるセクタ群を読み込む。また、読み込み処理部15は、ビット列の値の少なくともいずれかが“0”である場合には当該ビット列の値を“0”として読み込む一方、ビット列の値が全て“1”である場合には当該ビット列の値を“1”として読み込む。 When the data to be read is additional data, the read processing unit 15 reads the sector group, which is the write unit of the additional data, corresponding to the sector, which is the data write unit. Further, the reading processing unit 15 reads the value of the bit string as "0" when at least one of the values of the bit string is "0", and reads the value of the bit string as "0" when all the values of the bit string are "1". Read the value of the bit string as "1".

これにより、追記データを確実に読み込むことができる。 As a result, the additional data can be reliably read.

〔B〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
[B] Others The technology disclosed herein is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the embodiments. Each configuration and each process of this embodiment can be selected or discarded as necessary, or may be combined as appropriate.

〔C〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
[C] Supplementary Notes Regarding the above embodiment, the following supplementary notes are disclosed.

(付記1)
半導体記憶装置の制御を行なうストレージ制御装置であって、
前記半導体記憶装置の記憶領域に対して、連続するビット列において所定のビットパターンを除外してデータを書き込む第1書き込み処理部と、
前記記憶領域のうち削除可能なデータを記憶している領域の前記ビット列に対して、前記所定のビットパターンを書き込むことにより、追記データを書き込む第2書き込み処理部と、
を備える、ストレージ制御装置。
(Appendix 1)
A storage control device for controlling a semiconductor memory device,
a first write processing unit that writes data in a continuous bit string excluding a predetermined bit pattern to a storage area of the semiconductor memory device;
a second write processing unit that writes additional data by writing the predetermined bit pattern to the bit string in the area storing deletable data in the storage area;
A storage controller, comprising:

(付記2)
前記第1書き込み処理部は、前記ビット列における値が全て1である前記所定のビットパターンを除外してデータを書き込み、
前記第2書き込み処理部は、追記データの値が0である場合には前記第1書き込み処理部によって書き込まれた前記ビット列における値を維持する一方、追記データの値が1である場合には前記第1書き込み処理部によって書き込まれた前記ビット列における値を全て1に書き換える、
付記1に記載のストレージ制御装置。
(Appendix 2)
The first write processing unit writes data by excluding the predetermined bit pattern in which all the values in the bit string are 1,
The second write processing unit maintains the value in the bit string written by the first write processing unit when the value of the additional data is 0, and maintains the value in the bit string written by the first write processing unit when the value of the additional data is 1. Rewriting all the values in the bit string written by the first write processing unit to 1;
The storage control device according to appendix 1.

(付記3)
前記第2書き込み処理部は、前記半導体記憶装置の管理領域に対して、前記第1書き込み処理部によるデータの書き込み単位であるセクタに対応する、追記データの書き込み単位であるセクタ群を構成する各セクタの間隔を書き込む、
付記1又は2に記載のストレージ制御装置。
(Appendix 3)
The second write processing unit configures a sector group, which is a write unit of additional data, corresponding to a sector, which is a data write unit by the first write processing unit, in the management area of the semiconductor storage device. write the interval of sectors,
3. The storage control device according to appendix 1 or 2.

(付記4)
読み込み対象のデータが追記データでない場合には、当該読み込み対象のデータを前記所定のビットパターンを含む形式に変換してデータを読み込む第1読み込み処理部を更に備える、
付記1~3のいずれか1項に記載のストレージ制御装置。
(Appendix 4)
Further comprising a first reading processing unit that, when the data to be read is not the additional data, converts the data to be read into a format containing the predetermined bit pattern and reads the data;
The storage control device according to any one of Appendices 1 to 3.

(付記5)
読み込み対象のデータが追記データである場合には、前記第1書き込み処理部によるデータの書き込み単位であるセクタに対応する、前記第2書き込み処理部における追記データの書き込み単位であるセクタ群を読み込む第2読み込み処理部を更に備え、
前記第2読み込み処理部は、前記ビット列の値の少なくともいずれかが0である場合には当該ビット列の値を0として読み込む一方、前記ビット列の値が全て1である場合には当該ビット列の値を1として読み込む、
付記1~4のいずれか1項に記載のストレージ制御装置。
(Appendix 5)
When the data to be read is additional data, the sector group corresponding to the sector, which is the data writing unit by the first writing processing unit, is read as the writing unit of the additional data in the second writing processing unit. 2 further comprising a reading processing unit,
The second reading processing unit reads the value of the bit string as 0 when at least one of the values of the bit string is 0, and reads the value of the bit string as 0 when all the values of the bit string are 1. reads as 1,
The storage control device according to any one of Appendices 1 to 4.

(付記6)
半導体記憶装置の制御を行なうコンピュータに、
前記半導体記憶装置の記憶領域に対して、連続するビット列において所定のビットパターンを除外してデータを書き込み、
前記記憶領域のうち削除可能なデータを記憶している領域の前記ビット列に対して、前記所定のビットパターンを書き込むことにより、追記データを書き込む、
処理を実行させる、プログラム。
(Appendix 6)
A computer that controls a semiconductor memory device,
writing data to a storage area of the semiconductor memory device while excluding a predetermined bit pattern in a continuous bit string;
writing additional data by writing the predetermined bit pattern to the bit string in the area storing deletable data in the storage area;
A program that executes a process.

(付記7)
前記ビット列における値が全て1である前記所定のビットパターンを除外してデータを書き込み、
追記データの値が0である場合には書き込まれた前記ビット列における値を維持する一方、追記データの値が1である場合には書き込まれた前記ビット列における値を全て1に書き換える、
処理を前記コンピュータに実行させる、付記6に記載のプログラム。
(Appendix 7)
writing data by excluding the predetermined bit pattern in which the values in the bit string are all 1;
When the value of the additional data is 0, the value in the written bit string is maintained, and when the value of the additional data is 1, all the values in the written bit string are rewritten to 1;
7. The program according to appendix 6, causing the computer to execute a process.

(付記8)
前記半導体記憶装置の管理領域に対して、データの書き込み単位であるセクタに対応する、追記データの書き込み単位であるセクタ群を構成する各セクタの間隔を書き込む、
処理を前記コンピュータに実行させる、付記6又は7に記載のプログラム。
(Appendix 8)
writing, in the management area of the semiconductor storage device, an interval between each sector constituting a sector group, which is a write unit of additional data, corresponding to a sector, which is a write unit of data;
8. The program according to appendix 6 or 7, causing the computer to execute a process.

(付記9)
読み込み対象のデータが追記データでない場合には、当該読み込み対象のデータを前記所定のビットパターンを含む形式に変換してデータを読み込む、
処理を前記コンピュータに実行させる、付記6~8のいずれか1項に記載のプログラム。
(Appendix 9)
If the data to be read is not the additional data, the data to be read is converted into a format containing the predetermined bit pattern and the data is read.
9. The program according to any one of Appendices 6 to 8, which causes the computer to execute a process.

(付記10)
読み込み対象のデータが追記データである場合には、データの書き込み単位であるセクタに対応する、追記データの書き込み単位であるセクタ群を読み込み、
前記ビット列の値の少なくともいずれかが0である場合には当該ビット列の値を0として読み込む一方、前記ビット列の値が全て1である場合には当該ビット列の値を1として読み込む、
処理を前記コンピュータに実行させる、付記6~9のいずれか1項に記載のプログラム。
(Appendix 10)
If the data to be read is the additional data, read the sector group that is the writing unit of the additional data corresponding to the sector that is the writing unit of the data,
reading the value of the bit string as 0 if at least one of the values of the bit string is 0, and reading the value of the bit string as 1 if all the values of the bit string are 1;
10. The program according to any one of Appendices 6 to 9, which causes the computer to execute processing.

1 :ストレージ装置
10 :制御部
11 :第1変換処理部
12 :第2変換処理部
13 :変換テーブル
14 :書き込み処理部
15 :読み込み処理部
16 :算出部
17 :領域確保処理部
18 :領域確認処理部
19 :空き領域ビットマップ
20 :記録領域部
21 :管理情報領域部
22 :データ格納領域部
1: Storage device 10: Control unit 11: First conversion processing unit 12: Second conversion processing unit 13: Conversion table 14: Write processing unit 15: Read processing unit 16: Calculation unit 17: Area reservation processing unit 18: Area confirmation Processing unit 19: Empty area bitmap 20: Recording area unit 21: Management information area unit 22: Data storage area unit

Claims (4)

データを記憶する記憶領域を有する半導体記憶装置の制御を行なうストレージ制御装置であって、
10進数の元データに対する2進数の元データを、nビット(nは3以上の整数)のビット長を有するビット列が複数連結されていると共に前記2進数の元データよりも1ビットからn-1ビット多い全体ビット長を有する2進数の変換後データに変換する際に、前記ビット列として値が全て1であるビット列を含まないように変換した、前記変換後データを前記記憶領域に書き込む第1書き込み処理部と、
前記記憶領域のうち削除可能であることを示す領域に記憶されている前記変換後データに対して前記nビットのビット長を有するビット列を用いて1ビットの書き換えデータを書き込む第2書き込み処理部と、
を備え
前記第2書き込み処理部は、前記書き換えデータの値が0である場合には前記第1書き込み処理部によって書き込まれた前記変換後データの値を維持し、前記書き換えデータの値が1である場合には前記第1書き込み処理部によって書き込まれた前記変換後データにおける値を全て1である値のビット列に書き換える、
ストレージ制御装置
A storage control device for controlling a semiconductor storage device having a storage area for storing data ,
A plurality of bit strings having a bit length of n bits (n is an integer equal to or greater than 3) are concatenated, and the original binary data corresponding to the original data in decimal is converted from 1 bit to n−1 of the original binary data. A first write operation for writing the post-conversion data into the storage area, the post-conversion data being converted such that the bit string does not include a bit string whose values are all 1 when converting to the post-conversion binary data having an overall bit length with more bits. a processing unit;
A second write operation in which 1-bit rewrite data is written using the bit string having a bit length of n bits to the post-conversion data stored in an area indicating that erasure is possible in the storage area. a processing unit;
with
The second write processing unit maintains the value of the post-conversion data written by the first write processing unit when the value of the rewrite data is 0, and maintains the value of the post-conversion data written by the first write processing unit when the value of the rewrite data is 1. rewrites the values in the post-conversion data written by the first write processing unit to a bit string of all 1 values,
Storage controller .
前記記憶領域に記憶されている読み込み対象のデータが前記書き換えデータでない場合には、当該読み込み対象のデータを前記値が全て1であるビット列を含む形式に変換してデータを読み込む第1読み込み処理部を更に備える、
請求項1に記載のストレージ制御装置。
When the data to be read stored in the storage area is not the rewriting data, the first reading processing unit converts the data to be read into a format including a bit string in which all the values are 1 and reads the data. further comprising
The storage control device according to claim 1 .
前記記憶領域に記憶されている読み込み対象のデータが前記書き換えデータである場合には、前記複数連結された前記nビットのビット長を有するビット列のそれぞれを読み込む第2読み込み処理部を更に備え、
前記第2読み込み処理部は、前記複数連結された前記nビットのビット長を有するビット列のそれぞれにおいて、構成する前記ビット列の値の少なくともいずれかが0である場合には当該ビット列の値を0として読み込む一方、構成する前記ビット列の値が全て1である場合には当該ビット列の値を1として読み込む、
請求項1又は2に記載のストレージ制御装置。
When the data to be read stored in the storage area is the rewriting data, a second reading processing unit that reads each of the plurality of concatenated bit strings having a bit length of n bits ,
In each of the plurality of concatenated bit strings having a bit length of n bits, the second reading processing unit sets the value of the bit string to 0 when at least one of the values of the bit strings constituting the bit string is 0. While reading , if the values of the bit string constituting the bit string are all 1, the value of the bit string is read as 1;
3. The storage control device according to claim 1 or 2 .
ビット列を含むデータを記憶する記憶領域を有する半導体記憶装置の制御を行なうコンピュータに、
10進数の元データに対する2進数の元データを、nビット(nは3以上の整数)のビット長を有するビット列が複数連結されていると共に前記2進数の元データよりも1ビットからn-1ビット多い全体ビット長を有する2進数の変換後データに変換する際に、前記ビット列として値が全て1であるビット列を含まないように変換した、前記変換後データを前記記憶領域に書き込み、
前記記憶領域のうち削除可能であることを示す領域に記憶されている前記変換後データに対して前記nビットのビット長を有するビット列を用いて1ビットの書き換えデータを書き込み
前記書き換えデータの値が0である場合には前記書き込まれた前記変換後データの値を維持し、前記書き換えデータの値が1である場合には前記書き込まれた前記変換後データにおける値を全て1である値のビット列に書き換える、
処理を実行させる、プログラム。
A computer that controls a semiconductor memory device having a memory area for storing data including bit strings ,
A plurality of bit strings having a bit length of n bits (n is an integer equal to or greater than 3) are concatenated, and the original binary data corresponding to the original data in decimal is converted from 1 bit to n−1 of the original binary data. writing the post-conversion data into the storage area, the post-conversion data being converted such that the bit string does not include a bit string whose values are all 1 when converted into post-conversion binary data having an overall bit length of more bits;
writing 1-bit rewrite data using the bit string having a bit length of n bits to the post- conversion data stored in an area indicating that deletion is possible in the storage area;
When the value of the rewrite data is 0, the value of the written post-conversion data is maintained, and when the value of the rewrite data is 1, all the values in the written post-conversion data are maintained. Rewrite to a bit string with a value of 1,
A program that executes a process.
JP2018230079A 2018-12-07 2018-12-07 Storage controller and program Active JP7338149B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018230079A JP7338149B2 (en) 2018-12-07 2018-12-07 Storage controller and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018230079A JP7338149B2 (en) 2018-12-07 2018-12-07 Storage controller and program

Publications (2)

Publication Number Publication Date
JP2020091796A JP2020091796A (en) 2020-06-11
JP7338149B2 true JP7338149B2 (en) 2023-09-05

Family

ID=71012966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018230079A Active JP7338149B2 (en) 2018-12-07 2018-12-07 Storage controller and program

Country Status (1)

Country Link
JP (1) JP7338149B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004516603A (en) 2000-12-20 2004-06-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing device with WOM memory
JP2012064158A (en) 2010-09-17 2012-03-29 Toshiba Corp Memory management device and memory management method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4691299A (en) * 1982-04-30 1987-09-01 Massachusetts Institute Of Technology Method and apparatus for reusing non-erasable memory media

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004516603A (en) 2000-12-20 2004-06-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing device with WOM memory
JP2012064158A (en) 2010-09-17 2012-03-29 Toshiba Corp Memory management device and memory management method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ronald L. Rivest and Adi Shamir,How to Reuse a "Write-Once" Memory,Information and Control,UK,Academic Press, Inc.,1982年,55,1-19,https://core.ac.uk/download/pdf/82585075.pdf
永原 裕之,スライスサイズの小さなIndex-Less型フラッシュ符号の提案と評価,奈良先端科学技術大学院大学 修士論文,2013年,日本,奈良先端科学技術大学院大学,2013年03月15日,pp. 1-36,https://library.naist.jp/dllimedio/showpdf2.cgi/DLPDFR009724

Also Published As

Publication number Publication date
JP2020091796A (en) 2020-06-11

Similar Documents

Publication Publication Date Title
JP4931810B2 (en) FAT analysis for optimized sequential cluster management
JP4679581B2 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND NONVOLATILE MEMORY ADDRESS MANAGEMENT METHOD
US7716422B2 (en) Storage apparatus and method for using a non-volatile cache memory organized into stationary and non-stationary circular regions
KR101437123B1 (en) Memory system and wear leveling method thereof
BR9917736B1 (en) process for playing data from a disc, process for writing data from a disc.
JP6089844B2 (en) Control device, storage device, and control program
US20140281842A1 (en) Non-Volatile Cells Having a Non-Power-of-Two Number of States
JP5180957B2 (en) Memory controller, semiconductor recording device, and rewrite count notification method
JP4347707B2 (en) Information recording medium formatting method and information recording medium
JP4561246B2 (en) Memory device
JP4130808B2 (en) Formatting method
JP5687649B2 (en) Method for controlling semiconductor memory device
JP7338149B2 (en) Storage controller and program
TWI453750B (en) Memory system and computer system
JP5555489B2 (en) Formatting device, formatting method and program
JP2009026349A (en) Method and device for recording/reproducing video
TWI747532B (en) Memory apparatus
JP2008269520A (en) Recorder and recording method
JP6805501B2 (en) Storage device
EP2369586A1 (en) Information recording medium, information recording device, information recording method, information reproducing device, and information reproducing method
CN114265562B (en) File storage method and system based on flash memory
TWI440039B (en) Flash memory controller and the method thereof
JP2008117491A (en) Recording device, recording method and program
JP2007219793A (en) Writing method of flash memory
JP4474928B2 (en) File recording method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221205

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20221205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230511

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230807

R150 Certificate of patent or registration of utility model

Ref document number: 7338149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150