JPH10124381A - 半導体記憶装置 - Google Patents
半導体記憶装置Info
- Publication number
- JPH10124381A JPH10124381A JP27779796A JP27779796A JPH10124381A JP H10124381 A JPH10124381 A JP H10124381A JP 27779796 A JP27779796 A JP 27779796A JP 27779796 A JP27779796 A JP 27779796A JP H10124381 A JPH10124381 A JP H10124381A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- data
- physical
- management table
- logical
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 64
- 230000015654 memory Effects 0.000 claims abstract description 101
- 230000010365 information processing Effects 0.000 claims description 19
- 238000007726 management method Methods 0.000 description 89
- 238000006243 chemical reaction Methods 0.000 description 22
- 238000000034 method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 6
- 238000013500 data storage Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 起動時の立ち上がり時間を短縮し、また起動
時の消費電力を抑さえた半導体記憶装置を提供する。 【解決手段】 接続されるホストコンピュータ12に対
してデータの入出力を行うインターフェース回路13
と、データを格納するフラッシュメモリ33と、半導体
記憶装置31の制御を行うCPU15と、CPU15か
らの命令に基づきフラッシュメモリ33を制御するフラ
ッシュメモリ制御回路21と、データを一時的に格納す
るバッファ17とを有する半導体記憶装置31におい
て、ホストコンピュータ12から送信される論理クラス
タ番号とフラッシュメモリ33内での物理クラスタ番号
とを関連づけたクラスタ管理テーブル35と、クラスタ
管理テーブル35が管理するデータのフラッシュメモリ
33内の格納位置を管理するクラスタ管理テーブル状態
マップ37とをフラッシュメモリ33内に備える。
時の消費電力を抑さえた半導体記憶装置を提供する。 【解決手段】 接続されるホストコンピュータ12に対
してデータの入出力を行うインターフェース回路13
と、データを格納するフラッシュメモリ33と、半導体
記憶装置31の制御を行うCPU15と、CPU15か
らの命令に基づきフラッシュメモリ33を制御するフラ
ッシュメモリ制御回路21と、データを一時的に格納す
るバッファ17とを有する半導体記憶装置31におい
て、ホストコンピュータ12から送信される論理クラス
タ番号とフラッシュメモリ33内での物理クラスタ番号
とを関連づけたクラスタ管理テーブル35と、クラスタ
管理テーブル35が管理するデータのフラッシュメモリ
33内の格納位置を管理するクラスタ管理テーブル状態
マップ37とをフラッシュメモリ33内に備える。
Description
【0001】
【発明の属する技術分野】本発明は、所定の単位毎にデ
ータの消去が可能なフラッシュメモリ等のブロック消去
型不揮発メモリを搭載した半導体記憶装置に関するもの
である。
ータの消去が可能なフラッシュメモリ等のブロック消去
型不揮発メモリを搭載した半導体記憶装置に関するもの
である。
【0002】
【従来の技術】携帯型コンピュータやデジタルスチルカ
メラ等の携帯型の情報処理機器の普及に伴い、駆動系を
持たないフラッシュメモリ(電気的に書き込みおよび消
去が可能な不揮発性メモリ)を用いた小型の半導体記憶
装置が普及しつつある。通常、フラッシュメモリを用い
た半導体記憶装置と情報処理機器(以下、「ホストコン
ピュータ」と称す。)とは512バイト単位でデータ転
送が行われる。また、半導体記憶装置に搭載されるフラ
ッシュメモリにおいては、データの消去は所定のデータ
単位である消去ブロック単位で行われる。この消去ブロ
ックの大きさは数Kバイトから数十Kバイトであり、前
述のデータ転送の単位(512バイト)に比べるとかな
り大きい値となる。
メラ等の携帯型の情報処理機器の普及に伴い、駆動系を
持たないフラッシュメモリ(電気的に書き込みおよび消
去が可能な不揮発性メモリ)を用いた小型の半導体記憶
装置が普及しつつある。通常、フラッシュメモリを用い
た半導体記憶装置と情報処理機器(以下、「ホストコン
ピュータ」と称す。)とは512バイト単位でデータ転
送が行われる。また、半導体記憶装置に搭載されるフラ
ッシュメモリにおいては、データの消去は所定のデータ
単位である消去ブロック単位で行われる。この消去ブロ
ックの大きさは数Kバイトから数十Kバイトであり、前
述のデータ転送の単位(512バイト)に比べるとかな
り大きい値となる。
【0003】フラッシュメモリ内のデータを書き換える
時は、そのデータが含まれる消去ブロック全体を書き換
える必要がある。例えば、512バイトのデータを書き
換える場合では、その512バイトのデータが含まれる
数Kバイトから数十Kバイトの消去ブロック内のデータ
を一旦別の領域に退避させ、そのブロックを消去した
後、そのブロックに退避させたデータとともに新しいデ
ータを書き込む必要がある。このため、書き込み効率が
悪いという問題があった。また、フラッシュメモリにお
いては、消去回数に上限があるため、各ブロックの消去
回数をある程度均一にしながらデータの消去・書き込み
を行う必要があった。
時は、そのデータが含まれる消去ブロック全体を書き換
える必要がある。例えば、512バイトのデータを書き
換える場合では、その512バイトのデータが含まれる
数Kバイトから数十Kバイトの消去ブロック内のデータ
を一旦別の領域に退避させ、そのブロックを消去した
後、そのブロックに退避させたデータとともに新しいデ
ータを書き込む必要がある。このため、書き込み効率が
悪いという問題があった。また、フラッシュメモリにお
いては、消去回数に上限があるため、各ブロックの消去
回数をある程度均一にしながらデータの消去・書き込み
を行う必要があった。
【0004】このような問題を解決するために、例え
ば、特開平5−27924号公報に開示されたアドレス
変換テーブルを備えた半導体記憶装置がある。図8に、
このアドレス変換テーブルを備えた半導体記憶装置のブ
ロック図を示す。図に示すように、半導体記憶装置11
は、ホストコンピュータ12との間でデータのやりとり
を行うインターフェース回路13と、半導体記憶装置1
1全体を制御するCPU15と、ホストコンピュータ1
2から要求されたデータを処理する間、データを一時的
に格納するバッファ17と、ホストコンピュータ12か
ら送信される論理セクタアドレス(論理セクタ番号)と
フラッシュメモリ内部の物理セクタアドレス(物理セク
タ番号)とを対応づけるアドレス変換テーブルを格納す
るアドレス変換テーブルRAM19と、データを記憶す
るフラッシュメモリ23と、フラッシュメモリ23を制
御するフラッシュメモリ制御回路21とからなる。アド
レス変換テーブルRAM19はSRAM(スタティック
RAM)やDRAM(ダイナミックRAM)から構成さ
れている。
ば、特開平5−27924号公報に開示されたアドレス
変換テーブルを備えた半導体記憶装置がある。図8に、
このアドレス変換テーブルを備えた半導体記憶装置のブ
ロック図を示す。図に示すように、半導体記憶装置11
は、ホストコンピュータ12との間でデータのやりとり
を行うインターフェース回路13と、半導体記憶装置1
1全体を制御するCPU15と、ホストコンピュータ1
2から要求されたデータを処理する間、データを一時的
に格納するバッファ17と、ホストコンピュータ12か
ら送信される論理セクタアドレス(論理セクタ番号)と
フラッシュメモリ内部の物理セクタアドレス(物理セク
タ番号)とを対応づけるアドレス変換テーブルを格納す
るアドレス変換テーブルRAM19と、データを記憶す
るフラッシュメモリ23と、フラッシュメモリ23を制
御するフラッシュメモリ制御回路21とからなる。アド
レス変換テーブルRAM19はSRAM(スタティック
RAM)やDRAM(ダイナミックRAM)から構成さ
れている。
【0005】このような半導体記憶装置11において、
CPU15が半導体記憶装置11内のデータを書き換え
る場合は、書き換えるデータを含む元の消去ブロックに
ついては処理を行わず、フラッシュメモリ23内の空き
領域に元の消去ブロックのデータとともに新しいデータ
を書き込むとともに、新しい消去ブロックに対応させて
アドレス変換テーブルを書き換える。以降、CPU15
はこのアドレス変換テーブルを参照することにより、ホ
ストコンピュータ12からの論理セクタアドレスとフラ
ッシュメモリ23内の物理セクタアドレスとを対応づけ
ることができ、フラッシュメモリ23内のデータをアク
セスすることができる。
CPU15が半導体記憶装置11内のデータを書き換え
る場合は、書き換えるデータを含む元の消去ブロックに
ついては処理を行わず、フラッシュメモリ23内の空き
領域に元の消去ブロックのデータとともに新しいデータ
を書き込むとともに、新しい消去ブロックに対応させて
アドレス変換テーブルを書き換える。以降、CPU15
はこのアドレス変換テーブルを参照することにより、ホ
ストコンピュータ12からの論理セクタアドレスとフラ
ッシュメモリ23内の物理セクタアドレスとを対応づけ
ることができ、フラッシュメモリ23内のデータをアク
セスすることができる。
【0006】
【発明が解決しようとする課題】しかし、このようなア
ドレス変換テーブルRAM19を用いた半導体記憶装置
では、半導体記憶装置を起動時にフラッシュメモリ内の
データを全て検索することによりアドレス変換テーブル
RAM19においてアドレス変換テーブルの構築処理を
行う必要がある。このため、アドレス変換テーブルの構
築処理のための処理時間が必要となり、立ち上がりに時
間がかかるという問題がある。また、このアドレス変換
テーブル構築処理時の電力消費のため、電力供給能力の
低いホストコンピュータ12の場合、ホストコンピュー
タ12がダウンするという問題がある。さらに、アドレ
ス変換テーブルはセクタ単位で論理アドレスと物理アド
レスを対応づけているため、半導体記憶装置の容量の増
加に伴い、アドレス変換テーブルが大きくなり、アドレ
ス変換テーブルを格納するアドレス変換テーブルRAM
19の容量も大きくする必要があり、半導体記憶装置全
体のコストの増加につながる。
ドレス変換テーブルRAM19を用いた半導体記憶装置
では、半導体記憶装置を起動時にフラッシュメモリ内の
データを全て検索することによりアドレス変換テーブル
RAM19においてアドレス変換テーブルの構築処理を
行う必要がある。このため、アドレス変換テーブルの構
築処理のための処理時間が必要となり、立ち上がりに時
間がかかるという問題がある。また、このアドレス変換
テーブル構築処理時の電力消費のため、電力供給能力の
低いホストコンピュータ12の場合、ホストコンピュー
タ12がダウンするという問題がある。さらに、アドレ
ス変換テーブルはセクタ単位で論理アドレスと物理アド
レスを対応づけているため、半導体記憶装置の容量の増
加に伴い、アドレス変換テーブルが大きくなり、アドレ
ス変換テーブルを格納するアドレス変換テーブルRAM
19の容量も大きくする必要があり、半導体記憶装置全
体のコストの増加につながる。
【0007】本発明は、上記問題を解決すべくなされた
ものであり、その目的とするところは、起動時の立ち上
がり時間を短縮し、また起動時の消費電力を抑さえた半
導体記憶装置を提供することにある。
ものであり、その目的とするところは、起動時の立ち上
がり時間を短縮し、また起動時の消費電力を抑さえた半
導体記憶装置を提供することにある。
【0008】
【課題を解決するための手段】本発明に係る第1半導体
記憶装置は、情報処理機器に接続され、フラッシュメモ
リからなりデータをセクタ単位で格納するメモリ部と、
前記メモリ部に対してデータの書き込みまたは読み出し
処理の制御を行う制御手段とを有する半導体記憶装置に
おいて、前記情報処理機器がデータを管理するためのア
ドレスである論理セクタ番号と前記メモリ部内でデータ
を管理するためのアドレスである物理セクタ番号とを関
連づけた情報を格納するアドレス管理テーブルと、前記
アドレス管理テーブル内の前記情報が格納される前記メ
モリ部内の物理的位置情報を格納するテーブル状態マッ
プとを前記メモリ部内に設ける。前記制御手段は、前記
情報処理機器からデータの読み出しまたは書き込みの要
求があったときに、前記情報処理機器からの論理セクタ
番号に基づいて、前記テーブル状態マップを参照して、
前記論理セクタ番号の関連情報が格納される物理的位置
を特定し、該特定された位置に格納される前記アドレス
管理テーブルの値に基づき、前記論理セクタ番号を前記
物理セクタ番号に変換する。
記憶装置は、情報処理機器に接続され、フラッシュメモ
リからなりデータをセクタ単位で格納するメモリ部と、
前記メモリ部に対してデータの書き込みまたは読み出し
処理の制御を行う制御手段とを有する半導体記憶装置に
おいて、前記情報処理機器がデータを管理するためのア
ドレスである論理セクタ番号と前記メモリ部内でデータ
を管理するためのアドレスである物理セクタ番号とを関
連づけた情報を格納するアドレス管理テーブルと、前記
アドレス管理テーブル内の前記情報が格納される前記メ
モリ部内の物理的位置情報を格納するテーブル状態マッ
プとを前記メモリ部内に設ける。前記制御手段は、前記
情報処理機器からデータの読み出しまたは書き込みの要
求があったときに、前記情報処理機器からの論理セクタ
番号に基づいて、前記テーブル状態マップを参照して、
前記論理セクタ番号の関連情報が格納される物理的位置
を特定し、該特定された位置に格納される前記アドレス
管理テーブルの値に基づき、前記論理セクタ番号を前記
物理セクタ番号に変換する。
【0009】本発明に係る第2半導体記憶装置は、情報
処理機器に接続され、フラッシュメモリからなりデータ
をセクタ単位で格納するメモリ部と、前記メモリ部に対
してデータの書き込みまたは読み出し処理の制御を行う
制御手段とを有し、データを複数のセクタからなるクラ
スタ単位で管理する半導体記憶装置において、前記情報
処理機器がデータを管理するためのアドレスである論理
セクタ番号に対応した論理クラスタ番号と前記メモリ部
内でデータを管理するためのアドレスである物理セクタ
番号に対応した物理クラスタ番号とを関連づけた情報を
格納するアドレス管理テーブルと、前記アドレス管理テ
ーブル内の前記情報が格納される前記メモリ部内の物理
的位置情報を格納するテーブル状態マップとを前記メモ
リ手段内に設ける。前記制御手段は前記情報処理機器か
らデータの読み出しまたは書き込みの要求があったとき
に、前記情報処理機器からの論理セクタ番号に基づいて
論理クラスタ番号とオフセットとを計算し、前記論理ク
ラスタ番号に基づいて、前記テーブル状態マップを参照
して、前記論理クラスタ番号の関連情報が格納される物
理的位置を特定し、該特定された位置に格納される前記
アドレス管理テーブルの値に基づき、前記論理クラスタ
タ番号を前記物理クラスタ番号に変換し、該変換された
物理クラスタ番号と前記オフセットとから物理セクタ番
号を求める。
処理機器に接続され、フラッシュメモリからなりデータ
をセクタ単位で格納するメモリ部と、前記メモリ部に対
してデータの書き込みまたは読み出し処理の制御を行う
制御手段とを有し、データを複数のセクタからなるクラ
スタ単位で管理する半導体記憶装置において、前記情報
処理機器がデータを管理するためのアドレスである論理
セクタ番号に対応した論理クラスタ番号と前記メモリ部
内でデータを管理するためのアドレスである物理セクタ
番号に対応した物理クラスタ番号とを関連づけた情報を
格納するアドレス管理テーブルと、前記アドレス管理テ
ーブル内の前記情報が格納される前記メモリ部内の物理
的位置情報を格納するテーブル状態マップとを前記メモ
リ手段内に設ける。前記制御手段は前記情報処理機器か
らデータの読み出しまたは書き込みの要求があったとき
に、前記情報処理機器からの論理セクタ番号に基づいて
論理クラスタ番号とオフセットとを計算し、前記論理ク
ラスタ番号に基づいて、前記テーブル状態マップを参照
して、前記論理クラスタ番号の関連情報が格納される物
理的位置を特定し、該特定された位置に格納される前記
アドレス管理テーブルの値に基づき、前記論理クラスタ
タ番号を前記物理クラスタ番号に変換し、該変換された
物理クラスタ番号と前記オフセットとから物理セクタ番
号を求める。
【0010】本発明に係る第3半導体記憶装置は、上記
第2半導体記憶装置において、前記アドレス管理テーブ
ルが1セクタの大きさを持つ少なくとも1つのテーブル
から構成される。また、前記テーブル状態マップが前記
アドレス管理テーブルを構成する前記テーブルを特定す
るためのテーブル番号と前記テーブルが格納される前記
メモリ部内の物理セクタ番号とを関連づけた情報を格納
する。
第2半導体記憶装置において、前記アドレス管理テーブ
ルが1セクタの大きさを持つ少なくとも1つのテーブル
から構成される。また、前記テーブル状態マップが前記
アドレス管理テーブルを構成する前記テーブルを特定す
るためのテーブル番号と前記テーブルが格納される前記
メモリ部内の物理セクタ番号とを関連づけた情報を格納
する。
【0011】本発明に係る第4半導体記憶装置は、上記
半導体記憶装置において、前記セクタの大きさを前記メ
モリ部内のデータの消去または書き込み単位である消去
ブロックの大きさと等しくする。
半導体記憶装置において、前記セクタの大きさを前記メ
モリ部内のデータの消去または書き込み単位である消去
ブロックの大きさと等しくする。
【0012】
【発明の実施の形態】以下、添付の図面を参照して本発
明に係る半導体記憶装置の実施の形態を説明する。図1
は、本実施の形態の半導体記憶装置のブロック図を示
す。尚、図1において、図8で示される従来の半導体記
憶装置を構成する構成要素と同じものは同じ符号で示し
ている。図1に示すように半導体記憶装置31は、イン
ターフェース回路13と、CPU15と、バッファ17
と、フラッシュメモリ制御回路21と、フラッシュメモ
リ33とから構成される。フラッシュメモリ33はクラ
スタ管理テーブル35とクラスタ管理テーブル状態マッ
プ37とをさらに備える。また、半導体記憶装置31は
情報処理機器であるホストコンピュータ12と接続さ
れ、ホストコンピュータ12に対してデータの入出力を
行う。
明に係る半導体記憶装置の実施の形態を説明する。図1
は、本実施の形態の半導体記憶装置のブロック図を示
す。尚、図1において、図8で示される従来の半導体記
憶装置を構成する構成要素と同じものは同じ符号で示し
ている。図1に示すように半導体記憶装置31は、イン
ターフェース回路13と、CPU15と、バッファ17
と、フラッシュメモリ制御回路21と、フラッシュメモ
リ33とから構成される。フラッシュメモリ33はクラ
スタ管理テーブル35とクラスタ管理テーブル状態マッ
プ37とをさらに備える。また、半導体記憶装置31は
情報処理機器であるホストコンピュータ12と接続さ
れ、ホストコンピュータ12に対してデータの入出力を
行う。
【0013】半導体記憶装置31において、インターフ
ェース回路13は半導体記憶装置31とホストコンピュ
ータ12との間でデータの受け渡しを行う。フラッシュ
メモリ33はデータを記憶するものであり、電気的に消
去可能な不揮発メモリから構成される。CPU15は半
導体記憶装置31内部の制御を行う。フラッシュメモリ
制御回路21はCPU15からの制御に基づいて、フラ
ッシュメモリ33に対してデータの読み出しや書き込み
を行う。この際、フラッシュメモリ制御回路21はバッ
ファ17に一時的にデータを格納しながらフラッシュメ
モリ33に対するデータ処理を行う。このようにCPU
15とフラッシュメモリ制御回路21とはフラッシュメ
モリ33を制御するための制御手段をなす。
ェース回路13は半導体記憶装置31とホストコンピュ
ータ12との間でデータの受け渡しを行う。フラッシュ
メモリ33はデータを記憶するものであり、電気的に消
去可能な不揮発メモリから構成される。CPU15は半
導体記憶装置31内部の制御を行う。フラッシュメモリ
制御回路21はCPU15からの制御に基づいて、フラ
ッシュメモリ33に対してデータの読み出しや書き込み
を行う。この際、フラッシュメモリ制御回路21はバッ
ファ17に一時的にデータを格納しながらフラッシュメ
モリ33に対するデータ処理を行う。このようにCPU
15とフラッシュメモリ制御回路21とはフラッシュメ
モリ33を制御するための制御手段をなす。
【0014】ホストコンピュータ12は半導体記憶装置
31に対してデータの読み出しまたは書き込みを行うと
きは、半導体記憶装置31に対してインターフェース回
路13を介して、読み出しまたは書き込み等の処理を要
求するデータのセクタアドレスである論理セクタ番号を
送信する。半導体記憶装置31において、CPU15は
インターフェース回路13を介して入力された論理セク
タ番号をフラッシュメモリ33内のクラスタ管理テーブ
ル35およびクラスタ管理テーブル状態マップ37を用
いてフラッシュメモリ33内のセクタアドレスである物
理セクタ番号に変換し、この物理セクタ番号で指定され
るフラッシュメモリ33内の領域に対してデータの読み
出しまたは書き込みを行う。
31に対してデータの読み出しまたは書き込みを行うと
きは、半導体記憶装置31に対してインターフェース回
路13を介して、読み出しまたは書き込み等の処理を要
求するデータのセクタアドレスである論理セクタ番号を
送信する。半導体記憶装置31において、CPU15は
インターフェース回路13を介して入力された論理セク
タ番号をフラッシュメモリ33内のクラスタ管理テーブ
ル35およびクラスタ管理テーブル状態マップ37を用
いてフラッシュメモリ33内のセクタアドレスである物
理セクタ番号に変換し、この物理セクタ番号で指定され
るフラッシュメモリ33内の領域に対してデータの読み
出しまたは書き込みを行う。
【0015】フラッシュメモリ33内のデータ領域は図
2の(a)に示すように複数のセクタから構成される。
本実施の形態においては、このセクタの大きさとフラッ
シュメモリ33内の書き込みまたは消去の単位である消
去ブロックの大きさとを同じにしており、これによりデ
ータの書き込みまたは消去をセクタ単位で行うことがで
きる。図3に本実施の形態における消去ブロック(セク
タ)の構成を示す。消去ブロックはデータ記憶領域41
(512バイト)と消去ブロック状態記憶領域43と予
備領域45とECC領域47とから構成される。そのサ
イズは512+αバイト(αは例えば16バイト)とす
る。データ記憶領域41にはデータが格納され、消去ブ
ロック状態記憶領域43にはその消去ブロックの消去回
数や、消去や書き込みに要した時間等の消去ブロックの
状態を示す情報が格納される。消去に要した時間はCP
U15が内部タイマで測定し、データ書き込み時に記録
する。CPU15はこれらの情報を参照して個々の消去
ブロックの特性を確認することができる。例えばCPU
15は個々の消去ブロックの消去や書き込みに要した時
間を確認し、所定時間以上の時間を要しているものに関
しては、不良と見なして、ブロックの代替等の処理を行
うことができる。予備領域45は予備のために確保され
ている領域であり通常データは書き込まれていない。E
CC領域47には消去ブロック毎にフラッシュメモリ制
御回路21においてECC領域47を除く消去ブロック
の領域に対して計算されたエラー訂正符号(ECC)が
格納されている。
2の(a)に示すように複数のセクタから構成される。
本実施の形態においては、このセクタの大きさとフラッ
シュメモリ33内の書き込みまたは消去の単位である消
去ブロックの大きさとを同じにしており、これによりデ
ータの書き込みまたは消去をセクタ単位で行うことがで
きる。図3に本実施の形態における消去ブロック(セク
タ)の構成を示す。消去ブロックはデータ記憶領域41
(512バイト)と消去ブロック状態記憶領域43と予
備領域45とECC領域47とから構成される。そのサ
イズは512+αバイト(αは例えば16バイト)とす
る。データ記憶領域41にはデータが格納され、消去ブ
ロック状態記憶領域43にはその消去ブロックの消去回
数や、消去や書き込みに要した時間等の消去ブロックの
状態を示す情報が格納される。消去に要した時間はCP
U15が内部タイマで測定し、データ書き込み時に記録
する。CPU15はこれらの情報を参照して個々の消去
ブロックの特性を確認することができる。例えばCPU
15は個々の消去ブロックの消去や書き込みに要した時
間を確認し、所定時間以上の時間を要しているものに関
しては、不良と見なして、ブロックの代替等の処理を行
うことができる。予備領域45は予備のために確保され
ている領域であり通常データは書き込まれていない。E
CC領域47には消去ブロック毎にフラッシュメモリ制
御回路21においてECC領域47を除く消去ブロック
の領域に対して計算されたエラー訂正符号(ECC)が
格納されている。
【0016】また、本実施の形態の半導体記憶装置31
は図2の(b)に示すように4セクタを1クラスタと
し、クラスタ単位でデータを管理する。すなわち、ホス
トコンピュータ12から送信される論理セクタ番号およ
び、フラッシュメモリ33内の物理セクタ番号をそれぞ
れクラスタ単位で管理する。このようなクラスタ管理に
おいては、セクタの位置はクラスタを指定するクラスタ
番号とクラスタ内のオフセットとにより特定される。例
えば、セクタ番号が6のセクタである「セクタ6」はク
ラスタ番号1のクラスタである「クラスタ1」と「オフ
セット2」によりその位置が特定される。そこで、本実
施の形態では、クラスタ単位でのデータ管理を行うた
め、図1に示すようにクラスタ管理テーブル35および
クラスタ管理テーブル状態マップ37をフラッシュメモ
リ33内に設けている。以下、クラスタ管理テーブル3
5およびクラスタ管理テーブル状態マップ37について
説明する。
は図2の(b)に示すように4セクタを1クラスタと
し、クラスタ単位でデータを管理する。すなわち、ホス
トコンピュータ12から送信される論理セクタ番号およ
び、フラッシュメモリ33内の物理セクタ番号をそれぞ
れクラスタ単位で管理する。このようなクラスタ管理に
おいては、セクタの位置はクラスタを指定するクラスタ
番号とクラスタ内のオフセットとにより特定される。例
えば、セクタ番号が6のセクタである「セクタ6」はク
ラスタ番号1のクラスタである「クラスタ1」と「オフ
セット2」によりその位置が特定される。そこで、本実
施の形態では、クラスタ単位でのデータ管理を行うた
め、図1に示すようにクラスタ管理テーブル35および
クラスタ管理テーブル状態マップ37をフラッシュメモ
リ33内に設けている。以下、クラスタ管理テーブル3
5およびクラスタ管理テーブル状態マップ37について
説明する。
【0017】クラスタ管理テーブル35は、ホストコン
ピュータ12から送信される論理クラスタ番号と、それ
に対応するフラッシュメモリ33内の物理クラスタ番号
とを関連づけており、本実施の形態においてアドレス管
理テーブル手段をなしている。CPU15はホストコン
ピュータ12から送信される論理セクタ番号をこのクラ
スタ管理テーブル35を用いて最終的にフラッシュメモ
リ33内の物理セクタ番号に変換する。このようにクラ
スタ管理テーブル35により物理セクタ番号と論理セク
タ番号とが対応づけられることにより、フラッシュメモ
リ33内の不良セクタを含むクラスタの使用を回避する
ことができる。
ピュータ12から送信される論理クラスタ番号と、それ
に対応するフラッシュメモリ33内の物理クラスタ番号
とを関連づけており、本実施の形態においてアドレス管
理テーブル手段をなしている。CPU15はホストコン
ピュータ12から送信される論理セクタ番号をこのクラ
スタ管理テーブル35を用いて最終的にフラッシュメモ
リ33内の物理セクタ番号に変換する。このようにクラ
スタ管理テーブル35により物理セクタ番号と論理セク
タ番号とが対応づけられることにより、フラッシュメモ
リ33内の不良セクタを含むクラスタの使用を回避する
ことができる。
【0018】図4はクラスタ管理テーブル35の概念を
示した図である。図4の(a)に示すように本実施の形
態においては、クラスタ管理テーブル35は「テーブル
0」〜「テーブル255」の256個のテーブルから構
成される。1つのテーブルは1セクタすなわち512バ
イトの領域を有し、256個の論理クラスタ番号に対応
した物理クラスタ番号を管理する。クラスタ管理テーブ
ル35全体としては、512バイト×256=128K
バイトの領域を有する。各テーブル間で管理する論理ク
ラスタ番号は連続しており、例えば、「テーブル0」は
論理クラスタ番号が0〜255の物理クラスタ番号を管
理し、「テーブル1」は論理クラスタ番号が256〜5
11の物理クラスタ番号を管理する。「テーブル0」〜
「テーブル255」の各テーブルは図4の(b)に示す
ように2バイトの領域に、論理クラスタ番号に対応した
物理クラスタ番号を順次格納している。したがって、ク
ラスタ管理テーブル35を構成するテーブルのテーブル
番号とテーブル内のオフセットにより論理クラスタ番号
に対応した物理クラスタ番号が特定できる。クラスタ管
理テーブル35もデータと同様、4セクタ(4テーブ
ル)を1クラスタとしてクラスタ単位で管理される。
示した図である。図4の(a)に示すように本実施の形
態においては、クラスタ管理テーブル35は「テーブル
0」〜「テーブル255」の256個のテーブルから構
成される。1つのテーブルは1セクタすなわち512バ
イトの領域を有し、256個の論理クラスタ番号に対応
した物理クラスタ番号を管理する。クラスタ管理テーブ
ル35全体としては、512バイト×256=128K
バイトの領域を有する。各テーブル間で管理する論理ク
ラスタ番号は連続しており、例えば、「テーブル0」は
論理クラスタ番号が0〜255の物理クラスタ番号を管
理し、「テーブル1」は論理クラスタ番号が256〜5
11の物理クラスタ番号を管理する。「テーブル0」〜
「テーブル255」の各テーブルは図4の(b)に示す
ように2バイトの領域に、論理クラスタ番号に対応した
物理クラスタ番号を順次格納している。したがって、ク
ラスタ管理テーブル35を構成するテーブルのテーブル
番号とテーブル内のオフセットにより論理クラスタ番号
に対応した物理クラスタ番号が特定できる。クラスタ管
理テーブル35もデータと同様、4セクタ(4テーブ
ル)を1クラスタとしてクラスタ単位で管理される。
【0019】次にクラスタ管理テーブル状態マップ37
について説明する。クラスタ管理テーブル状態マップ3
7はクラスタ管理テーブル35を構成するテーブルのフ
ラッシュメモリ33内の格納位置である物理クラスタ番
号を管理するためのものである。すなわち、クラスタ管
理テーブル35を構成する各テーブルがフラッシュメモ
リ33内のどこに存在するかを示すために用いられる。
これにより、フラッシュメモリ33内においてクラスタ
管理テーブル35を連続した領域に確保できない場合
に、クラスタ管理テーブル35を不連続な領域に割り当
てることができる。図5にクラスタ管理テーブル状態マ
ップ37の構成を示す。
について説明する。クラスタ管理テーブル状態マップ3
7はクラスタ管理テーブル35を構成するテーブルのフ
ラッシュメモリ33内の格納位置である物理クラスタ番
号を管理するためのものである。すなわち、クラスタ管
理テーブル35を構成する各テーブルがフラッシュメモ
リ33内のどこに存在するかを示すために用いられる。
これにより、フラッシュメモリ33内においてクラスタ
管理テーブル35を連続した領域に確保できない場合
に、クラスタ管理テーブル35を不連続な領域に割り当
てることができる。図5にクラスタ管理テーブル状態マ
ップ37の構成を示す。
【0020】図5の(b)に示すように、クラスタ管理
テーブル状態マップ37は1セクタの領域からなり、ク
ラスタ管理テーブル35を構成するテーブルのテーブル
番号とその番号のテーブルが格納されるクラスタの物理
クラスタ番号とを対応づけて管理している。すなわち、
クラスタ管理テーブル状態マップ37の512バイトの
領域において、先頭から2バイト毎にテーブルの領域を
順次割当て、該当する領域にそのテーブルを格納するク
ラスタの物理クラスタ番号を格納している。CPU15
はクラスタ管理テーブル状態マップ37を参照すること
により、クラスタ管理テーブル35を構成する各テーブ
ルが格納されているフラッシュメモリ33内の物理クラ
スタを特定できる。すなわち、クラスタ管理テーブル3
5を構成するテーブルのテーブル番号をオフセットとし
てクラスタ管理テーブル状態マップ37を検索すること
により、そのテーブルを格納するクラスタの物理クラス
タ番号を取得することができる。例えば、「テーブル
4」が格納されているクラスタのクラスタ番号は、クラ
スタ管理テーブル状態マップ37内の「オフセット4」
の位置に格納されている。
テーブル状態マップ37は1セクタの領域からなり、ク
ラスタ管理テーブル35を構成するテーブルのテーブル
番号とその番号のテーブルが格納されるクラスタの物理
クラスタ番号とを対応づけて管理している。すなわち、
クラスタ管理テーブル状態マップ37の512バイトの
領域において、先頭から2バイト毎にテーブルの領域を
順次割当て、該当する領域にそのテーブルを格納するク
ラスタの物理クラスタ番号を格納している。CPU15
はクラスタ管理テーブル状態マップ37を参照すること
により、クラスタ管理テーブル35を構成する各テーブ
ルが格納されているフラッシュメモリ33内の物理クラ
スタを特定できる。すなわち、クラスタ管理テーブル3
5を構成するテーブルのテーブル番号をオフセットとし
てクラスタ管理テーブル状態マップ37を検索すること
により、そのテーブルを格納するクラスタの物理クラス
タ番号を取得することができる。例えば、「テーブル
4」が格納されているクラスタのクラスタ番号は、クラ
スタ管理テーブル状態マップ37内の「オフセット4」
の位置に格納されている。
【0021】このクラスタ管理テーブル状態マップ37
はフラッシュメモリ33内の所定の領域に格納され、電
源投入時にCPU15内のRAMへロードされる。クラ
スタ管理テーブル状態マップ37は、データの読み出し
または書き込み時に必ずCPU15により参照されるた
め、このように電源投入時にCPU15内のRAMへロ
ードされることによりデータの読み出しまたは書き込み
処理を円滑に行うことができる。
はフラッシュメモリ33内の所定の領域に格納され、電
源投入時にCPU15内のRAMへロードされる。クラ
スタ管理テーブル状態マップ37は、データの読み出し
または書き込み時に必ずCPU15により参照されるた
め、このように電源投入時にCPU15内のRAMへロ
ードされることによりデータの読み出しまたは書き込み
処理を円滑に行うことができる。
【0022】前述したように、本実施の形態の半導体記
憶装置31においてCPU15はデータ処理の際にクラ
スタ管理テーブル35およびクラスタ管理テーブル状態
マップ37を用いて、ホストコンピュータ12から送信
された論理セクタ番号をフラッシュメモリ33内の物理
セクタ番号に変換する。以下に本半導体記憶装置31に
おけるデータ読み出し手順を説明する。
憶装置31においてCPU15はデータ処理の際にクラ
スタ管理テーブル35およびクラスタ管理テーブル状態
マップ37を用いて、ホストコンピュータ12から送信
された論理セクタ番号をフラッシュメモリ33内の物理
セクタ番号に変換する。以下に本半導体記憶装置31に
おけるデータ読み出し手順を説明する。
【0023】図6はホストコンピュータ12からデータ
読み出し要求があったときの半導体記憶装置31におけ
るデータ読み出し手順を示す。この図において、最初に
ホストコンピュータ12からCHS(Cylinder/Head/Se
ctor)形式のセクタ番号情報を取得する(S1)と、C
PU15はこのCHS形式のセクタ番号情報を論理セク
タ番号に変換する(S2)。ここで、ホストコンピュー
タ12からのアドレス情報は前述のようにCHS形式の
セクタ番号情報が送信される場合以外に、論理セクタ番
号が直接送信される場合もあり、この場合は上記ステッ
プS1、S2は不要となる。次にCPU15は、論理セ
クタ番号から論理クラスタ番号と、論理クラスタ内のオ
フセットとを計算する(S3)。この計算は次式で行わ
れる。 論理クラスタ番号=integer(論理セクタ番号/クラスタ当りのセクタ数) …(1) クラスタ内のオフセット=論理セクタ番号− 論理クラスタ番号×クラスタ当りのセクタ数 …(2) ここで、integer()は()内の数の整数部のみを取り
出す関数である。
読み出し要求があったときの半導体記憶装置31におけ
るデータ読み出し手順を示す。この図において、最初に
ホストコンピュータ12からCHS(Cylinder/Head/Se
ctor)形式のセクタ番号情報を取得する(S1)と、C
PU15はこのCHS形式のセクタ番号情報を論理セク
タ番号に変換する(S2)。ここで、ホストコンピュー
タ12からのアドレス情報は前述のようにCHS形式の
セクタ番号情報が送信される場合以外に、論理セクタ番
号が直接送信される場合もあり、この場合は上記ステッ
プS1、S2は不要となる。次にCPU15は、論理セ
クタ番号から論理クラスタ番号と、論理クラスタ内のオ
フセットとを計算する(S3)。この計算は次式で行わ
れる。 論理クラスタ番号=integer(論理セクタ番号/クラスタ当りのセクタ数) …(1) クラスタ内のオフセット=論理セクタ番号− 論理クラスタ番号×クラスタ当りのセクタ数 …(2) ここで、integer()は()内の数の整数部のみを取り
出す関数である。
【0024】ここで、論理セクタと物理セクタは同様に
クラスタ管理されているため、それぞれのオフセットは
等しくなるため物理クラスタ内のオフセットは式(2)
で求められる。次に、算出された論理クラスタ番号のク
ラスタがどのクラスタ管理テーブル35に属するかを求
める。すなわち、クラスタ管理テーブル35のテーブル
番号およびテーブル内のオフセットを計算する(S
4)。ここで、前述のようにクラスタ管理テーブル35
を構成する1つのテーブルは256個のクラスタを管理
するため、これらの計算は次式で行われる。 テーブル番号=integer(論理クラスタ番号/256)…(3) テーブル内のオフセット=論理クラスタ番号−テーブル番号×256…(4)
クラスタ管理されているため、それぞれのオフセットは
等しくなるため物理クラスタ内のオフセットは式(2)
で求められる。次に、算出された論理クラスタ番号のク
ラスタがどのクラスタ管理テーブル35に属するかを求
める。すなわち、クラスタ管理テーブル35のテーブル
番号およびテーブル内のオフセットを計算する(S
4)。ここで、前述のようにクラスタ管理テーブル35
を構成する1つのテーブルは256個のクラスタを管理
するため、これらの計算は次式で行われる。 テーブル番号=integer(論理クラスタ番号/256)…(3) テーブル内のオフセット=論理クラスタ番号−テーブル番号×256…(4)
【0025】ホストコンピュータ12から送信された論
理セクタ番号に対する物理クラスタ番号は、式(3)で
求められるテーブル番号のテーブル内の式(4)で求め
られるオフセットの位置に格納されている。
理セクタ番号に対する物理クラスタ番号は、式(3)で
求められるテーブル番号のテーブル内の式(4)で求め
られるオフセットの位置に格納されている。
【0026】上記のようにテーブル番号が算出される
と、このテーブルが格納されているフラッシュメモリ3
3内の物理クラスタを求める。すなわち、クラスタ管理
状態マップ37を用いて、このテーブルが格納されるク
ラスタの物理クラスタ番号を取得する(S5)。テーブ
ルが格納されるクラスタの物理クラスタ番号は、前述の
ようにクラスタ管理テーブル状態マップ37が2バイト
毎にクラスタ管理テーブル35の各テーブルに対応する
物理クラスタ番号を格納しているため、クラスタ管理テ
ーブル状態マップ37において、上記テーブル番号をオ
フセットとする位置に格納されているデータを読み出す
ことにより求められる。
と、このテーブルが格納されているフラッシュメモリ3
3内の物理クラスタを求める。すなわち、クラスタ管理
状態マップ37を用いて、このテーブルが格納されるク
ラスタの物理クラスタ番号を取得する(S5)。テーブ
ルが格納されるクラスタの物理クラスタ番号は、前述の
ようにクラスタ管理テーブル状態マップ37が2バイト
毎にクラスタ管理テーブル35の各テーブルに対応する
物理クラスタ番号を格納しているため、クラスタ管理テ
ーブル状態マップ37において、上記テーブル番号をオ
フセットとする位置に格納されているデータを読み出す
ことにより求められる。
【0027】このようにして上記テーブルが格納される
クラスタの物理クラスタ番号が算出できるが、1クラス
タは4セクタから構成されるため、さらに、該当するセ
クタを特定する必要がある。このため、上記テーブルが
格納されるクラスタ内におけるテーブルのオフセットを
次式により求める(S6)。 クラスタ内におけるテーブルのオフセット=テーブル番号− integer(テーブル番号/クラスタ当りのセクタ数)×クラスタ当りのセクタ数 …(5)
クラスタの物理クラスタ番号が算出できるが、1クラス
タは4セクタから構成されるため、さらに、該当するセ
クタを特定する必要がある。このため、上記テーブルが
格納されるクラスタ内におけるテーブルのオフセットを
次式により求める(S6)。 クラスタ内におけるテーブルのオフセット=テーブル番号− integer(テーブル番号/クラスタ当りのセクタ数)×クラスタ当りのセクタ数 …(5)
【0028】すなわち、クラスタ管理テーブル状態マッ
プ37から求められた物理クラスタ番号および式(5)
により求められたオフセットにより、上記テーブルが格
納される物理セクタが特定できる。このセクタの値をバ
ッファ17に読み出し、クラスタ管理テーブル35にお
いて、式(4)で求められたオフセットの位置に格納さ
れるデータを読み出すことにより、論理クラスタ番号に
対応する物理クラスタ番号を取得できる(S7)。
プ37から求められた物理クラスタ番号および式(5)
により求められたオフセットにより、上記テーブルが格
納される物理セクタが特定できる。このセクタの値をバ
ッファ17に読み出し、クラスタ管理テーブル35にお
いて、式(4)で求められたオフセットの位置に格納さ
れるデータを読み出すことにより、論理クラスタ番号に
対応する物理クラスタ番号を取得できる(S7)。
【0029】この物理クラスタ番号と式(2)で求めら
れたオフセットとから物理セクタ番号を次式により求め
る(S8)。 物理セクタ番号=物理クラスタ番号×クラスタ当りのセクタ数 +オフセット …(6)
れたオフセットとから物理セクタ番号を次式により求め
る(S8)。 物理セクタ番号=物理クラスタ番号×クラスタ当りのセクタ数 +オフセット …(6)
【0030】このようにして、ホストコンピュータ12
から送信される論理セクタ番号に対応した物理セクタ番
号が特定されると、このセクタに格納されるデータが読
み出される(S9)。以上のようにして、本実施の形態
の半導体記憶装置31においては、クラスタ管理テーブ
ル35およびクラスタ管理テーブル状態マップ37を用
いて、ホストコンピュータ12により指定される論理セ
クタ番号をフラッシュメモリ33内の物理セクタ番号へ
変換することによりデータの読み出しができる。
から送信される論理セクタ番号に対応した物理セクタ番
号が特定されると、このセクタに格納されるデータが読
み出される(S9)。以上のようにして、本実施の形態
の半導体記憶装置31においては、クラスタ管理テーブ
ル35およびクラスタ管理テーブル状態マップ37を用
いて、ホストコンピュータ12により指定される論理セ
クタ番号をフラッシュメモリ33内の物理セクタ番号へ
変換することによりデータの読み出しができる。
【0031】以下に、具体的な数値を用いて図6の手順
について図7を参照して説明する。すなわち、クラスタ
当りのセクタ数を「4」、ホストコンピュータ12から
のCHS形式のセクタ情報から得られた論理セクタ番号
を「9227」とした場合のデータ読み出し手順につい
て説明する。
について図7を参照して説明する。すなわち、クラスタ
当りのセクタ数を「4」、ホストコンピュータ12から
のCHS形式のセクタ情報から得られた論理セクタ番号
を「9227」とした場合のデータ読み出し手順につい
て説明する。
【0032】ホストコンピュータ12からCHS形式の
セクタ番号情報を取得し(S1)、CPUはこのCHS
形式のセクタ番号情報を論理セクタ番号に変換した結
果、論理セクタ番号「9227」を得ると(S2)、C
PUは、式(1)により論理クラスタ番号と、論理クラ
スタ内のオフセットとを計算する(S3)。 論理クラスタ番号=integer(9227/4)=230
6 クラスタ内のオフセット=9227−2306×4=3
セクタ番号情報を取得し(S1)、CPUはこのCHS
形式のセクタ番号情報を論理セクタ番号に変換した結
果、論理セクタ番号「9227」を得ると(S2)、C
PUは、式(1)により論理クラスタ番号と、論理クラ
スタ内のオフセットとを計算する(S3)。 論理クラスタ番号=integer(9227/4)=230
6 クラスタ内のオフセット=9227−2306×4=3
【0033】これにより、物理クラスタ内のオフセット
が「3」であることがわかる。次に、論理クラスタ番号
が「2306」のクラスタがどのクラスタ管理テーブル
35内のどのテーブルに属するかを求める。すなわち、
クラスタ管理テーブル35内のテーブルのテーブル番号
およびテーブル内のオフセットを計算する(S4)。 テーブル番号=integer(2306/256)=9 テーブル内のオフセット=2306−9×256=2
が「3」であることがわかる。次に、論理クラスタ番号
が「2306」のクラスタがどのクラスタ管理テーブル
35内のどのテーブルに属するかを求める。すなわち、
クラスタ管理テーブル35内のテーブルのテーブル番号
およびテーブル内のオフセットを計算する(S4)。 テーブル番号=integer(2306/256)=9 テーブル内のオフセット=2306−9×256=2
【0034】これにより、論理クラスタ番号が「230
6」のクラスタの物理クラスタ番号は、「テーブル9」
中の「オフセット2」の位置に格納されていることがわ
かる。
6」のクラスタの物理クラスタ番号は、「テーブル9」
中の「オフセット2」の位置に格納されていることがわ
かる。
【0035】次に、「テーブル9」を格納するクラスタ
の物理クラスタ番号をクラスタ管理テーブル状態マップ
37を用いて求める。すなわち、「テーブル9」の値は
クラスタ管理テーブル状態マップ37内の「オフセット
9」にあり、図7の(a)に示すように「03」とな
る。この「03」は「クラスタ3」を示し、したがっ
て、「テーブル9」は「クラスタ3」に格納されている
ことを示している。さらに、「クラスタ3」内のセクタ
を特定するため、式(5)を用いて「テーブル9」が格
納されるクラスタ内の「テーブル9」のオフセットを求
める(S6)。 クラスタ内のテーブル9のオフセット=9−integer
(9/4)×4=1
の物理クラスタ番号をクラスタ管理テーブル状態マップ
37を用いて求める。すなわち、「テーブル9」の値は
クラスタ管理テーブル状態マップ37内の「オフセット
9」にあり、図7の(a)に示すように「03」とな
る。この「03」は「クラスタ3」を示し、したがっ
て、「テーブル9」は「クラスタ3」に格納されている
ことを示している。さらに、「クラスタ3」内のセクタ
を特定するため、式(5)を用いて「テーブル9」が格
納されるクラスタ内の「テーブル9」のオフセットを求
める(S6)。 クラスタ内のテーブル9のオフセット=9−integer
(9/4)×4=1
【0036】したがって、図7の(b)に示すように
「テーブル9」の値は、「クラスタ3」の「オフセット
1」に存在する物理セクタに格納されていることがわか
る。このセクタの値をバッファ17に読み出し、テーブ
ル内のオフセットである「オフセット2」に格納される
データを読み出すことにより、物理クラスタ番号が特定
される(S7)。図7の(c)に示すようにこの物理ク
ラスタ番号は「01」となる。この物理クラスタ番号と
オフセットとから物理セクタ番号を求める(S8)。 物理セクタ番号=1×4+3=7 このようにして、フラッシュメモリ33内の物理セクタ
番号として「7」が特定され、図7(b)に示すよう
に、フラッシュメモリ33内の「セクタ7」に格納され
るデータが読み出される(S9)。
「テーブル9」の値は、「クラスタ3」の「オフセット
1」に存在する物理セクタに格納されていることがわか
る。このセクタの値をバッファ17に読み出し、テーブ
ル内のオフセットである「オフセット2」に格納される
データを読み出すことにより、物理クラスタ番号が特定
される(S7)。図7の(c)に示すようにこの物理ク
ラスタ番号は「01」となる。この物理クラスタ番号と
オフセットとから物理セクタ番号を求める(S8)。 物理セクタ番号=1×4+3=7 このようにして、フラッシュメモリ33内の物理セクタ
番号として「7」が特定され、図7(b)に示すよう
に、フラッシュメモリ33内の「セクタ7」に格納され
るデータが読み出される(S9)。
【0037】以上、本半導体記憶装置31におけるデー
タの読み出し手順について説明したが、データの書き込
み時の場合も同様にして行うことができる。すなわち、
ホストコンピュータから送信される論理セクタ番号から
上記手順にしたがいクラスタ管理テーブル35およびク
ラスタ管理テーブル状態マップ37を用いて物理セクタ
番号に変換する。物理セクタ番号が特定されると、その
セクタに対して消去コマンドを実行することにより、そ
のセクタのデータを消去し、その後、そのセクタに対し
てホストコンピュータ12から送信されたデータを書き
込む。
タの読み出し手順について説明したが、データの書き込
み時の場合も同様にして行うことができる。すなわち、
ホストコンピュータから送信される論理セクタ番号から
上記手順にしたがいクラスタ管理テーブル35およびク
ラスタ管理テーブル状態マップ37を用いて物理セクタ
番号に変換する。物理セクタ番号が特定されると、その
セクタに対して消去コマンドを実行することにより、そ
のセクタのデータを消去し、その後、そのセクタに対し
てホストコンピュータ12から送信されたデータを書き
込む。
【0038】以上のようにして、本実施の形態の半導体
記憶装置において、クラスタ管理テーブル35およびク
ラスタ管理テーブル状態マップ37を用いて、ホストコ
ンピュータ12により指定される論理セクタ番号をフラ
ッシュメモリ33内の物理セクタ番号へ変換することに
よりセクタを特定することができ、データの読み出しま
たは書き込みができる。
記憶装置において、クラスタ管理テーブル35およびク
ラスタ管理テーブル状態マップ37を用いて、ホストコ
ンピュータ12により指定される論理セクタ番号をフラ
ッシュメモリ33内の物理セクタ番号へ変換することに
よりセクタを特定することができ、データの読み出しま
たは書き込みができる。
【0039】尚、上記説明においては、4セクタを1ク
ラスタとしてクラスタ管理を行ったが、例えば、容量が
32メガバイトより小さい時はクラスタ当りのセクタ数
を1に(このときはセクタ管理になる。)、容量が32
メガバイト以上64メガバイトより小さい時はクラスタ
当りのセクタ数を2に、容量が64メガバイト以上12
8メガバイトより小さい時はクラスタ当りのセクタ数を
4に、容量が128メガバイト以上256メガバイトよ
り小さい時はクラスタ当りのセクタ数を8にというよう
に、半導体記憶装置の容量の大きさに応じて変化させて
もよい。このようにクラスタ当りのセクタ数を変化させ
ることにより、記憶容量の大容量化に伴い管理すべきセ
クタ数が増加しても、クラスタサイズを大きくすること
でクラスタ管理テーブル等に使用されるデータ領域の大
きさを増加させることなくデータを管理することができ
る。
ラスタとしてクラスタ管理を行ったが、例えば、容量が
32メガバイトより小さい時はクラスタ当りのセクタ数
を1に(このときはセクタ管理になる。)、容量が32
メガバイト以上64メガバイトより小さい時はクラスタ
当りのセクタ数を2に、容量が64メガバイト以上12
8メガバイトより小さい時はクラスタ当りのセクタ数を
4に、容量が128メガバイト以上256メガバイトよ
り小さい時はクラスタ当りのセクタ数を8にというよう
に、半導体記憶装置の容量の大きさに応じて変化させて
もよい。このようにクラスタ当りのセクタ数を変化させ
ることにより、記憶容量の大容量化に伴い管理すべきセ
クタ数が増加しても、クラスタサイズを大きくすること
でクラスタ管理テーブル等に使用されるデータ領域の大
きさを増加させることなくデータを管理することができ
る。
【0040】以上のようにして、本実施の形態の半導体
記憶装置31においては、消去ブロックサイズが小さい
フラッシュメモリ33において、消去ブロックとセクタ
の大きさを同じにし、所定数のセクタを1クラスタとし
てクラスタ単位で管理するために、クラスタ管理テーブ
ル35およびクラスタ管理テーブル35内に格納される
情報の位置情報を管理するクラスタ管理テーブル状態マ
ップ37をフラッシュメモリ33内に設け、これらを用
いてホストコンピュータ12からの論理セクタ番号をフ
ラッシュメモリ33内の物理セクタ番号に変換すること
により、従来フラッシュメモリ33とは別にRAMで構
成されていたアドレス変換テーブルを必要としなくな
り、ハード構成が簡単になる。また、起動時におけるア
ドレス変換テーブル構築のための処理時間がなくなり、
またそれに伴う消費電流も減少する。
記憶装置31においては、消去ブロックサイズが小さい
フラッシュメモリ33において、消去ブロックとセクタ
の大きさを同じにし、所定数のセクタを1クラスタとし
てクラスタ単位で管理するために、クラスタ管理テーブ
ル35およびクラスタ管理テーブル35内に格納される
情報の位置情報を管理するクラスタ管理テーブル状態マ
ップ37をフラッシュメモリ33内に設け、これらを用
いてホストコンピュータ12からの論理セクタ番号をフ
ラッシュメモリ33内の物理セクタ番号に変換すること
により、従来フラッシュメモリ33とは別にRAMで構
成されていたアドレス変換テーブルを必要としなくな
り、ハード構成が簡単になる。また、起動時におけるア
ドレス変換テーブル構築のための処理時間がなくなり、
またそれに伴う消費電流も減少する。
【0041】
【発明の効果】本発明に係る第1半導体記憶装置によれ
ば、情報処理機器から送信される論理セクタ番号とメモ
リ手段内の物理セクタタ番号とを関連づけた情報を有す
るアドレス管理テーブルと、アドレス管理テーブルにお
ける前記情報が格納されるメモリ部内の物理的位置情報
を格納するテーブル状態マップとをメモリ部内に設けた
ことにより、メモリ部内において、論理セクタ番号から
物理セクタ番号への変換が可能となるため、メモリ部の
外部に別途アドレス変換用のテーブルを格納するメモリ
部を設ける必要がない。また、メモリ部内にアドレス管
理テーブルを設けているため、半導体記憶装置の起動時
においてアドレス変換用のテーブルの構築処理を要せ
ず、起動時の立ち上げ時間が短縮され、同時に起動時の
消費電力も低減できる。
ば、情報処理機器から送信される論理セクタ番号とメモ
リ手段内の物理セクタタ番号とを関連づけた情報を有す
るアドレス管理テーブルと、アドレス管理テーブルにお
ける前記情報が格納されるメモリ部内の物理的位置情報
を格納するテーブル状態マップとをメモリ部内に設けた
ことにより、メモリ部内において、論理セクタ番号から
物理セクタ番号への変換が可能となるため、メモリ部の
外部に別途アドレス変換用のテーブルを格納するメモリ
部を設ける必要がない。また、メモリ部内にアドレス管
理テーブルを設けているため、半導体記憶装置の起動時
においてアドレス変換用のテーブルの構築処理を要せ
ず、起動時の立ち上げ時間が短縮され、同時に起動時の
消費電力も低減できる。
【0042】本発明に係る第2半導体記憶装置によれ
ば、データが複数のセクタからなるクラスタ単位で管理
され、論理クラスタ番号と物理クラスタ番号とを関連づ
けたアドレス管理テーブルと、アドレス管理テーブルが
格納する情報の位置情報を管理するテーブル状態マップ
とをメモリ部内に設けたことにより、第1半導体記憶装
置と同様の効果が得られるとともに、第1半導体記憶装
置と比較して前記アドレス管理テーブルの容量が少なく
なり、またクラスタ当たりのセクタ数を変えることによ
り、前記メモリ部の容量が増加しても前記セクタ管理テ
ーブルの容量を大きくすることなく対応できる。
ば、データが複数のセクタからなるクラスタ単位で管理
され、論理クラスタ番号と物理クラスタ番号とを関連づ
けたアドレス管理テーブルと、アドレス管理テーブルが
格納する情報の位置情報を管理するテーブル状態マップ
とをメモリ部内に設けたことにより、第1半導体記憶装
置と同様の効果が得られるとともに、第1半導体記憶装
置と比較して前記アドレス管理テーブルの容量が少なく
なり、またクラスタ当たりのセクタ数を変えることによ
り、前記メモリ部の容量が増加しても前記セクタ管理テ
ーブルの容量を大きくすることなく対応できる。
【0043】本発明に係る第3半導体記憶装置におい
て、前記アドレス管理テーブルが1セクタの大きさの少
なくとも1つのテーブルから構成され、前記テーブル状
態マップにより、前記アドレス管理テーブルを構成する
前記テーブルのテーブル番号と前記テーブルが格納され
る前記メモリ部内の物理セクタ番号とが関連づけられる
ことにより、前記メモリ部内の不連続なデータ領域にお
いても前記アドレス管理テーブルを設けることができ
る。
て、前記アドレス管理テーブルが1セクタの大きさの少
なくとも1つのテーブルから構成され、前記テーブル状
態マップにより、前記アドレス管理テーブルを構成する
前記テーブルのテーブル番号と前記テーブルが格納され
る前記メモリ部内の物理セクタ番号とが関連づけられる
ことにより、前記メモリ部内の不連続なデータ領域にお
いても前記アドレス管理テーブルを設けることができ
る。
【0044】本発明に係る第4半導体記憶装置におい
て、前記セクタの大きさを前記メモリの消去単位である
消去ブロックの大きさと等しくすることにより、セクタ
単位でのデータの消去や書き込みが可能となる。
て、前記セクタの大きさを前記メモリの消去単位である
消去ブロックの大きさと等しくすることにより、セクタ
単位でのデータの消去や書き込みが可能となる。
【図面の簡単な説明】
【図1】 本発明に係る半導体記憶装置の実施形態のブ
ロック図。
ロック図。
【図2】 クラスタ管理を説明した図
【図3】 消去ブロックの構成図。
【図4】 クラスタ管理テーブルを説明した図。
【図5】 クラスタ管理テーブル状態マップを説明した
図。
図。
【図6】 本実施形態の半導体記憶装置のデータ読み出
し手順を示すフローチャート。
し手順を示すフローチャート。
【図7】 本実施形態の半導体記憶装置におけるクラス
タ管理状態マップ、クラスタ管理テーブルおよびフラッ
シュメモリ空間の格納値の具体例を示す図。
タ管理状態マップ、クラスタ管理テーブルおよびフラッ
シュメモリ空間の格納値の具体例を示す図。
【図8】 従来の半導体記憶装置のブロック図。
11 半導体記憶装置(従来技術)、12 ホストコン
ピュータ、13 インターフェース回路、15 CP
U、17 バッファ、19 アドレス変換テーブルRA
M、21 フラッシュメモリ制御回路、23 フラッシ
ュメモリ(従来技術)、31 半導体記憶装置(本発
明)、33 フラッシュメモリ(本発明)、35 クラ
スタ管理テーブル、37 クラスタ管理テーブル状態マ
ップ、41データ記憶領域、43 消去ブロック領域、
45 予備領域、47 ECC領域。
ピュータ、13 インターフェース回路、15 CP
U、17 バッファ、19 アドレス変換テーブルRA
M、21 フラッシュメモリ制御回路、23 フラッシ
ュメモリ(従来技術)、31 半導体記憶装置(本発
明)、33 フラッシュメモリ(本発明)、35 クラ
スタ管理テーブル、37 クラスタ管理テーブル状態マ
ップ、41データ記憶領域、43 消去ブロック領域、
45 予備領域、47 ECC領域。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成8年11月7日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正内容】
【0003】フラッシュメモリ内のデータを書き換える
時は、そのデータが含まれる消去ブロック全体を書き換
える必要がある。例えば、512バイトのデータを書き
換える場合では、その512バイトのデータが含まれる
数Kバイトから数十Kバイトの消去ブロック内のデータ
を一旦別の領域に退避させ、そのブロックを消去した
後、そのブロックに退避させたデータとともに新しいデ
ータを書き込む必要がある。このため、書き込み効率が
悪いという問題があった。また、フラッシュメモリにお
いては、消去回数に上限があるため、特定の消去ブロッ
クに書き込みが集中した際、短期間で消去回数の限界値
を超えてしまい使用不可能になるという問題があった。
時は、そのデータが含まれる消去ブロック全体を書き換
える必要がある。例えば、512バイトのデータを書き
換える場合では、その512バイトのデータが含まれる
数Kバイトから数十Kバイトの消去ブロック内のデータ
を一旦別の領域に退避させ、そのブロックを消去した
後、そのブロックに退避させたデータとともに新しいデ
ータを書き込む必要がある。このため、書き込み効率が
悪いという問題があった。また、フラッシュメモリにお
いては、消去回数に上限があるため、特定の消去ブロッ
クに書き込みが集中した際、短期間で消去回数の限界値
を超えてしまい使用不可能になるという問題があった。
Claims (4)
- 【請求項1】 情報処理機器に接続され、フラッシュメ
モリからなりデータをセクタ単位で格納するメモリ部
と、前記メモリ部に対してデータの書き込みまたは読み
出し処理の制御を行う制御手段とを有する半導体記憶装
置において、 前記情報処理機器がデータを管理するためのアドレスで
ある論理セクタ番号と前記メモリ部内でデータを管理す
るためのアドレスである物理セクタ番号とを関連づけた
情報を格納するアドレス管理テーブルと、 前記アドレス管理テーブル内の前記情報が格納される前
記メモリ部内の物理的位置情報を格納するテーブル状態
マップとを前記メモリ部内に設け、 前記制御手段は、前記情報処理機器からデータの読み出
しまたは書き込みの要求があったときに、前記情報処理
機器からの論理セクタ番号に基づいて、前記テーブル状
態マップを参照して、前記論理セクタ番号の関連情報が
格納される物理的位置を特定し、該特定された位置に格
納される前記アドレス管理テーブルの値に基づき、前記
論理セクタ番号を前記物理セクタ番号に変換することを
特徴とする半導体記憶装置。 - 【請求項2】 情報処理機器に接続され、フラッシュメ
モリからなりデータをセクタ単位で格納するメモリ部
と、前記メモリ部に対してデータの書き込みまたは読み
出し処理の制御を行う制御手段とを有し、データを複数
のセクタからなるクラスタ単位で管理する半導体記憶装
置において、 前記情報処理機器がデータを管理するためのアドレスで
ある論理セクタ番号に対応した論理クラスタ番号と前記
メモリ手段内でデータを管理するためのアドレスである
物理セクタ番号に対応した物理クラスタ番号とを関連づ
けた情報を格納するアドレス管理テーブルと、 前記アドレス管理テーブル内の前記情報が格納される前
記メモリ部内の物理的位置情報を格納するテーブル状態
マップとを前記メモリ部内に設け、 前記制御手段は、前記情報処理機器からデータの読み出
しまたは書き込みの要求があったときに、前記情報処理
機器からの論理セクタ番号に基づいて論理クラスタ番号
とオフセットとを計算し、前記論理クラスタ番号に基づ
いて、前記テーブル状態マップを参照して、前記論理ク
ラスタ番号の関連情報が格納される物理的位置を特定
し、該特定された位置に格納される前記アドレス管理テ
ーブルの値に基づき、前記論理クラスタタ番号を前記物
理クラスタ番号に変換し、該変換された物理クラスタ番
号と前記オフセットとから物理セクタ番号を求めること
を特徴とする半導体記憶装置。 - 【請求項3】 請求項1または請求項2に記載の半導体
記憶装置において、前記アドレス管理テーブルは1セク
タの大きさを持つ少なくとも1つのテーブルから構成さ
れ、前記テーブル状態マップは前記アドレス管理テーブ
ルを構成する前記テーブルを特定するためのテーブル番
号と前記テーブルが格納される前記メモリ部内の物理セ
クタ番号とを関連づけた情報を格納することを特徴とす
る半導体記憶装置。 - 【請求項4】 請求項1または請求項2に記載の半導体
記憶装置において、前記セクタの大きさは前記フラッシ
ュメモリ内のデータの消去または書き込み単位である消
去ブロックの大きさと等しいことを特徴とする半導体記
憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27779796A JPH10124381A (ja) | 1996-10-21 | 1996-10-21 | 半導体記憶装置 |
US08/843,712 US5946714A (en) | 1996-10-21 | 1997-04-16 | Semiconductor storage device utilizing address management tables and table state maps for managing data storage and retrieval |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27779796A JPH10124381A (ja) | 1996-10-21 | 1996-10-21 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10124381A true JPH10124381A (ja) | 1998-05-15 |
Family
ID=17588424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27779796A Pending JPH10124381A (ja) | 1996-10-21 | 1996-10-21 | 半導体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5946714A (ja) |
JP (1) | JPH10124381A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6639843B2 (en) | 2001-08-31 | 2003-10-28 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device with block-unit erase type nonvolatile memory |
JP2008047155A (ja) * | 2007-10-26 | 2008-02-28 | Renesas Technology Corp | 一括消去型不揮発性メモリおよび携帯電話 |
JP2008507756A (ja) * | 2004-07-21 | 2008-03-13 | サンディスク コーポレイション | 最適化されたシーケンシャルなクラスタの管理のためのfat分析 |
US7479992B2 (en) | 2003-01-07 | 2009-01-20 | Sanyo Electric Co., Ltd. | Image recording apparatus |
JP2011510427A (ja) * | 2008-01-17 | 2011-03-31 | モーセッド・テクノロジーズ・インコーポレイテッド | 不揮発性半導体記憶装置 |
Families Citing this family (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185609A (ja) * | 1997-09-09 | 1999-03-30 | Mitsubishi Electric Corp | 半導体記憶装置及びそのデータ管理方法 |
US6182162B1 (en) * | 1998-03-02 | 2001-01-30 | Lexar Media, Inc. | Externally coupled compact flash memory card that configures itself one of a plurality of appropriate operating protocol modes of a host computer |
WO1999045460A2 (en) | 1998-03-02 | 1999-09-10 | Lexar Media, Inc. | Flash memory card with enhanced operating mode detection and user-friendly interfacing system |
US6460111B1 (en) * | 1998-03-09 | 2002-10-01 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor disk drive and method of creating an address conversion table based on address information about defective sectors stored in at least one sector indicated by a management code |
JP2000067574A (ja) * | 1998-08-21 | 2000-03-03 | Mitsubishi Electric Corp | 半導体記憶装置 |
US6488352B1 (en) * | 1998-09-03 | 2002-12-03 | Hewlett-Packard Company | Method and apparatus for checking compatibility of a replaceable printing component |
TW527604B (en) * | 1998-10-05 | 2003-04-11 | Toshiba Corp | A memory systems |
US6901457B1 (en) | 1998-11-04 | 2005-05-31 | Sandisk Corporation | Multiple mode communications system |
US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
US7243185B2 (en) * | 2004-04-05 | 2007-07-10 | Super Talent Electronics, Inc. | Flash memory system with a high-speed flash controller |
US7576990B2 (en) * | 2000-01-06 | 2009-08-18 | Super Talent Electronics, Inc. | Thin hard drive with 2-piece-casing and ground pin standoff to reduce ESD damage to stacked PCBA's |
US7649742B2 (en) * | 2000-01-06 | 2010-01-19 | Super Talent Electronics, Inc. | Thin flash-hard-drive with two-piece casing |
KR100577380B1 (ko) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
JP3249959B2 (ja) * | 1999-10-12 | 2002-01-28 | 株式会社ソニー・コンピュータエンタテインメント | 可搬型記憶装置及びメモリカード |
US20080195798A1 (en) * | 2000-01-06 | 2008-08-14 | Super Talent Electronics, Inc. | Non-Volatile Memory Based Computer Systems and Methods Thereof |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6662263B1 (en) | 2000-03-03 | 2003-12-09 | Multi Level Memory Technology | Sectorless flash memory architecture |
US6721843B1 (en) | 2000-07-07 | 2004-04-13 | Lexar Media, Inc. | Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible |
US7155559B1 (en) | 2000-08-25 | 2006-12-26 | Lexar Media, Inc. | Flash memory architecture with separate storage of overhead and user data |
US6772274B1 (en) * | 2000-09-13 | 2004-08-03 | Lexar Media, Inc. | Flash memory system and method implementing LBA to PBA correlation within flash memory array |
JP4534336B2 (ja) * | 2000-10-13 | 2010-09-01 | ソニー株式会社 | メモリ装置におけるデータ管理方法 |
US6684289B1 (en) | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
FR2818770A1 (fr) * | 2000-12-21 | 2002-06-28 | Bull Cp8 | Procede de gestion optimisee de l'allocation de memoire d'un systeme embarque et systeme embarque correspondant |
JP4017177B2 (ja) * | 2001-02-28 | 2007-12-05 | スパンション エルエルシー | メモリ装置 |
TW539946B (en) * | 2001-08-07 | 2003-07-01 | Solid State System Company Ltd | Window-based flash memory storage system, and the management method and the access method thereof |
US6823417B2 (en) * | 2001-10-01 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Memory controller for memory card manages file allocation table |
US6711663B2 (en) * | 2001-11-15 | 2004-03-23 | Key Technology Corporation | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof |
US6704852B2 (en) * | 2001-11-16 | 2004-03-09 | Key Technology Corporation | Control device applicable to flash memory card and method for building partial lookup table |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US6839826B2 (en) * | 2002-02-06 | 2005-01-04 | Sandisk Corporation | Memory device with pointer structure to map logical to physical addresses |
JP2005202893A (ja) * | 2004-01-19 | 2005-07-28 | Hitachi Ltd | 記憶デバイス制御装置、ストレージシステム、プログラムを記録した記録媒体、情報処理装置、及びストレージシステムの制御方法 |
CN100392757C (zh) * | 2004-05-17 | 2008-06-04 | 万国电脑股份有限公司 | 硅储存媒体及其控制器、控制方法 |
JP4653747B2 (ja) * | 2004-07-23 | 2011-03-16 | スパンション エルエルシー | コントローラ、データ記憶システム、データ書き換え方法及びコンピュータプログラムプロダクト |
US7240242B2 (en) * | 2004-08-05 | 2007-07-03 | International Business Machines Corporation | Apparatus and method to convert data payloads from a first sector format to a second sector format |
US7231545B2 (en) * | 2004-08-05 | 2007-06-12 | International Business Machines Corporation | Apparatus and method to convert data from a first sector format to a second sector format |
US7231546B2 (en) * | 2004-08-05 | 2007-06-12 | International Business Machines Corporation | Apparatus and method to overlay (N) first sectors onto (M) second sectors using a data queue |
US7219259B2 (en) * | 2004-08-05 | 2007-05-15 | International Business Machines Corporation | Apparatus and method to preserve data integrity during a power loss |
US20110029723A1 (en) * | 2004-08-06 | 2011-02-03 | Super Talent Electronics, Inc. | Non-Volatile Memory Based Computer Systems |
JP3942612B2 (ja) * | 2004-09-10 | 2007-07-11 | 東京エレクトロンデバイス株式会社 | 記憶装置、メモリ管理方法及びプログラム |
KR100706242B1 (ko) * | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
US7509474B2 (en) | 2005-06-08 | 2009-03-24 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
US7911834B2 (en) * | 2006-05-15 | 2011-03-22 | Apple Inc. | Analog interface for a flash memory die |
US7639542B2 (en) * | 2006-05-15 | 2009-12-29 | Apple Inc. | Maintenance operations for multi-level data storage cells |
US7701797B2 (en) * | 2006-05-15 | 2010-04-20 | Apple Inc. | Two levels of voltage regulation supplied for logic and data programming voltage of a memory device |
US7511646B2 (en) * | 2006-05-15 | 2009-03-31 | Apple Inc. | Use of 8-bit or higher A/D for NAND cell value |
US7639531B2 (en) * | 2006-05-15 | 2009-12-29 | Apple Inc. | Dynamic cell bit resolution |
US7551486B2 (en) | 2006-05-15 | 2009-06-23 | Apple Inc. | Iterative memory cell charging based on reference cell value |
US8000134B2 (en) | 2006-05-15 | 2011-08-16 | Apple Inc. | Off-die charge pump that supplies multiple flash devices |
US7852690B2 (en) * | 2006-05-15 | 2010-12-14 | Apple Inc. | Multi-chip package for a flash memory |
US7613043B2 (en) * | 2006-05-15 | 2009-11-03 | Apple Inc. | Shifting reference values to account for voltage sag |
US7568135B2 (en) * | 2006-05-15 | 2009-07-28 | Apple Inc. | Use of alternative value in cell detection |
US8086791B2 (en) * | 2006-08-08 | 2011-12-27 | Dataram, Inc. | Solid state memory device with PCI controller |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
US7934052B2 (en) * | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
US8209463B2 (en) * | 2008-02-05 | 2012-06-26 | Spansion Llc | Expansion slots for flash memory based random access memory subsystem |
US8332572B2 (en) * | 2008-02-05 | 2012-12-11 | Spansion Llc | Wear leveling mechanism using a DRAM buffer |
US8275945B2 (en) * | 2008-02-05 | 2012-09-25 | Spansion Llc | Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer |
US8352671B2 (en) * | 2008-02-05 | 2013-01-08 | Spansion Llc | Partial allocate paging mechanism using a controller and a buffer |
US9104327B2 (en) | 2011-05-17 | 2015-08-11 | Sandisk Technologies Inc. | Fast translation indicator to reduce secondary address table checks in a memory device |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
KR102344834B1 (ko) * | 2014-09-24 | 2021-12-29 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 및 이를 포함하는 컴퓨팅 시스템 |
TWI647566B (zh) * | 2018-01-19 | 2019-01-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05282880A (ja) * | 1992-01-10 | 1993-10-29 | Toshiba Corp | 半導体ディスク装置 |
JPH06124596A (ja) * | 1991-11-28 | 1994-05-06 | Hitachi Ltd | フラッシュメモリを使用した記憶装置 |
JPH07302176A (ja) * | 1994-05-09 | 1995-11-14 | Toshiba Corp | 半導体ディスク装置 |
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JPH05233426A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
EP0613151A3 (en) * | 1993-02-26 | 1995-03-22 | Tokyo Shibaura Electric Co | Semiconductor memory system with flash EEPROM. |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JP3078946B2 (ja) * | 1993-03-11 | 2000-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置 |
JPH08212019A (ja) * | 1995-01-31 | 1996-08-20 | Mitsubishi Electric Corp | 半導体ディスク装置 |
JP3706167B2 (ja) * | 1995-02-16 | 2005-10-12 | 株式会社ルネサステクノロジ | 半導体ディスク装置 |
JPH08328762A (ja) * | 1995-06-06 | 1996-12-13 | Mitsubishi Electric Corp | 半導体ディスク装置及びそのメモリ管理方法 |
-
1996
- 1996-10-21 JP JP27779796A patent/JPH10124381A/ja active Pending
-
1997
- 1997-04-16 US US08/843,712 patent/US5946714A/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06124596A (ja) * | 1991-11-28 | 1994-05-06 | Hitachi Ltd | フラッシュメモリを使用した記憶装置 |
JPH05282880A (ja) * | 1992-01-10 | 1993-10-29 | Toshiba Corp | 半導体ディスク装置 |
JPH07302176A (ja) * | 1994-05-09 | 1995-11-14 | Toshiba Corp | 半導体ディスク装置 |
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6639843B2 (en) | 2001-08-31 | 2003-10-28 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device with block-unit erase type nonvolatile memory |
US7479992B2 (en) | 2003-01-07 | 2009-01-20 | Sanyo Electric Co., Ltd. | Image recording apparatus |
JP2008507756A (ja) * | 2004-07-21 | 2008-03-13 | サンディスク コーポレイション | 最適化されたシーケンシャルなクラスタの管理のためのfat分析 |
JP4931810B2 (ja) * | 2004-07-21 | 2012-05-16 | サンディスク コーポレイション | 最適化されたシーケンシャルなクラスタの管理のためのfat分析 |
JP2008047155A (ja) * | 2007-10-26 | 2008-02-28 | Renesas Technology Corp | 一括消去型不揮発性メモリおよび携帯電話 |
JP2011510427A (ja) * | 2008-01-17 | 2011-03-31 | モーセッド・テクノロジーズ・インコーポレイテッド | 不揮発性半導体記憶装置 |
US8533405B2 (en) | 2008-01-17 | 2013-09-10 | Mosaid Technologies Incorporated | Nonvolatile semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
US5946714A (en) | 1999-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10124381A (ja) | 半導体記憶装置 | |
US6925012B2 (en) | Storage device employing a flash memory | |
US5966720A (en) | Flash memory accessed using only the logical address | |
US6130837A (en) | Storage device employing a flash memory | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US20050021904A1 (en) | Mass memory device based on a flash memory with multiple buffers | |
JPH08137634A (ja) | フラッシュディスクカード | |
JPWO2002052416A1 (ja) | フラッシュメモリシステム | |
JP3421581B2 (ja) | 不揮発性半導体メモリを用いた記憶装置 | |
JP2003076605A (ja) | ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法 | |
JP2012058770A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2021068129A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4218406B2 (ja) | 情報記録再生方法 | |
JP2003122630A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JPH10312693A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050418 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050621 |