JP4785819B2 - 記憶装置、記憶方法、ならびに、プログラム - Google Patents
記憶装置、記憶方法、ならびに、プログラム Download PDFInfo
- Publication number
- JP4785819B2 JP4785819B2 JP2007289606A JP2007289606A JP4785819B2 JP 4785819 B2 JP4785819 B2 JP 4785819B2 JP 2007289606 A JP2007289606 A JP 2007289606A JP 2007289606 A JP2007289606 A JP 2007289606A JP 4785819 B2 JP4785819 B2 JP 4785819B2
- Authority
- JP
- Japan
- Prior art keywords
- bit string
- bit
- flash memory
- written
- page
- 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
Links
- 238000000034 method Methods 0.000 title claims description 65
- 230000015654 memory Effects 0.000 claims description 110
- 238000012937 correction Methods 0.000 claims description 64
- 230000006870 function Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 description 44
- 238000012545 processing Methods 0.000 description 34
- 230000008859 change Effects 0.000 description 22
- 230000010365 information processing Effects 0.000 description 17
- 239000012634 fragment Substances 0.000 description 13
- 230000000295 complement effect Effects 0.000 description 11
- 230000008707 rearrangement Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
(a)フラッシュメモリ部に当該識別名に対応付けられる場所が記憶されている場合、当該識別名に対応付けられる場所に配置されるセルの列のうち状態が消去済のセルの一部または全部を書込済にすれば、当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列を当該受け付けられたビット列に一致させることができるならば、フラッシュメモリにおいて当該消去済のセルの一部または全部を書込済に更新し、
(b)上記(a)以外の場合は、配置部に当該識別名に対応付けられる場所を新たに配置させ、新たに配置された場所のセルの列の一部または全部を書込済に更新して、
フラッシュメモリ部において当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列が当該受け付けられたビット列に一致するように書き込む。
「1」がv個、「0」が31-v個
で表現する。
1 11111 11111 11111 11111 11111 00000
という表現と、1側を下位ビットに配置する
0 00001 11111 11111 11111 11111 11111
という表現の2通りが典型的である。0〜31の32通りを32ビットのビット列の中で「1」が立っている状態で表現する形式であれば、どのような形式を採用しても良い。
011 1 11111 11111 11111 11111 11111 00000;
1 11111 11111 11111 11111 11111 00000 011;
011 0 00001 11111 11111 11111 11111 11111;
0 00001 11111 11111 11111 11111 11111 011
011 1 11111 11111 11111 11111 11111 10000;
1 11111 11111 11111 11111 11111 10000 011;
011 0 00011 11111 11111 11111 11111 11111;
0 00011 11111 11111 11111 11111 11111 011
のいずれかとなる。
(a)フラッシュメモリ部に当該識別名に対応付けられる場所が記憶されている場合、当該識別名に対応付けられる場所に配置されるセルの列のうち状態が消去済のセルの一部または全部を書込済にすれば、当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列を当該受け付けられたビット列に一致させることができるならば、フラッシュメモリにおいて当該消去済のセルの一部または全部を書込済に更新し、
(b)上記(a)以外の場合は、配置部に当該識別名に対応付けられる場所を新たに配置させ、新たに配置された場所のセルの列の一部または全部を書込済に更新して、
フラッシュメモリ部において当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列が当該受け付けられたビット列に一致するように書き込む。
以下では、本実施形態において使われる整数の内部表現について説明する。一般に、整数をビット列で表現するためには、2の補数表現が用いられる。2の補数表現は、整数値とビット列が対応付けられる表現である。以下に、8ビット整数の例を示す。また、理解を容易にするため、ビット列には空白による区切を入れている。
整数127 ⇔ ビット列0111 1111;
整数126 ⇔ ビット列0111 1110;
…;
整数4 ⇔ ビット列0000 0100;
整数3 ⇔ ビット列0000 0011;
整数2 ⇔ ビット列0000 0010;
整数1 ⇔ ビット列0000 0001;
整数0 ⇔ ビット列0000 0000;
整数-1 ⇔ ビット列1111 1111;
整数-2 ⇔ ビット列1111 1110;
整数-3 ⇔ ビット列1111 1101;
整数-4 ⇔ ビット列1111 1100;
…;
整数-127 ⇔ ビット列1000 0001;
整数-128 ⇔ ビット列1000 0000
1 11111 11111 11111 11111 11111 00000
という表現と、1側を下位ビットに配置する
0 00001 11111 11111 11111 11111 11111
という表現の2通りが典型的である。0〜31の32通りを32ビットのビット列の中で「1」が立っている状態で表現する形式であれば、たとえばランダムにビット位置を選択して1を立てる等、どのような形式を採用しても良い。
011 1 11111 11111 11111 11111 11111 00000;
1 11111 11111 11111 11111 11111 00000 011;
011 0 00001 11111 11111 11111 11111 11111;
0 00001 11111 11111 11111 11111 11111 011
011 1 11111 11111 11111 11111 11111 10000;
1 11111 11111 11111 11111 11111 10000 011;
011 0 00011 11111 11111 11111 11111 11111;
0 00011 11111 11111 11111 11111 11111 011
のいずれかとなる。
x = y×D + r,(0≦r≦D-1)
-1 = (-1)×32 + 31;
-2 = (-1)×32 + 30;
-127 = (-4)×32 + 1;
-128 = (-4)×32 + 0
であり、整数「−1」の3ビット長の2の補数表現は「111」であり、整数「−4」の3ビット長の2の補数表現は「100」であるから、それぞれを上記の内部表現の一例で表すと、
整数-1 ⇔ 111 1 11111 11111 11111 11111 11111 11111;
整数-2 ⇔ 111 0 11111 11111 11111 11111 11111 11111;
整数-127 ⇔ 100 0 00000 00000 00000 00000 00000 00001;
整数-128 ⇔ 100 0 00000 00000 00000 00000 00000 00000;
のような対応を付けることができる。
図2は、上記情報処理装置100にプログラムを実行させることにより実現される記憶装置の一実施形態の概要構成を示す説明図である。以下、本図を参照して説明する。
(1)ファイル名(識別名)p[i].n。固定長(L文字、8×Lビット)の文字列を採用する。このファイル名としては、文字表現にASCIIを用い、文字列の最後が0で終わるASCIIZ形式を採用する。
(2)当該ページp[i]が、消去しても良いか否かを表すごみビットp[i].e。ごみビットp[i].e = 0であれば、当該ページp[i]は未使用(ファイルとして確保されていない)もしくは使用中であり、ごみビットp[i].e = 1であれば、当該ページp[i]は消去しても良いことを意味する。
(3)当該ページp[i]に格納されるビット列p[i].b。当該ファイルに格納されうる情報のサイズは固定長(N-8×L-1ビット)である。
断片q[i][j]に誤り訂正符号が格納されているか否かを示す有効ビットq[i][j].v。たとえば、q[i][0].v = q[i][1].v = … = q[i][k-1].v = 1であり、q[i][k].v = 0である場合は、ページp[i]に対する書き込みがk回行われたことを意味する。
ページp[i]に対する誤り訂正符号q[i][j].c。利用できる誤り訂正符号の最大ビット長は、N/Q - 1ということになる。
p[i].n = ""(長さ0の文字列);
p[i].e = 0;
p[i].b = 0;
q[i][0].v = q[i][1].v = … = q[i][Q-1].v = 0;
q[i][0].c = q[i][1].c = … = q[i][Q-1].c = 0
となる。
a AND b = a
が成立すれば、当該書き込みたい位置にビット(列)bを書き込んだとしても、セルが0(消去済)→1(書込済)へ変化することはあっても、その逆は生じない。
s AND t = s
が成立すれば、当該ページにそのままtを上書きすることができる。一方、これが成立しない場合には、ページの再配置が必要となる。
p[k].e ← 1
のように、←を用いて表記するものとする。
s AND t = s
が成立すれば、
s ← t
のように、当該ページsにtを、そのまま上書きすることができる。一方、これが成立しない場合には、ページの再配置が必要となる。以下、まず、ページをファイルに割り当てる配置処理について説明する。
以下では、配置部203が実行する配置処理について説明する。
p[k].n = f(ファイル名が一致)かつ
p[k].e = 0(当該ページを使用中)
であるか否かを調べ(ステップS302)、成立すれば(ステップS302;Yes)、
p[k].e ← 1(代入)
を実行してフラッシュメモリへの書き込みを行い(ステップS303)、当該ファイル名に対する既存のファイルを消去可能にし、ループS301〜S304を抜ける。
p[k].n = ""(ファイル名が長さ0の文字列)
p[k].e = 0(当該ページは未使用)
であるか否かを調べ(ステップS306)、そうであれば(ステップS306;Yes)、
p[k].n ← f;
を実行してフラッシュメモリへの書き込みを行い(ステップS307)、ループS305〜S308を抜ける。
p[b×i],p[b×i+1],…,p[b×i+B-1]
および、これらに対応する誤り訂正符号ページ
q[b×i],q[b×i+1],…,q[b×i+B-1]
が対応するものとし、これらの単位で消去が可能であるとする。
p[b×i].e = p[b×i+1].e = … = p[b×i+B-1].e = 1
であるか否かを調べ(ステップS310)、そうであれば(ステップS310;Yes)、p側のブロック
p[b×i],p[b×i+1],…,p[b×i+B-1]
およびq側のブロック
q[b×i],q[b×i+1],…,q[b×i+B-1]
を消去することにより、ブロック#iに対応付けられる各ページを「ページ消去」する(ステップS311)。
r[0],r[1],…,r[B-1];
s[0],s[1],…,s[B-1]
のように用意しておく。
p[i].e = 1
であるか否か、を調べる(ステップS317)。1に等しくない場合(ステップS317;No)、ステップS330に進む。
r[b] ← p[i],s[b] ← q[i]
のように、ページの内容を一時的にコピーして(ステップS318)、bの値を1増やす(ステップS319)。
p[k],p[k+1],…,p[k+B-1];
q[k],q[k+1],…,q[k+B-1]
からなるブロック(ブロック番号k/B)を消去して(ステップS321)、
p[k] ← r[0],p[k+1] ← r[1],…,p[k+B-1] ← r[B-1];
q[k] ← s[0],q[k+1] ← s[1],…,q[k+B-1] ← s[B-1]
のように、ブロック番号k/Bのブロックにページの書込を行ってコピー移動を行い(ステップS322)、変数bを0にクリアし、変数kをBだけ増やし(ステップS323)、バッファ領域r[0],r[1],…,r[B-1],s[0],s[1],…,s[B-1]の各ビットを、すべて0にクリアして(ステップS324)、変数iについての繰り返しを続ける(ステップS330)。
p[k],p[k+1],…,p[k+B-1];
q[k],q[k+1],…,q[k+B-1]
からなるブロック(ブロック#k/B)を消去して(ステップS332)、
p[k] ← r[0],p[k+1] ← r[1],…,p[k+B-1] ← r[B-1];
q[k] ← s[0],q[k+1] ← s[1],…,q[k+B-1] ← s[B-1]
のようにページのコピー移動を行い(ステップS333)、変数kをBだけ増やす(ステップS334)。これにより、有効なページがすべて、フラッシュメモリ部202に戻されたことになる。
p[k],p[k+1],…,p[k+B-1];
q[k],q[k+1],…,q[k+B-1]
からなるブロック(ブロック#k/B)を消去して(ステップS336)、変数kをBだけ増やす(ステップS337)処理を繰り返す(ステップS338)。これによって、残余の不要ブロックをすべて消去する。その後にステップS306に戻る。
図5は、ビット列書込部205にて実行されるビット列書込処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
p[k].n = f(ファイル名が一致)かつ
p[k].e = 0(当該ページを使用中)
であるか否かを調べ(ステップS403)、成立しなければ(ステップS403;No)、次のkを得て繰り返しを続ける(ステップS404)。
p[k].b AND t = p[k].b
が成立するか否かを調べる(ステップS407)。成立しない場合(ステップS407;No)、当該ページp[k]はページの再配置が必要となるから、
p[k].e ← 1
を実行して、ページp[k]およびq[k]をごみに設定してから(ステップS408)、ステップS405に進む。
q[k][h].v = 0
であるか否かを判断し(ステップS412)、そうであれば(ステップS412;Yes)、断片の位置hに誤り訂正符号を書き込むことができるので、ステップS421へ進む。
p[k].b ← t;
q[k][h].v ← 1;
q[k][h].c ← u
のように、各ページに情報を書き込み(ステップS422)、本処理を終了する。
図6は、ビット列読出部204により実行されるビット列読出処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
p[k].n = f(ファイル名が一致)かつ
p[k].e = 0(当該ページを使用中)
であるか否かを調べ(ステップS503)、成立しなければ(ステップS503;No)、次のkを得て繰り返しを続ける(ステップS504)。
q[k][h].v = 1かつq[k][h+1].v = 0
であるか否かを判断し(ステップS512)、そうであれば(ステップS512;Yes)、断片の位置hに最新の誤り訂正符号が書き込まれていることになるので、ステップS521へ進む。
整数以外のビット列については、上記のように、直接、ビット列読出部204、ビット列書込部205を利用することで、ページ消去の回数を抑制しつつアクセスが可能となるが、整数については、前述の内部表現の変換を行うことで、さらにページ消去の回数を抑制することが期待できる。
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 記憶装置
202 フラッシュメモリ部
203 配置部
204 ビット列読出部
205 ビット列書込部
206 整数読出部
207 整数書込部
Claims (4)
- 消去済と書込済のいずれの状態であるかによりビット値の情報を記憶するセルを複数有し、当該セルへの書き込みは、各セルごと、もしくは、N (N>1)個のセルごと(以下「ページごと」という。)に行い、当該セルの消去は、M (M>N)個のセルごと(以下「ブロックごと」という。)に行うフラッシュメモリ部、
識別名を受け付けて、当該識別名と、前記フラッシュメモリ部においてセルの列が配置される場所と、を対応付けて、前記フラッシュメモリ部に記憶させる配置部、
識別名を受け付けて、前記フラッシュメモリ部において当該識別名に対応付けられる場所に配置されるセルの列のそれぞれの状態に対応付けられるビット値から、当該識別名に対応付けられるビット列を読み出すビット列読出部、
識別名とビット列とを受け付けて、
(a)前記フラッシュメモリ部に当該識別名に対応付けられる場所が記憶されている場合、当該識別名に対応付けられる場所に配置されるセルの列のうち状態が消去済のセルの一部または全部を書込済にすれば、当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列を当該受け付けられたビット列に一致させることができるならば、前記フラッシュメモリにおいて当該消去済のセルの一部または全部を書込済に更新し、
(b)上記(a)以外の場合は、前記配置部に当該識別名に対応付けられる場所を新たに配置させ、前記新たに配置された場所のセルの列の一部または全部を書込済に更新して、
前記フラッシュメモリ部において当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列が当該受け付けられたビット列に一致するように書き込むビット列書込部
を備え、
前記フラッシュメモリ部はNAND型フラッシュメモリであり、当該セルの状態の消去済は0に、書込済は1に、それぞれ対応付けられ、書き込みは、1ページ単位で行われ、当該ページのうち、ビット列を記憶するためのデータページには、当該データページに記憶されるビット列の誤り訂正符号を表す訂正ビット列を所定個数まで格納可能な訂正ビット列格納領域と、前記所定個数の領域のそれぞれの位置に訂正ビット列が格納されているか否かを1か0かにより示す有効ビットからなる有効ビット列が格納される有効ビット列格納領域と、を含むチェックページが対応付けられ、
前記ビット列書込部が、当該データページにビット列を書き込むと、当該有効ビット列格納領域に格納される有効ビット列のうち、値が0である有効ビットを先頭から走査して、当該訂正ビット列格納領域のうち未だ訂正ビット列が記憶されていない位置を求め、
(p)訂正ビット列が記憶されていない位置が求められれば、当該訂正ビット列格納領域のうち、当該求められた位置に当該訂正ビット列を書き込み、当該有効ビット列格納領域のうち、当該求められた位置に対する有効ビットに1を書き込み、
(q)訂正ビット列が記憶されていない位置が求められなければ、ページの再配置を行ってから、当該訂正ビット列格納領域のうち、先頭の位置に当該訂正ビット列を書き込み、当該有効ビット列格納領域のうち、先頭の有効ビットに1を書き込む
ことを特徴とする記憶装置。 - 請求項1に記載の記憶装置であって、
識別名と整数値とを受け付けて、当該整数値を所定の除数Dで割った商を表す上位ビット列と、当該整数値を当該所定の除数で割った余の数だけ1を含み、それ以外は0であるD-1ビット長の下位ビット列と、を連結したビット列を生成して、当該識別名と当該生成されたビット列とを前記ビット列書込部に与える整数書込部、
識別名を受け付けて、当該識別名を前記ビット列読出部に与え、読み出されたビット列を当該上位ビット列と当該下位ビット列とに分解し、当該上位ビット列により表される整数値にDを乗じて当該下位ビット列に含まれる1の個数を加えた整数値を読み出し結果とする整数読出部
をさらに備えることを特徴とする記憶装置。 - 消去済と書込済のいずれの状態であるかによりビット値の情報を記憶するセルを複数有し、当該セルへの書き込みは、各セルごと、もしくは、N (N>1)個のセルごと(以下「ページごと」という。)に行い、当該セルの消去は、M (M>N)個のセルごと(以下「ブロックごと」という。)に行うフラッシュメモリ部を制御する記憶方法であって、当該記憶方法は、配置部、ビット列読出部、ビット列書込部を有する記憶装置により実行され、
前記配置部が、識別名を受け付けて、当該識別名と、前記フラッシュメモリ部においてセルの列が配置される場所と、を対応付けて、前記フラッシュメモリ部に記憶させる配置工程、
前記ビット列読出部が、識別名を受け付けて、前記フラッシュメモリ部において当該識別名に対応付けられる場所に配置されるセルの列のそれぞれの状態に対応付けられるビット値から、当該識別名に対応付けられるビット列を読み出すビット列読出工程、
前記ビット列書込部が、識別名とビット列とを受け付けて、
(a)前記フラッシュメモリ部に当該識別名に対応付けられる場所が記憶されている場合、当該識別名に対応付けられる場所に配置されるセルの列のうち状態が消去済のセルの一部または全部を書込済にすれば、当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列を当該受け付けられたビット列に一致させることができるならば、前記フラッシュメモリにおいて当該消去済のセルの一部または全部を書込済に更新し、
(b)上記(a)以外の場合は、前記配置部に当該識別名に対応付けられる場所を新たに配置させ、前記新たに配置された場所のセルの列の一部または全部を書込済に更新して、
前記フラッシュメモリ部において当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列が当該受け付けられたビット列に一致するように書き込むビット列書込工程
を備え、
前記フラッシュメモリ部はNAND型フラッシュメモリであり、当該セルの状態の消去済は0に、書込済は1に、それぞれ対応付けられ、書き込みは、1ページ単位で行われ、当該ページのうち、ビット列を記憶するためのデータページには、当該データページに記憶されるビット列の誤り訂正符号を表す訂正ビット列を所定個数まで格納可能な訂正ビット列格納領域と、前記所定個数の領域のそれぞれの位置に訂正ビット列が格納されているか否かを1か0かにより示す有効ビットからなる有効ビット列が格納される有効ビット列格納領域と、を含むチェックページが対応付けられ、
前記ビット列書込工程にて、前記ビット列書込部が当該データページにビット列を書き込むと、前記ビット列書込部は、当該有効ビット列格納領域に格納される有効ビット列のうち、値が0である有効ビットを先頭から走査して、当該訂正ビット列格納領域のうち未だ訂正ビット列が記憶されていない位置を求め、
(p)訂正ビット列が記憶されていない位置が求められれば、当該訂正ビット列格納領域のうち、当該求められた位置に当該訂正ビット列を書き込み、当該有効ビット列格納領域のうち、当該求められた位置に対する有効ビットに1を書き込み、
(q)訂正ビット列が記憶されていない位置が求められなければ、ページの再配置を行ってから、当該訂正ビット列格納領域のうち、先頭の位置に当該訂正ビット列を書き込み、当該有効ビット列格納領域のうち、先頭の有効ビットに1を書き込む
ことを特徴とする記憶方法。 - 消去済と書込済のいずれの状態であるかによりビット値の情報を記憶するセルを複数有し、当該セルへの書き込みは、各セルごと、もしくは、N (N>1)個のセルごと(以下「ページごと」という。)に行い、当該セルの消去は、M (M>N)個のセルごと(以下「ブロックごと」という。)に行うフラッシュメモリ部を制御するコンピュータを、
識別名を受け付けて、当該識別名と、前記フラッシュメモリ部においてセルの列が配置される場所と、を対応付けて、前記フラッシュメモリ部に記憶させる配置部、
識別名を受け付けて、前記フラッシュメモリ部において当該識別名に対応付けられる場所に配置されるセルの列のそれぞれの状態に対応付けられるビット値から、当該識別名に対応付けられるビット列を読み出すビット列読出部、
識別名とビット列とを受け付けて、
(a)前記フラッシュメモリ部に当該識別名に対応付けられる場所が記憶されている場合、当該識別名に対応付けられる場所に配置されるセルの列のうち状態が消去済のセルの一部または全部を書込済にすれば、当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列を当該受け付けられたビット列に一致させることができるならば、前記フラッシュメモリにおいて当該消去済のセルの一部または全部を書込済に更新し、
(b)上記(a)以外の場合は、前記配置部に当該識別名に対応付けられる場所を新たに配置させ、前記新たに配置された場所のセルの列の一部または全部を書込済に更新して、
前記フラッシュメモリ部において当該セルの列のそれぞれの状態に対応付けられるビット値からなるビット列が当該受け付けられたビット列に一致するように書き込むビット列書込部
として機能させ、
前記フラッシュメモリ部はNAND型フラッシュメモリであり、当該セルの状態の消去済は0に、書込済は1に、それぞれ対応付けられ、書き込みは、1ページ単位で行われ、当該ページのうち、ビット列を記憶するためのデータページには、当該データページに記憶されるビット列の誤り訂正符号を表す訂正ビット列を所定個数まで格納可能な訂正ビット列格納領域と、前記所定個数の領域のそれぞれの位置に訂正ビット列が格納されているか否かを1か0かにより示す有効ビットからなる有効ビット列が格納される有効ビット列格納領域と、を含むチェックページが対応付けられ、
前記ビット列書込部が、当該データページにビット列を書き込むと、当該有効ビット列格納領域に格納される有効ビット列のうち、値が0である有効ビットを先頭から走査して、当該訂正ビット列格納領域のうち未だ訂正ビット列が記憶されていない位置を求め、
(p)訂正ビット列が記憶されていない位置が求められれば、当該訂正ビット列格納領域のうち、当該求められた位置に当該訂正ビット列を書き込み、当該有効ビット列格納領域のうち、当該求められた位置に対する有効ビットに1を書き込み、
(q)訂正ビット列が記憶されていない位置が求められなければ、ページの再配置を行ってから、当該訂正ビット列格納領域のうち、先頭の位置に当該訂正ビット列を書き込み、当該有効ビット列格納領域のうち、先頭の有効ビットに1を書き込む
ように機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007289606A JP4785819B2 (ja) | 2007-11-07 | 2007-11-07 | 記憶装置、記憶方法、ならびに、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007289606A JP4785819B2 (ja) | 2007-11-07 | 2007-11-07 | 記憶装置、記憶方法、ならびに、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009116661A JP2009116661A (ja) | 2009-05-28 |
JP4785819B2 true JP4785819B2 (ja) | 2011-10-05 |
Family
ID=40783739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007289606A Active JP4785819B2 (ja) | 2007-11-07 | 2007-11-07 | 記憶装置、記憶方法、ならびに、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4785819B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101326011B1 (ko) * | 2010-10-29 | 2013-11-07 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 솔리드 스테이트 드라이브를 위한 삭제 카운트가 감소된 진보된 데이터 인코딩 |
JP5614337B2 (ja) | 2011-03-08 | 2014-10-29 | 富士通セミコンダクター株式会社 | メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器 |
KR101741346B1 (ko) | 2013-01-11 | 2017-06-15 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 플래시 메모리들에 대한 페이지 할당 |
KR101742462B1 (ko) | 2013-02-27 | 2017-06-01 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 메모리 디바이스들을 위한 선형 프로그래밍 기반 디코딩 |
US9859925B2 (en) | 2013-12-13 | 2018-01-02 | Empire Technology Development Llc | Low-complexity flash memory data-encoding techniques using simplified belief propagation |
CN111208950B (zh) * | 2020-01-15 | 2023-07-14 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0817192A (ja) * | 1994-06-27 | 1996-01-19 | Yaskawa Electric Corp | フラッシュメモリによる位置記憶方法 |
JP2000020409A (ja) * | 1998-07-07 | 2000-01-21 | Seiko Epson Corp | 半導体記憶装置 |
US7065607B2 (en) * | 2002-06-28 | 2006-06-20 | Microsoft Corporation | System and method for implementing a counter |
JP2005078378A (ja) * | 2003-08-29 | 2005-03-24 | Sony Corp | データ記憶装置及び不揮発性メモリに対するデータ書き込み方法 |
JP2005339450A (ja) * | 2004-05-31 | 2005-12-08 | Pentel Corp | フラッシュメモリのデータ管理方式 |
JP2007034431A (ja) * | 2005-07-22 | 2007-02-08 | Fuji Xerox Co Ltd | メモリ制御装置 |
-
2007
- 2007-11-07 JP JP2007289606A patent/JP4785819B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009116661A (ja) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4785819B2 (ja) | 記憶装置、記憶方法、ならびに、プログラム | |
US8516219B2 (en) | Index cache tree | |
JP4734033B2 (ja) | 記憶装置 | |
JP4122972B2 (ja) | データ記録装置及びフラッシュメモリに対するデータ書き込み方法 | |
US10698814B2 (en) | Data storage devices and data processing methods | |
JP2006221636A (ja) | Run単位アドレスマッピングテーブル及びそれの構成方法 | |
TWI306263B (ja) | ||
KR102603070B1 (ko) | 메모리 시스템, 메모리 시스템에 데이터를 기록하는 방법 및 메모리 시스템으로부터 데이터를 판독하는 방법 | |
KR20040023643A (ko) | 플래시 메모리장치 및 그것에 기억된 데이터의 머지방법 | |
JP2008003932A (ja) | データ記憶装置、データ記憶方法およびコンピュータプログラム | |
CN110109926A (zh) | 一种Equihash算法数据的排序装置和排序方法 | |
CN109976664A (zh) | 固态存储设备的日志数据组织 | |
JP2007250101A (ja) | 不揮発性メモリ装置および不揮発性メモリ装置の制御方法 | |
JP2019016328A (ja) | 情報処理装置、情報処理システム及びプログラム | |
JP2002202912A (ja) | 記録装置、記録制御方法、及びプログラム | |
JP6072428B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
US8429338B2 (en) | Method and apparatus for emulating byte wise programmable functionality into sector wise erasable memory | |
JP3748847B2 (ja) | 格納装置、プログラム、ならびに、格納方法 | |
JP7196457B2 (ja) | データ処理装置及びデータ処理プログラム | |
JP2008299455A (ja) | データ記憶装置及びデータ管理方法 | |
JP4818893B2 (ja) | 画像処理装置及びプログラム | |
KR100688463B1 (ko) | 물리 메모리의 데이터 기록 및 삭제 방법 | |
KR102172219B1 (ko) | 객체의 메타데이터 처리 장치 및 방법 | |
US7065606B2 (en) | Controller architecture for memory mapping | |
JP3998941B2 (ja) | データビットを選択(パンクチャリング)するための方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110526 |
|
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: 20110621 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110712 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4785819 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140722 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |