JPH09185551A - 半導体記憶装置 - Google Patents

半導体記憶装置

Info

Publication number
JPH09185551A
JPH09185551A JP70796A JP70796A JPH09185551A JP H09185551 A JPH09185551 A JP H09185551A JP 70796 A JP70796 A JP 70796A JP 70796 A JP70796 A JP 70796A JP H09185551 A JPH09185551 A JP H09185551A
Authority
JP
Japan
Prior art keywords
sector
group
data
written
physical
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.)
Pending
Application number
JP70796A
Other languages
English (en)
Inventor
Shigenori Miyauchi
成典 宮内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP70796A priority Critical patent/JPH09185551A/ja
Priority to DE19623853A priority patent/DE19623853A1/de
Priority to US08/665,364 priority patent/US6430650B1/en
Publication of JPH09185551A publication Critical patent/JPH09185551A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 少容量のアドレス変換テーブルを用いて、大
容量のフラッシュメモリを制御する半導体記憶装置を提
供する。 【解決手段】 本発明の半導体記憶装置では、n個のセ
クタを1グループとし、複数のグループを消去単位とす
るフラッシュメモリと、論理グループ番号LGNに対す
る物理グループ番号PGNを特定するアドレス変換テー
ブルと、指定された論理セクタ番号LSNをnで除算
し、商を論理グループ番号LGNとし、余りをオフセッ
トアドレスOAとする演算手段と、演算手段により求め
られた論理グループ番号LGNに対応する物理グループ
番号PGNをアドレス変換テーブルから求め、求めた物
理グループ番号PGNのオフセットアドレスOAにある
セクタをアクセスの対象とする制御部とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
などの不揮発性メモリを用いた半導体記憶装置に関する
ものである。
【0002】
【従来の技術】大容量記憶装置の1つであるハードディ
スク(以下、HDと表す)は、小型でコストパフォーマ
ンスに優れているため、パーソナルコンピュータ(以
下、PCと表す)や一部のパームトップPC(小型で携
帯可能なもの)に使用されている。小型のPCの普及に
伴い、搭載されるHDが野外で利用される機会も増えつ
つある。PCを野外で利用するためには、バッテリーに
よる長時間動作、高耐久性が要求される。しかし、モー
タで動作し、振動に弱いHDは、携帯型のPCには不向
きである。このため、HD互換の半導体記憶装置が注目
されるようになった。半導体記憶装置は、記憶部がフラ
ッシュメモリなどの不揮発性メモリで構成されており、
コストパフォーマンスではHDに劣るものの、衝撃に強
く、また、モータを使用しないため低消費電力設計が可
能な記憶媒体である。同一セクタへデータの上書きを行
うことのできるHDに比べて、フラッシュメモリには、
以下のような特徴がある。即ち、データを書き込む前に
必ずその書き込みセクタのデータを消去する必要があ
り、データの追加書き込みができない。データの読み出
し、及び、書き込みはセクタ(512バイト)単位で行
うことができるが、データの消去は、例えば64キロバ
イトなどの比較的大きなブロック単位でしか行うことが
できない。更に、セクタに書き込まれたデータを消去で
きる回数は、HDに比べて少ない(約10万回)。この
ように、フラッシュメモリを用いた半導体記憶装置の場
合、上記データの消去回数の制限と、データの消去を行
うブロックのサイズの問題より、HDと全く同じに取り
扱うことはできない。ホストにより指定されたセクタ番
号のセクタに既にデータが書き込まれている場合、未使
用のセクタを検索し、検索した未使用のセクタにデータ
の書き込みを行う。この場合、ホストの指定したセクタ
番号とは異なる番号のセクタにデータの書き込みが行わ
れることとなる。そこで、ホストの指定するセクタ番号
(以下、これを論理セクタ番号LSNで表す)を、実際
にデータの書き込みを行ったセクタの番号(以下、これ
を物理セクタ番号PSNで表す)に変換するアドレス変
換テーブルを半導体記憶装置内に用意する。ホストから
データの読み取りを要求された場合、ホストにより指定
された論理セクタ番号LSNに対応する物理セクタ番号
PSNを、アドレス変換テーブルを用いて特定し、この
特定した物理セクタに書き込まれているデータを読み出
す。
【0003】
【発明が解決しようとする課題】例えば、40メガバイ
トの容量の半導体記憶装置の場合、全てのセクタ(81
920セクタ)を管理するアドレス変換テーブルを備え
るのには、1.3メガビット、即ち、1メガビットのR
AMが2チップ、あるいは4メガビットのRAMを1チ
ップを搭載する必要がある。フラッシュメモリの容量の
増大に伴い、アドレス変換テーブルに要するメモリRA
Mの容量も大きくなり、装置のコストアップ、RAMの
サイズアップによる設計の自由度の制限といった問題が
生じる。
【0004】本発明の目的は、小容量のアドレス変換テ
ーブルを用いて、大容量のフラッシュメモリを制御する
半導体記憶装置を提供することである。
【0005】
【課題を解決するための手段】本発明の半導体記憶装置
は、n個のセクタを1グループとし、複数のグループを
消去単位とするフラッシュメモリと、論理グループ番号
に対する物理グループ番号を特定するアドレス変換テー
ブルを記憶するRAMと、指定された論理セクタ番号を
nで除算し、商を論理グループ番号とし、余りをオフセ
ットアドレスとする除算手段と、除算手段により求めら
れた論理グループ番号に対応する物理グループ番号をア
ドレス変換テーブルから求め、求めた物理グループ番号
のオフセットアドレスにあるセクタをアクセスの対象と
してデータの書き込み及び読み出しを行う制御部とを備
える。この半導体記憶装置では、n個のセクタを1グル
ープとして管理するため、アドレス変換テーブルのサイ
ズが小さくなる。このため、小容量の小さなサイズのR
AMを使用することができ、半導体記憶装置のサイズを
大きくすることなく、より大容量のフラッシュメモリを
搭載することができる。
【0006】上記半導体記憶装置において、好ましく
は、さらに、グループ毎に、n個のセクタの使用状態を
管理するための情報を記憶する記憶手段を備え、上記制
御部は、アクセスの対象のセクタにデータを書き込む場
合であって、上記記憶手段により当該セクタに既にデー
タが書き込まれていると判断される場合には、未使用の
グループを検索し、検索した未使用のグループの上記オ
フセットアドレスのセクタにデータの書き込みを行い、
アドレス変換テーブルの物理グループ番号に対する物理
グループ番号の値を、実際にデータの書き込みを行った
上記未使用のグループの番号に書き換え、データの書き
込みを行っていないセクタについて、書き換え前のアド
レス変換テーブルで指定された物理グループ番号の値を
記憶手段に記憶させる。この半導体記憶装置では、デー
タの追加書き込みを行う際、次々と新規のグループを使
用するのではなく、使用していないセクタへの追加書き
込みの際には、当該未使用のセクタへデータの書き込み
を行う。これにより、有効にグループ内のセクタを利用
する。
【0007】上記好ましい構成の半導体記憶装置におい
て、制御部は、アクセスの対象のセクタのデータを読み
出す際、上記記憶手段により当該セクタが使用中である
と判断される場合には、当該セクタのデータを読み出
し、当該セクタが未使用であると判断される場合には、
記憶手段に記憶してある番号のグループのオフセットア
ドレスのセクタ(第2セクタとする)の使用状態を調
べ、第2セクタが使用中の場合には、第2セクタのデー
タを読み出し、第2セクタが未使用の場合には、使用中
のセクタが検出されるまで、記憶手段に記憶されている
番号のグループのオフセットアドレスのセクタの使用状
態を繰り返し調べ、所定回数以上、記憶手段に記憶され
ている番号のグループのオフセットアドレスのセクタの
使用状態を調べた場合、未使用のグループを検索し、検
索した未使用のグループに各セクタの最新データをコピ
ーし、アドレス変換テーブルの物理グループ番号に対す
る物理グループ番号の値を、各セクタの最新データのコ
ピーを行ったグループの番号に書き換えることが好まし
い。この制御を行うことでグループ同士のリンク関係を
簡潔化することができ、各セクタへのアクセス時間を短
くすることができる。
【0008】
【発明の実施の形態】以下、添付の図面を用いて、本発
明の半導体記憶装置の実施形態の一例について説明す
る。 (1)半導体記憶装置の構成 図1は、半導体記憶装置11の構成を示すブロック図で
ある。半導体記憶装置11本体は、バスを介してホスト
10に接続される。インターフェース回路12は、ホス
ト10とのデータのやり取りを行う。CPU13は、半
導体記憶装置の全体を制御する。フラッシュ制御回路1
4は、フラッシュメモリ15からのデータ読み出し、及
び、フラッシュメモリ15へのデータの書き込みを制御
する。バッファRAM17は、フラッシュメモリ15か
ら読み出したデータ、及び、フラッシュメモリ15に書
き込むデータを一時的に保持する。16は、アドレス変
換テーブルを記憶するRAMである。半導体記憶装置1
1は、4セクタを1グループとして管理する。各グルー
プには物理グループ番号PGNが割り当てられる。ま
た、グループを構成する4個のセクタには、それぞれオ
フセットアドレスOA(=0、1、2、3)が割り当て
られる。アドレス変換テーブル16には、論理グループ
番号LGNに対応する物理グループ番号PGNのデータ
が格納される。4セクタを1グループとして管理する場
合、セクタ単位で管理する場合に比べて、アドレス変換
テーブルに要するメモリの容量を節約することができ
る。例えば、40メガバイトの半導体記憶装置の全ての
セクタ(81920セクタ)を管理するのには、約1.
3メガビット、即ち、1メガビットのRAMを2チッ
プ、又は4メガビットのRAMを1チップ搭載する必要
があるのに対し、1グループを4セクタで構成する場
合、全てのグループ(20480グループ)を管理する
のに280キロビット、即ち、512キロビットのRA
Mを1チップ搭載するだけでよい。このように、小容量
のRAMが使用可能になることで、コスト削減を行うこ
とができると共に、RAMに要するスペースを削減する
ことができ、より大容量のフラッシュメモリを搭載する
ことができるようになる。なお、1グループを構成する
セクタの数nを大きくすれば、必要とするアドレス変換
テーブルの容量を少なくすることができるが、データの
追加書き込みは未使用のグループに対して行われるた
め、余り多くのセクタでグループを構成するとメモリが
有効に活用されないといった問題がある。このため、1
グループを構成するセクタの数nは、双方のバランスを
考慮して定める必要がある。
【0009】フラッシュメモリ15は、複数の消去ブロ
ックで構成される。デフォルトでは、全アドレスに”
1”のデータが書き込まれており、実際のデータの書き
込みは、必要なアドレスに”0”のデータを書き込んで
実行される。図2は、ある消去ブロック20の構成を示
す。ブロックサイズは、64キロバイトである。消去ブ
ロック20は、ブロック管理用データ領域21と、グル
ープ管理用データ領域22と、使用者のデータが格納さ
れるデータ格納領域23とからなる。ブロック管理用デ
ータ領域21は、消去ブロック20に関する情報が書き
込まれている。この消去ブロック20に関する情報と
は、消去回数をカウントするためのカウンタ値やこのブ
ロックの使用を禁止するための禁止フラグなどである。
グループ管理用データ領域22は、消去ブロック20内
の各グループを管理するための管理情報が書き込まれて
いる。このグループ管理情報は、グループ毎に用意され
ている。例えば、消去ブロック20内に60のグループ
が存在する場合には、60セットのグループ管理情報が
記憶される。グループ毎に記憶される管理情報の内容
は、次の表1に示すとおりである。
【表1】 グループ消去可能フラグF1は、グループ20が未使
用、又は、使用中の場合”1”であり、グループ内に必
要なデータが存在しない場合には”0”にセットされ
る。グループ使用状態確認フラグF2は、グループを構
成するセクタの使用状況を示すフラグであり、使用中の
セクタについて0にセットされる。1グループが4つの
セクタで構成されている場合、フラグF2は4ビットの
データで表され、セクタ0、1、2が使用されてる場合
には、”0001”となる。論理グループ番号LGN
は、グループに対応する論理グループ番号のデータであ
り、電源投入時のアドレス変換テーブル16の作成時に
参照される。グループ内の全セクタが未使用の場合、デ
フォルトの値が書き込まれている。ECC(Error Corre
ction Code)データは、論理グループ番号の信頼性を向
上させるために使用する、誤り訂正符号のデータであ
る。グループ内セクタ0の最新のアドレスAdd0は、デー
タの読み出し時に、グループ内のセクタ0が最新か否か
を判断するのに用いられる。最新のデータの場合には、
デフォルト値の”1111”がセットされており、一つ
前のグループにデータが書き込まれている場合には、そ
のグループの物理番号PGNのデータが書き込まれる。
この最新のアドレスAddのデータは、1グループが4セ
クタで構成されている場合には、Add0〜Add3の4つ設け
られる。最新データフラグF3は、上記グループ内の少
なくとも1つのセクタに書き込まれているデータが最新
の場合に1にセットされるフラグである。ここで、最新
のデータが書き込まれているセクタとは、上記グループ
使用状態確認フラグF2の値が0にセットされているセ
クタであって、最新のアドレスAddに”1111”が書
き込まれているセクタのことを示す。半導体記憶装置1
1の電源投入時、CPU13は、グループ消去可能フラ
グF1及び最新データフラグF3の値が共に1のグルー
プの論理グループ番号LGNのデータに基づいて、アド
レス変換テーブル16を形成する。
【0010】(2)データの書き込み処理 データの書き込み処理には、データの新規書き込みと、
データの追加書き込みとの2つの場合がある。図3は、
図2に示した消去ブロック20の論理グループ番号LG
N=αのセクタ0、1、2に対してデータの新規書き込
みを行った場合の消去ブロック20内の状態を示す図で
ある。アドレス変換テーブル16にLGN=αに対応す
る論理グループ番号PGNが記憶されていない場合、新
規データの書き込みであると判断する。この場合、未使
用のグループPGN=Xに対してデータの書き込みが行
われる。物理グループ番号PGN=Xのグループのセク
タ0、1、2に対してデータの書き込みを行った後、グ
ループ管理用データ領域22に記憶されているPGN=
Xについての各種フラグの値を更新する。また、図4に
示すように、アドレス変換テーブル16の論理グループ
番号LGN=αに対応する物理グループ番号PGNを未
設定の状態から”X”に書き換える。
【0011】図5は、既に論理グループLGN=αのセ
クタ0、1、2に対してデータの書き込みが行われてい
る場合であって、同じく論理グループLGN=αのセク
タ0に対してデータの追加書き込みを行う場合の消去ブ
ロック20内の状態を示す図である。アドレス変換テー
ブル16により論理グループ番号LGN=αに対応する
物理グループ番号PGN=Xが特定される。フラッシュ
メモリでは、データの上書きを行うことができない。そ
こで、未使用のグループを検索し、検索した未使用のグ
ループPGN=Yのセクタ0に追加データを書き込む。
グループ管理用データ領域22に記憶されている物理グ
ループ番号PGN=X、及び、PGN=Yの各種フラグ
の値を更新する。また、図6に示すように、アドレス変
換テーブル16の論理グループ番号LGN=αに対応す
る物理グループ番号PGNを”X”から”Y”に書き換
える。
【0012】表2は、論理グループ番号LGN=αに対
応する物理番号PGN=Xのグループのセクタ0、1、
2に既にデータが書き込まれている場合に、セクタ0に
データの追加書き込みを行った場合における、旧グルー
プ(PGN=X)と新規グループ(PGN=Y)に関す
る各フラグの値を示す。
【表2】 表2にに示すように、PGN=Xの旧グループでは、最
新データフラグF4の値が0にセットされる。また、P
GN=Yの新規グループでは、グループ使用状態確認フ
ラグF2のセクタ0に対応する最下位ビットの値が0に
セットされると共に、セクタ1及びセクタ2のアドレス
Add1,Add2にそれぞれ旧グループのPGN、即ちXが書
き込まれる。ホスト10より論理グループ番号LGN=
αのセクタ0の読み出しが要求された場合には、そのま
ま当該セクタのデータをホスト10に出力する。しか
し、ホスト10より論理グループ番号LGN=αのセク
タ1の読み出しが要求された場合には、セクタ1のアド
レスAdd1に記憶されている旧グループのPGN=Xを参
照して、番号PGN=Xのグループのセクタ1のデータ
を読み出す。
【0013】図7及び図8は、データの書き込み処理の
フローチャートを示す。まず、ホスト10から論理セク
タの番号LSN=αを受け取る(ステップS100)。
受け取った論理セクタ番号LSNの値αをnで除算し、
商を論理グループ番号LGN、余りをオフセットアドレ
スOAとする(ステップS101)。グループを構成す
る4つのセクタには、物理アドレスの値の小さなものか
ら順に、0、1、2、3のオフセットアドレスOAが割
り当てられている。例えば、ホスト10より指定された
論理セクタの番号LSNが4、5、6の場合、論理グル
ープ番号LGNは1、オフセットアドレスOAは、0、
1、2となる。上記除算により求められた論理グループ
番号LGNに対応する物理グループ番号PGNがアドレ
ス変換テーブル16に格納されているか否かを確認する
(ステップS102)。ここで、アドレス変換テーブル
16に対応する物理グループ番号PGNが未登録の場合
(ステップS103でNO)、論理セクタ番号LSNへ
の新規のデータの書き込みであると判断し、以下の処理
を実行する。まず、消去ブロック10内のグループ管理
用データ領域12に書き込まれているグループ使用状態
確認フラグF2の値を調べ、グループを構成する全セク
タが未使用のグループ(即ちフラグF2=”111
1”)を検索する(ステップS104)。検索した未使
用のグループ(物理グループ番号PGN=Xとする)の
オフセットアドレスOAのセクタにデータの書き込みを
行う(ステップS105)。データの書き込みを行った
グループについての表1に示した管理情報のデータを更
新する。即ち、グループ使用状態確認フラグF2の該当
するビットデータの値を0に書き換えると共に(ステッ
プS106)、ステップS101において算出した論理
グループ番号LGNのデータ(表1の第3項目)を書き
込む。アドレス変換テーブル16に当該データの書き込
みを行ったグループの物理グループ番号PGNを書き込
み、内容を更新する(ステップS109)。
【0014】一方、上記ステップS103において、ア
ドレス変換テーブル16に対応する物理グループ番号P
GNがある場合(ステップS103でYES)、該当す
るセクタにデータが書き込まれているか否かを判断する
(ステップS117)。該当するセクタに既にデータが
書き込まれている場合(ステップS117でYES)、
以下の追加書き込み処理を実行する。まず、消去ブロッ
ク10内のグループ管理用データ領域12に書き込まれ
ているグループ使用状態確認フラグの値を調べて、各セ
クタが未使用のグループを検索する(図8、ステップS
120)。検索した未使用のグループのオフセットアド
レスOAのセクタにデータの書き込みを行うと共に(ス
テップS121)、アドレス変換テーブル16に書き込
まれている物理グループ番号PGN=Xのグループ(以
下、これを旧グループという)と、今回データの書き込
みを行った物理グループ番号PGN=Yのグループ(以
下、これを新規グループという)に関するフラグの値の
更新を行う。具体的には、新規グループの使用状態確認
フラグF2の値を更新する(ステップS122)。即
ち、追加書き込みを行ったセクタに対応するフラグを0
にセットする。論理グループ番号LGNのデータ、及
び、ECCデータを書き込む(ステップS123)。デ
ータの書き込みを行ったセクタの最新物理アドレスAdd
に旧グループの物理グループ番号PGN=Xのデータを
書き込む(ステップS124)。旧グループの最新デー
タフラグF3の値を0にセットする(ステップS12
5)。アドレス変換テーブル16に当該データの書き込
みを行ったグループの物理グループ番号PGNを書き込
み、内容を更新する(ステップS126)。なお、上記
ステップS117において、該当するセクタが未使用の
場合(ステップS117でNO)、該当するセクタにデ
ータを書き込んだ後に(ステップS118)、当該グル
ープの使用状態確認フラグF2の値を更新(該当するビ
ットデータの値を0にする)する(ステップS11
9)。
【0015】(3)データの読み出し処理 データの読み出しを行う場合、物理グループ番号PGN
のオフセットアドレスOAのセクタに関するアドレスAd
dを調べる。アドレスAddが”1111”の場合には、そ
のセクタに書き込まれているデータを読み出す。ここ
で、”1111”以外のデータが書き込まれている場合
には、当該セクタ以外のセクタについて追加の書き込み
が行われ、当該セクタのデータは一つ以上古い旧グルー
プの同じオフセットアドレスOAのセクタに書き込まれ
ていると判断する。そこで、アドレスAddが”111
1”となるまで、アドレスAddの値の物理グループ番号
の該当するセクタのアドレスAddを調べ、アドレスAdd
が”1111”のセクタのデータを読み出す。データの
追加書き込みが繰り返し行われた場合、アドレスAddの
値に基づいて、グループを遡るのに時間を要するように
なる。そこで、遡って調べるグループの数をカウント
し、カウント値が4以上になった場合、未使用のグルー
プに各セクタのそれぞれ最新のデータをコピーし、各旧
グループの消去可能フラグF1の値を0にセットすると
共に、最新データフラグF3の値を0にする。以下、こ
の処理をリンクの簡潔化処理という。このリンクの簡潔
化処理は、本例のように、グループのリンクが所定数以
上になった場合に実行する他、リンクを遡るのに要する
時間が一定時間以上になった場合に実行するようにして
も良い。リンクの簡潔化処理は、データの読み出し時間
をある一定のレベルに保つことを目的とするからであ
る。図9の上段は、物理グループ番号LGN=βのセク
タ0、1、2にデータの書き込み要求がされ、対応する
物理グループ番号PGN=Aのセクタ0、1、2にデー
タが書き込まれた後に、セクタ1についてデータの追加
書き込み、セクタ1、2についての追加書き込み、セク
タ2、3についての追加書き込み、さらに、セクタ3に
ついての追加書き込みが行われた場合の各物理グループ
番号PGN=A,B,C,D,Eの各フラグの値を示す
図である。この場合において、論理グループ番号LGN
=βのセクタ0のデータの読み出しを行う場合、矢印で
示すように、E→D→C→B→Aの順に4回グループを
遡る。図10は、上記リンクの簡略化処理実行後の、各
グループ(PGN=A,B,C,D,E,F)の各フラ
グの値を示す。図示するように、未使用の物理セクタ番
号PGN=Fにセクタ0、1、2、3のそれぞれの最新
データをコピーし、各グループ(PGN=A,B,C,
D,E)の消去可能フラグF1の値を0にセットすると
共に、最新データフラグF3の値を0にする。
【0016】図11は、読み出し処理のフローチャート
である。まず、ホスト10よりデータの読み出しの指定
された論理セクタ番号LSNを認識する(ステップS2
00)。認識したLSNの値を4で除算し、商を論理グ
ループ番号LGNに、余りをオフセットアドレスOAと
する(ステップS201)。アドレス変換テーブル16
を参照して対応する物理グループ番号PGNを認識する
(ステップS202)。認識した物理グループ番号PG
Nの該当するセクタに関するアドレスAddを確認する
(ステップS203)。後の処理のためにカウント値C
の値を初期化(=1)する。上記ステップS202にお
いて調べたアドレスAdd の値が”1111”の場合(ス
テップS205でYES)、当該セクタのデータを読み
出す(ステップS206)。また、アドレスAddの値
が”1111”でない場合(ステップS205でN
O)、アドレスAddの値と同じ物理グループ番号PGN
のセクタに関するアドレスAddの確認を行うと共に(ス
テップS207)、カウンタ値Cの値に1を加算した後
に(ステップS208)、上記ステップS205に戻
る。ここで、上記ステップS207において調べたアド
レスAdd の値が”1111”の場合(ステップS205
でYES)、当該セクタのデータを読み出す(ステップ
S206)。データの読み出しを行った後、カウンタ値
Cの値を調べる。カウンタ値Cの値が4以上の場合(ス
テップS209でYES)、未使用グループの検索を行
い(ステップS210)、検索した未使用グループに各
セクタの最新データをコピーする(ステップS21
1)。新規グループの各フラグを更新する(ステップS
212)。旧グループ全てのグループ消去可能フラグF
1を0にセットすると共に、上記ステップS202にお
いて特定した物理グループ番号PGNの最新データフラ
グF4を0にセットする(ステップS213)。アドレ
ス変換テーブル16の論理グループ番号LGNに対応す
る物理グループ番号PGNを上記ステップS211にお
いて各セクタの最新データをコピーしたグループの番号
に変更する(ステップS214)。これにより、長くな
りすぎたグループ同士のリンクを簡潔にすることができ
る。なお、このリンクの簡潔化処理にはある程度の時間
を要するため、カウント値が4未満の場合には(ステッ
プS209でNO)、スキップする。
【0017】
【発明の効果】本発明の半導体記憶装置では、n個のセ
クタを一つのグループとして管理するため、アドレス変
換テーブルを記憶するRAMの容量を少なくすることが
できる。これにより、よりサイズの大きな容量の大きい
フラッシュメモリを搭載することができる。
【0018】好ましい構成の半導体記憶装置では、デー
タの追加書き込みが行われた場合に、次々と新規のグル
ープを使用するのではなく、使用していないセクタへの
追加書き込みの際には、当該未使用のセクタへデータの
書き込みを行う。これにより、有効にグループ内のセク
タを利用することができる。
【0019】また、より好ましい構成の半導体記憶装置
では、データの追加書き込みが繰り返し行われた場合で
あっても、リンク簡潔化手段によりグループ同士のリン
ク状態を簡潔に保ち、アクセスに要する時間をある一定
のレベルに保つことができる。
【図面の簡単な説明】
【図1】 本発明の半導体記憶装置の構成を示す図であ
る。
【図2】 消去ブロックの内部構成を示す図である。
【図3】 新規データ書き込み時における消去ブロック
内の状態を示す図である。
【図4】 アドレス変換テーブルを示す。
【図5】 データの追加書き込み時における消去ブロッ
ク内の状態を示す図である。
【図6】 アドレス変換テーブルを示す。
【図7】 データの書き込み処理のフローチャートであ
る。
【図8】 データの書き込み処理のフローチャートであ
る。
【図9】 データの読み出しに関係する各グループのフ
ラグの状態を示す図である。
【図10】 リンクの簡潔化処理後における各グループ
のフラグの状態を示す図である。
【図11】 読み出し処理のフローチャートである。
【符号の説明】
10…ホスト 11…半導体記憶装置 12…インターフェース 13…CPU 14…フラッシュ制御回路 15…フラッシュメモリ 16…アドレス変換テーブル 17…バッファRAM

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 n個のセクタを1グループとし、複数の
    グループを消去単位とするフラッシュメモリと、 論理グループ番号に対する物理グループ番号を特定する
    アドレス変換テーブルを記憶するRAMと、 指定された論理セクタ番号をnで除算し、商を論理グル
    ープ番号とし、余りをオフセットアドレスとする除算手
    段と、 除算手段により求められた論理グループ番号に対応する
    物理グループ番号をアドレス変換テーブルから求め、求
    めた物理グループ番号のオフセットアドレスにあるセク
    タをアクセスの対象としてデータの書き込み及び読み出
    しを行う制御部とを備えることを特徴とする半導体記憶
    装置。
  2. 【請求項2】 請求項1に記載された半導体記憶装置に
    おいて、さらに、 グループ毎に、n個のセクタの使用状態を管理するため
    の情報を記憶する記憶手段を備え、 上記制御部は、アクセスの対象のセクタにデータを書き
    込む場合であって、上記記憶手段により当該セクタに既
    にデータが書き込まれていると判断される場合には、未
    使用のグループを検索し、検索した未使用のグループの
    上記オフセットアドレスのセクタにデータの書き込みを
    行い、アドレス変換テーブルの物理グループ番号に対す
    る物理グループ番号の値を、実際にデータの書き込みを
    行った上記未使用のグループの番号に書き換え、データ
    の書き込みを行っていないセクタについて、書き換え前
    のアドレス変換テーブルで指定された物理グループ番号
    の値を記憶手段に記憶させることを特徴とする半導体記
    憶装置。
  3. 【請求項3】 請求項2に記載された半導体記憶装置に
    おいて、さらに、 上記制御部は、アクセスの対象のセクタのデータを読み
    出す際、上記記憶手段により当該セクタが使用中である
    と判断される場合には、当該セクタのデータを読み出
    し、当該セクタが未使用であると判断される場合には、
    記憶手段に記憶してある番号のグループのオフセットア
    ドレスのセクタ(第2セクタとする)の使用状態を調
    べ、第2セクタが使用中の場合には、第2セクタのデー
    タを読み出し、第2セクタが未使用の場合には、使用中
    のセクタが検出されるまで、記憶手段に記憶されている
    番号のグループのオフセットアドレスのセクタの使用状
    態を繰り返し調べ、所定回数以上、記憶手段に記憶され
    ている番号のグループのオフセットアドレスのセクタの
    使用状態を調べた場合、未使用のグループを検索し、検
    索した未使用のグループに各セクタの最新データをコピ
    ーし、アドレス変換テーブルの物理グループ番号に対す
    る物理グループ番号の値を、各セクタの最新データのコ
    ピーを行ったグループの番号に書き換えることを特徴と
    する半導体記憶装置。
JP70796A 1996-01-08 1996-01-08 半導体記憶装置 Pending JPH09185551A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP70796A JPH09185551A (ja) 1996-01-08 1996-01-08 半導体記憶装置
DE19623853A DE19623853A1 (de) 1996-01-08 1996-06-14 Halbleiter-Speichervorrichtung
US08/665,364 US6430650B1 (en) 1996-01-08 1996-06-17 Semiconductor storage device for group management of data sectors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP70796A JPH09185551A (ja) 1996-01-08 1996-01-08 半導体記憶装置

Publications (1)

Publication Number Publication Date
JPH09185551A true JPH09185551A (ja) 1997-07-15

Family

ID=11481252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP70796A Pending JPH09185551A (ja) 1996-01-08 1996-01-08 半導体記憶装置

Country Status (3)

Country Link
US (1) US6430650B1 (ja)
JP (1) JPH09185551A (ja)
DE (1) DE19623853A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366423A (ja) * 2001-06-04 2002-12-20 Samsung Electronics Co Ltd フラッシュメモリの管理方法
US6639843B2 (en) 2001-08-31 2003-10-28 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device with block-unit erase type nonvolatile memory
JP2006515086A (ja) * 2002-10-28 2006-05-18 サンディスク コーポレイション ブロック内のページをグループ化する方法及び装置
WO2007066720A1 (ja) * 2005-12-09 2007-06-14 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法
JP2009026062A (ja) * 2007-07-19 2009-02-05 Tdk Corp メモリコントローラ、メモリシステム及びメモリ制御方法
US7529880B2 (en) 2005-02-07 2009-05-05 Samsung Electronics Co., Ltd. Address mapping table and method of storing mapping data in the same
JP2011054187A (ja) * 1999-04-05 2011-03-17 Sandisk Il Ltd ユニバーサル・シリアル・バスに基づくpcフラッシュディスクのためのアーキテクチャ
JP2017068804A (ja) * 2015-10-02 2017-04-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、アクセスコントローラ、および情報処理方法
US10635596B2 (en) 2015-10-02 2020-04-28 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for accessing memory having access units of different sizes

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
JP2002175211A (ja) * 2000-12-07 2002-06-21 Sharp Corp データ管理システムおよびデータ管理方法
JP2003162433A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd メモリシステム
WO2004001605A1 (en) * 2002-06-19 2003-12-31 Tokyo Electron Device Limited Memory device, memory managing method and program
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US7287068B1 (en) * 2002-12-13 2007-10-23 Bmc Software, Inc. System and method for updating devices that execute an operating system or application program directly from nonvolatile storage
GB2400927A (en) * 2003-04-22 2004-10-27 Hewlett Packard Development Co Method of managing memory by checking that none of the sectors in a block is needed before erasing the block.
ITMI20031126A1 (it) * 2003-06-05 2004-12-06 St Microelectronics Srl Dispositivo di memoria di massa basato su una memoria
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
US7299314B2 (en) * 2003-12-31 2007-11-20 Sandisk Corporation Flash storage system with write/erase abort detection mechanism
JP3942612B2 (ja) 2004-09-10 2007-07-11 東京エレクトロンデバイス株式会社 記憶装置、メモリ管理方法及びプログラム
US20070100893A1 (en) * 2005-10-31 2007-05-03 Sigmatel, Inc. System and method for accessing data from a memory device
US7624239B2 (en) * 2005-11-14 2009-11-24 Sandisk Corporation Methods for the management of erase operations in non-volatile memories
US7783845B2 (en) * 2005-11-14 2010-08-24 Sandisk Corporation Structures for the management of erase operations in non-volatile memories
US20080005449A1 (en) * 2006-07-03 2008-01-03 Phison Electronics Corp. Generalized flash memory and method thereof
TWI341491B (en) * 2007-03-07 2011-05-01 Via Tech Inc Memory access system and memory access method thereof
US20080320253A1 (en) * 2007-06-19 2008-12-25 Andrew Tomlin Memory device with circuitry for writing data of an atomic transaction
US8266391B2 (en) * 2007-06-19 2012-09-11 SanDisk Technologies, Inc. Method for writing data of an atomic transaction to a memory device
US8775758B2 (en) * 2007-12-28 2014-07-08 Sandisk Technologies Inc. Memory device and method for performing a write-abort-safe firmware update
JP2010020586A (ja) * 2008-07-11 2010-01-28 Nec Electronics Corp データ処理装置
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9158678B2 (en) * 2013-03-13 2015-10-13 Kabushiki Kaisha Toshiba Memory address management system and method
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9846552B2 (en) 2014-11-13 2017-12-19 Toshiba Memory Corporation Memory device and storage system having the same
US9778864B2 (en) * 2015-03-10 2017-10-03 SK Hynix Inc. Data storage device using non-sequential segment access and operating method thereof
CN104866345B (zh) * 2015-05-21 2018-03-23 福建升腾资讯有限公司 一种ARMv7m架构下可执行代码的存储方法
US11188501B1 (en) * 2017-08-15 2021-11-30 Amazon Technologies, Inc. Transactional and batch-updated data store search
US11586385B1 (en) 2020-05-06 2023-02-21 Radian Memory Systems, Inc. Techniques for managing writes in nonvolatile memory
CN116661704B (zh) * 2023-07-07 2024-03-08 深圳宏芯宇电子股份有限公司 存储装置数据读写方法、存储器存储装置及存储器控制器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113512A (en) * 1988-06-21 1992-05-12 Matsushita Electric Industrial Co., Ltd. System for managing a storage medium reducing physical space needed
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5590300A (en) * 1991-03-05 1996-12-31 Zitel Corporation Cache memory utilizing address translation table
JP3178909B2 (ja) * 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
JP3175371B2 (ja) * 1992-03-06 2001-06-11 三菱電機株式会社 データ記憶フォーマット変換方式及びその変換方法及びアクセス制御装置及びデータアクセス方法
JP3105092B2 (ja) * 1992-10-06 2000-10-30 株式会社東芝 半導体メモリ装置
US5471604A (en) * 1992-10-30 1995-11-28 Intel Corporation Method for locating sector data in a memory disk by examining a plurality of headers near an initial pointer
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
JP3426385B2 (ja) * 1995-03-09 2003-07-14 富士通株式会社 ディスク制御装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011054187A (ja) * 1999-04-05 2011-03-17 Sandisk Il Ltd ユニバーサル・シリアル・バスに基づくpcフラッシュディスクのためのアーキテクチャ
JP2002366423A (ja) * 2001-06-04 2002-12-20 Samsung Electronics Co Ltd フラッシュメモリの管理方法
US6639843B2 (en) 2001-08-31 2003-10-28 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device with block-unit erase type nonvolatile memory
JP2006515086A (ja) * 2002-10-28 2006-05-18 サンディスク コーポレイション ブロック内のページをグループ化する方法及び装置
US7529880B2 (en) 2005-02-07 2009-05-05 Samsung Electronics Co., Ltd. Address mapping table and method of storing mapping data in the same
JPWO2007066720A1 (ja) * 2005-12-09 2009-05-21 パナソニック株式会社 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法
JP4633802B2 (ja) * 2005-12-09 2011-02-16 パナソニック株式会社 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法
WO2007066720A1 (ja) * 2005-12-09 2007-06-14 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法
JP2009026062A (ja) * 2007-07-19 2009-02-05 Tdk Corp メモリコントローラ、メモリシステム及びメモリ制御方法
JP2017068804A (ja) * 2015-10-02 2017-04-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、アクセスコントローラ、および情報処理方法
US10635596B2 (en) 2015-10-02 2020-04-28 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for accessing memory having access units of different sizes
US11144464B2 (en) 2015-10-02 2021-10-12 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for issuing access requests from a processor to a sub-processor
US11907129B2 (en) 2015-10-02 2024-02-20 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for issuing access requests from a processor to a sub-processor

Also Published As

Publication number Publication date
US20020069314A1 (en) 2002-06-06
US6430650B1 (en) 2002-08-06
DE19623853A1 (de) 1997-07-17

Similar Documents

Publication Publication Date Title
JPH09185551A (ja) 半導体記憶装置
JP4611024B2 (ja) ブロック内のページをグループ化する方法及び装置
KR100914089B1 (ko) 비휘발성 저장 시스템의 소거 카운트 유지 방법 및 장치
JP4445394B2 (ja) 消去カウントブロックを管理する方法および装置
JP4758648B2 (ja) 不揮発性記憶システムにおける平均消去カウントの維持
JP4456486B2 (ja) 不揮発性記憶システムにおける摩耗一様化
US7191306B2 (en) Flash memory, and flash memory access method and apparatus
USRE45222E1 (en) Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table
JP3197815B2 (ja) 半導体メモリ装置及びその制御方法
RU2243588C2 (ru) Энергонезависимое устройство памяти, устройство записи и способ записи
KR100595909B1 (ko) 저장장치 및 플래시 메모리 장치내 정보 액세스 방법 및 정보 저장 관리 방법
KR100946286B1 (ko) 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템
US20060168392A1 (en) Flash memory file system
JP2006504221A (ja) 不揮発性記憶システムにおける最高頻度消去ブロックの追跡
JP2006504198A (ja) 論理ブロックをスプリットする方法および装置
JPWO2006067923A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
JP2006504199A (ja) 不揮発性メモリシステムにおける最低頻度消去ブロックの追跡
JP2007280428A (ja) メモリ管理
JP2005242897A (ja) フラッシュディスク装置
JPH10133940A (ja) メモリ装置
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
WO2005008499A1 (ja) 情報記録媒体におけるデータ領域管理方法、及びデータ領域管理方法を用いた情報処理装置
JP3808842B2 (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
KR100780963B1 (ko) 메모리 카드 및 메모리 카드의 구동 방법
JP3166659B2 (ja) 記憶装置