JP2003058419A - ウィンドウベース・フラッシュメモリー記憶システムとその管理方法ならびにアクセス方法 - Google Patents

ウィンドウベース・フラッシュメモリー記憶システムとその管理方法ならびにアクセス方法

Info

Publication number
JP2003058419A
JP2003058419A JP2002080699A JP2002080699A JP2003058419A JP 2003058419 A JP2003058419 A JP 2003058419A JP 2002080699 A JP2002080699 A JP 2002080699A JP 2002080699 A JP2002080699 A JP 2002080699A JP 2003058419 A JP2003058419 A JP 2003058419A
Authority
JP
Japan
Prior art keywords
window
flash memory
cluster
area
information
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
JP2002080699A
Other languages
English (en)
Inventor
Toshihiro Hayashi
俊宏 林
Chih-Hung Wang
智弘 王
Chun-Hao Kuo
鈞豪 郭
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.)
Solid State System Co Ltd
Original Assignee
Solid State System Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Solid State System Co Ltd filed Critical Solid State System Co Ltd
Publication of JP2003058419A publication Critical patent/JP2003058419A/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/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

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

Abstract

(57)【要約】 【目的】 信頼できる方式によりウィンドウ情報をロー
ディングするとともに、並列パイプライン方式により読
み書き効率を大幅に向上させる、ウィンドウベース・フ
ラッシュメモリー記憶システムとその管理方法ならびに
アクセス方法を提供する。 【解決手段】 ウィンドウベース領域と枠外保留領域を
有し、ウィンドウベース領域が多数個のウィンドウを記
憶して、各ウィンドウが対応する多数個の実体ブロック
を有し、枠外保留領域が、動態連結領域とウィンドウ情
報領域と動態連結情報領域と立ち上げ情報領域を備える
ものであって、動態連結領域が多数個の動態分配ブロッ
クを有し、これらの動態分配ブロックを任意に任意のウ
ィンドウに分配することができ、ウィンドウ情報領域が
各ウィンドウに対応して1つの記憶範囲内に少なくとも
1つのウィンドウ情報を記憶し、動態連結情報領域が上
記した動態分配ブロックのウィンドウへの分配状況を記
録するものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、フラッシュメモ
リーの記憶システムに関し、特に、ウィンドウベース・
フラッシュメモリー記憶システムとその管理方法ならび
にアクセス方法に関する。
【0002】
【従来の技術】フラッシュメモリーの記憶システムは、
一般に、フラッシュメモリーとコントローラーとの2大
部分を含んでいる。フラッシュメモリーは、データを記
憶する場所であり、コントローラーは、フラッシュメモ
リーとホストとの架け橋であって、ホストとのコミュニ
ケーションならびにフラッシュメモリーの管理を担当し
ている。コントローラーは、マイクロプロセッサーとリ
ードオンリーメモリーとスタティックランダムアクセス
メモリー(SRAM)とフラッシュメモリーインターフ
ェースとホストインターフェースとなどを含む幾つかの
部分から構成されている。リードオンリーメモリーは、
主要にはマイクロプロセッサー動作時に必要なプログラ
ムを置いておくものであり、SRAMは、主要には2つ
の用途があり、1つ目は、ウィンドウの関連情報を保存
すること、2つ目は、フラッシュメモリーおよびホスト
システム間のデータバッファー領域となることである。
コントローラーが、ホストインターフェースを介してホ
ストとのコミュニケーションを行うとともに、フラッシ
ュメモリーインターフェースによりフラッシュメモリー
中のデータにアクセスするものである。
【0003】フラッシュメモリーは、多くのブロック
(Blocks)から構成され、一定数量のブロックが1つの
ウィンドウにまとめられるが、各ウィンドウの関連する
情報をウィンドウ情報と呼ぶ。一般的なフラッシュメモ
リーの記憶システムにおいて、SRAM使用コストを軽
減するために、ウィンドウ情報をフラッシュメモリーに
保存すると同時に、システム動作時には、一部分のウィ
ンドウ情報だけをSRAM中へローディングする。
【0004】もしもあるウィンドウに対して読み書きを
行う時には、先ずフラッシュメモリー中からこのウィン
ドウのウィンドウ情報をSRAM中へローディングする
必要があり、そうして初めて、このウィンドウに対する
読み書き動作を行うことができる。もしも不正常な停電
または差し替え等の要因があれば、SRAM中のあるウ
ィンドウ情報がフラッシュメモリーへ戻すバックアップ
なしという状態になってしまう。もしも、次に使用する
時にフラッシュメモリー中のこれらのウィンドウ情報を
SRAM中へ直接ローディングしてしまうならば、デー
タ錯乱という状況が発生してしまう。
【0005】
【発明が解決しようとする課題】ウィンドウ内部の1セ
クター(Sector)について読み書きする時には、数個の
ステージ(Stage)を経過しなければならなかった。も
しも2個以上のセクターを読み書きしたい時、現行処理
方式は、1セクターの全てのステージを処理し終えてか
ら別なセクターの処理を開始するが、このような方式
は、アクセス効率を低下させてしまうものとなってい
た。あるいは、2つ以上の異なるコントロールユニット
を利用してインターリーブ(Interleave)方式により読
み書き効率を向上させるが、このような方式には限界が
あり、しかも瞬間消費電力が過大なものとなるというペ
ナルティー(Penalty)が存在していた。
【0006】そこで、この発明の目的は、信頼できる方
式によりウィンドウ情報をローディングするとともに、
並列パイプライン方式により読み書き効率を大幅に向上
させる、ウィンドウベース・フラッシュメモリー記憶シ
ステムとその管理方法ならびにアクセス方法を提供する
ことにある。
【0007】
【課題を解決するための手段】上記課題を解決し、所望
の目的を達成するために、この発明にかかるウィンドウ
ベース・フラッシュメモリー記憶システムは、複数個の
ウィンドウ領域を記憶するものであって、複数個のウィ
ンドウ領域中の全てが、それぞれ対応する複数個の実体
ブロックを有するウィンドウベース領域と、複数個の動
態分配ブロックを有し、任意の複数個の動態分配ブロッ
クを任意の複数個のウィンドウに分配することができる
動態連結領域および、全ての複数個のウィンドウに対応
し、1つの記憶範囲内に少なくとも1つのウィンドウ情
報を記憶するウィンドウ情報領域ならびに、複数個の動
態分配ブロックの分配状況を記録する立ち上げ情報領域
を含む枠外保留領域とから構成される。
【0008】この発明にかかるウィンドウベース・フラ
ッシュメモリー記憶システムの管理方法は、ウィンドウ
情報領域を有するフラッシュメモリーに適用され、ウィ
ンドウ情報領域が、複数個のウィンドウ情報ブロックを
含み、複数個のウィンドウ情報ブロック中の全てが、そ
れぞれ複数個のウィンドウ情報を記憶することができ、
かつ複数個のウィンドウ情報ブロック中の1つおよび包
括する複数個のウィンドウ情報が同一ウィンドウに対応
するものであって、システムが運用を開始する時、複数
個のウィンドウ情報ブロック中の1部分を選択するとと
もに、選択した複数個のウィンドウ情報ブロック中の全
てからそれぞれ1つずつウィンドウ情報を取り出して、
取り出した複数個のウィンドウ情報をスタティックラン
ダムアクセスメモリー中へローディングするステップ
と、使用者ウィンドウに対応するウィンドウ情報の情報
の一部をスタティックランダムアクセスメモリーのアク
ティブウィンドウ変数領域に置くステップと、もしも使
用者ウィンドウが交換される時には、アクティブウィン
ドウ変数領域に置いた情報の一部をスタティックランダ
ムアクセスメモリー中に記憶されたウィンドウ情報の予
備ウィンドウ中へ移動させるステップと、使用したい使
用予定ウィンドウがスタティックランダムアクセスメモ
リー中に記憶した複数個のウィンドウ情報に対応するウ
ィンドウに属さない時、複数個のウィンドウ情報からそ
のバックアップを選択してスタティックランダムアクセ
スメモリーへ戻し、使用予定ウィンドウが対応するウィ
ンドウ情報ブロック中の複数個のウィンドウ情報中から
交換バックアップを選択してフラッシュメモリー中のウ
ィンドウ情報へ戻すとともに、使用予定ウィンドウを使
用者ウィンドウとして設定するステップとから構成され
る。
【0009】この発明にかかる一実施例において、スタ
ティックランダムアクセスメモリー中のウィンドウ情報
をローディングすることは、書き込みブロック状態なら
びにスペアブロック状態から対応するウィンドウ情報が
正確か否かを判別するためである。
【0010】この発明にかかる好適な一実施例におい
て、上述した書き込みブロック状態ならびにスペアブロ
ック状態から対応するウィンドウ情報が正確か否かを判
別する方法は、以下のルールにより行われるものであ
る。1.ウィンドウ情報のエラー修正コードが正確であ
ることを確認すること。2.ウィンドウ情報の検査合計
コードが正確であることを確認すること。3.スペアブ
ロックが消去されたブロックであること。4.書き込み
ブロックが記憶したロジックブロック番号と循環カウン
ターと最終書き込みセクターとが、書き込みブロック状
態中に記録されたものと一致すること。5.書き込みブ
ロックが記憶した位相ロックフラッグの値が、ウィンド
ウ情報ブロック中の第1ブランクセクターの値に等しく
ないこと。
【0011】ウィンドウ情報が不正確である時、この発
明にかかる一実施例において、ウィンドウ情報に対応す
るウィンドウ情報ブロック中に記憶されたウィンドウ情
報中の使用可能なウィンドウ情報に基づいて、このウィ
ンドウ情報に対応するウィンドウに属するあらゆるブロ
ックを回収して、このウィンドウ情報を再建するもので
ある。使用可能なウィンドウ情報は、データブロック・
ロジックブロック対応表中のエラー修正コードを修正可
能なものとし、かつ書き込みブロック状態およびスペア
ブロック状態の検査合計コードを正確なウィンドウ情報
とするものである。
【0012】この発明にかかる別な一実施例において、
ウィンドウ情報が不正確である時、フラッシュメモリー
に記憶された領域中でこのウィンドウ情報に対応するウ
ィンドウに属するブロックを探し出して、このウィンド
ウ情報を再建するものである。
【0013】この発明にかかるウィンドウベース・フラ
ッシュメモリー記憶システムのアクセス方法は、ウィン
ドウ情報領域および枠外保留領域を有するフラッシュメ
モリーに適用され、かつ複数個のバッファー領域を有
し、ウィンドウ情報領域が複数個の実体ブロックを有す
るウィンドウに対応し、かつウィンドウ情報領域がウィ
ンドウ情報を有して、複数個の実体ブロック中の全てが
それぞれ複数個のセクターを有するものであって、先ず
使用予定ウィンドウに対応するウィンドウ情報をスタテ
ィックランダムアクセスメモリーにローディングし、次
に、データ需要コンポーネントが要求する需要クラスタ
ーを探し出すとともに、需要クラスターをフラッシュメ
モリーから第1バッファー領域へローディングしてか
ら、第1バッファー領域へローディングした需要クラス
ターを前記データ需要コンポーネントへ伝送し、全ての
データ需要コンポーネント中、この需要クラスターに隣
接するクラスターを並列パイプライン方法により上述し
たステップを実行し、これらと需要クラスターに隣接す
るクラスターをパイプライン化して、上述したバッファ
ー領域を経てデータ需要コンポーネント中へ伝送するも
のである。
【0014】また、この発明にかかる別なウィンドウベ
ース・フラッシュメモリー記憶システムのアクセス方法
は、ウィンドウ情報領域および枠外保留領域を有するフ
ラッシュメモリーに適用され、かつ複数個のバッファー
領域を有し、ウィンドウ情報領域が複数個の実体ブロッ
クを有するウィンドウに対応し、かつウィンドウ情報領
域がウィンドウ情報を有して、複数個の実体ブロック中
の全てがそれぞれ複数個のセクターを有するものであっ
て、先ずフラッシュメモリーに書き込みたい書き込みク
ラスターを第1バッファー領域中へ伝送するとともに、
書き込みクラスターのフラッシュメモリーにおけるアド
レスを計算し、次に、前回のフラッシュメモリーへの書
き込み操作が正確か否かを検査した後に、書き込み命令
をフラッシュメモリー中へ伝送して、書き込みクラスタ
ーをフラッシュメモリーに記憶させ、フラッシュメモリ
ーに書き込みたい隣接する書き込みクラスターは、パイ
プライン操作により上述したバッファー領域パイプライ
ン化を経てフラッシュメモリー中へ伝送されるものであ
る。
【0015】
【作用】以上をまとめれば、この発明は、要約形式に類
似した枠外保留領域により各ウィンドウに関する要約デ
ータを記憶するとともに、迅速かつ簡単で要領よく、必
要な時に正確なウィンドウ情報を構成する助けとなる方
法であって、ウィンドウベース・フラッシュメモリー記
憶システムの立ち上げ速度を向上させるものである。ま
た、この発明によるソフトウェアにパイプライン化を加
えた操作プロセスもまたウィンドウベース・フラッシュ
メモリー記憶システム全体の操作速度を向上させるもの
である。
【0016】
【発明の実施形態】以下、この発明にかかる好適な実施
形態を図面に基づいて説明する。図1において、フラッ
シュメモリーは、多くのブロックから構成されるが、全
てのブロックは、ウィンドウベース領域120と枠外保
留領域121との2大部分に分けることができる。
【0017】ウィンドウベース領域120中の各ウィン
ドウ番号領域は、512個のデータブロックを含んでい
るが、最後のウィンドウ番号領域がちょうど512個と
なるとは限らない。枠外保留領域121は、それぞれ動
態連結領域101とウィンドウ情報領域102と動態連
結情報領域103と立ち上げ情報領域104との4大領
域に分けられる。動態連結領域101のブロックは、各
ウィンドウの使用に供され、各ウィンドウは、ウィンド
ウ情報領域102において2つのブロックが割り当てら
れてそのウィンドウ情報を記録し、動態連結情報領域1
03は、動態連結領域の配置状況を記録し、立ち上げ情
報領域104は、前の3領域の位置および本システムが
記憶することのできるロジッククラスターの総数などの
情報を記録する。
【0018】図1に示すように、実体フォーマット10
5は、コントローラーがフラッシュメモリーをアドレス
指定する方式を表し、ロジックフォーマット106は、
ホストシステムのフラッシュメモリーに対するアドレス
指定方式を表している。図1中、フラッシュメモリーに
は総計8192個のブロックがあり、各ブロックは32
個のクラスターから構成されている。実体フォーマット
105中、ブロック番号107は0〜8191であり、
相対ブロック番号108は、ウィンドウ15を除いて、
各512個のブロックを1単位としており、各ウィンド
ウの相対ブロック番号は0〜511であり、枠外保留領
域121の相対ブロック番号は512から計算される。
ロジックフォーマット106もロジックブロック番号1
10を含んでおり、0〜7999となっている。相対ロ
ジックブロック番号109もまた各512個のブロック
を1単位としており、ウィンドウ15を除いて、各ウィ
ンドウの相対ロジックブロック番号は0〜511であ
る。ロジックブロックもまた32個のクラスターから構
成されているので、ロジックブロック番号112は0〜
255999となっており、相対ロジッククラスター番
号111は各1638個のクラスターを1単位とし、ウ
ィンドウ15を除いて、各ウィンドウの相対ロジックク
ラスター番号は0〜1638である。図1から分かるよ
うに、ホストシステムのロジックアドレス指定方式で
は、枠外保留領域121を探し当てることはできない。
【0019】各ウィンドウには3タイプのブロックが含
まれており、それぞれデータブロック(Data Block)と
書き込みブロック(Writing Block)とスペアブロック
(Spare Block)となっている。元のデータブロックに
データを書き込みたい時、先ず書き込みブロックに対し
て書き込み動作を行うが、もしも書き込みブロックが一
杯になった時には別なデータブロックに対して書き込み
動作を行わなければならず、元のデータブロックが書き
込みブロックに置き換えられる。元のデータブロックは
消去されてスペアブロックとすることができ、スペアブ
ロックを書き込みブロックとして別なデータブロックを
書き込む時に使用できる。
【0020】図1に示すように、ウィンドウ0領域10
0には512個のデータブロックが含まれており、開始
時にウィンドウ0に属する書き込みブロックならびにス
ペアブロックが動態連結領域101に配置される。各ウ
ィンドウ情報には、このウィンドウ中のデータブロック
・ロジックブロック対応表および書き込みブロック・ス
ペアブロック状態が含まれている。512個のデータブ
ロックと1個の書き込みブロックと1個のスペアブロッ
クとを含む1個のウィンドウについて言えば、2つのク
ラスターを使ってウィンドウ情報を記録する必要があ
り、この2個のクラスターの使用者データ領域が512
個の情報ブロックとロジックブロックとの対応関係を記
録し、2クラスターの枠外16ビットセットがそれぞれ
書き込みブロックおよびスペアブロックの状態を記録し
ている。
【0021】図2において、相対ロジックブロック番号
201は、このブロックが対応する相対ロジックブロッ
ク番号を記録する。ウィンドウ番号202は、このブロ
ックが帰属するウィンドウを記録する。循環カウンター
203は、データの新旧を判別するためのもので、書き
込み時に、書き込みブロックの循環カウンター値は情報
ブロックの値に1を加えたものとなる。位相ロックフラ
ッグ204は、ウィンドウ情報が対応するバックアップ
をウィンドウ情報ブロックへ戻すクラスター位置を記録
しており、このフラッグにより前回のウィンドウ情報が
バックアップに成功したか否かが判別できる。検査合計
コード205は、前述したデータの検査合計コードであ
る。データエラーフラッグ206は、クラスターの使用
者データ領域のデータが正確であるか否かを示すもので
ある。ブロックエラーフラッグ207は、ブロックに問
題があるか否かを示すものである。エラー修正コード2
08は、クラスターの使用者データ領域のエラー修正コ
ードである。
【0022】図3において、相対ブロック番号301
は、書き込みブロックまたはスペアブロックが存在する
位置を示す。相対ロジッククラスター番号302の値
が、もしも0xFFFFであれば、これらのデータがスペアブ
ロック状態であることを示し、それ以外は、この値によ
り最後に書き込んだ書き込みブロックのクラスター位置
を得ることができる。ウィンドウ番号303は、このブ
ロックが帰属するウィンドウを記録する。書き込みブロ
ック循環カウンター304は、書き込みブロック循環カ
ウンターの値を記録する。検査合計コード305は、ブ
ロックエラーフラッグおよびエラー修正コードを除くデ
ータ検査合計コードである。ウィンドウ情報の循環カウ
ンター306は、どのウィンドウ情報ブロックが新しい
かを判別できるものである。ブロックエラーフラッグ3
07は、ブロックに問題があるか否かを示すものであ
る。エラーフ修正コード308は、クラスターの使用者
データ領域のエラーフ修正コードである。
【0023】フラッシュメモリーの読み書きフロー全体
は、3つのモジュールによって完成するが、それぞれウ
ィンドウ立ち上げモジュールとウィンドウ読み書きモジ
ュールとフラッシュメモリーアクセスモジュールとであ
る。ウィンドウ立ち上げモジュールは、主要には、使用
したいウィンドウの正確なウィンドウ情報をスタティッ
クランダムアクセスメモリー(SRAM)へローディン
グするものである。ウィンドウ読み書きモジュールは、
主要には、ホストシステムの要求に応答してフラッシュ
メモリー中のどのブロックのデータにアクセスするかを
決定する。フラッシュメモリーアクセスモジュールは、
主要には、他のモジュールの要求を受信して直接フラッ
シュメモリーに対する読み出し・書き込み・消去・状態
検査などの動作を行って、他のモジュールの複雑度を簡
略化する。例をあげて言えば、図4において、この発明
にかかる一実施例は、先ずウィンドウ立ち上げモジュー
ル401を完了してから、ウィンドウ読み書きモジュー
ル402を実施し、全ての処理すべきクラスターを完了
するまで行う。もしもまだ処理を完了していない時に
は、別なウィンドウに対する動作が必要となり、改めて
ウィンドウ立ち上げモジュール401へ進む必要があ
る。このフローチャート中には、フラッシュメモリーア
クセスモジュールを図示していないが、実際的にはウィ
ンドウ立ち上げモジュール401およびウィンドウ読み
書きモジュール402がフラッシュメモリーにアクセス
する時には、いずれもフラッシュメモリーアクセスモジ
ュールを呼び出す必要がある。
【0024】ウィンドウ立ち上げモジュール401にお
いて、先ずSRAM中の各ウィンドウ情報をいかに効率
よく利用するかを考慮する。フラッシュメモリーとSR
AMとの間で各ウィンドウ情報の切り替えに要する時間
を少なくするために、最少でも2個以上のウィンドウ情
報をローディングしなければならない。より多くのウィ
ンドウ情報によって切り替え時間を短縮することができ
るものの、やはりSRAMのコストを考慮しなければな
らない。この発明にかかる好適な一実施例において、3
個のウィンドウ情報のローディングを説明すると、必ず
ウィンドウ0を含まなければならず、DOSファイルシ
ステムの運用について言えば、必ずこのウィンドウ0と
関連するからである。
【0025】フラッシュメモリーからSRAM中へロー
ディングされるウィンドウ情報は、書き込みブロック・
スペアブロック状態に関するデータでSRAM中のいわ
ゆるウィンドウ変数を構成する。これらのウィンドウ変
数は、システム動作時に常にアクセスを必要とするもの
であるから、プログラムの複雑度を減少させ、プログラ
ムコード運用の効率を向上させるために、使用したいウ
ィンドウ変数を固定位置に移動させることができる。例
をあげて言えば、図5に示すように、SRAM中のアド
レス400〜459を予備ウィンドウ変数領域501と
して、予備ウィンドウ0変数503と予備ウィンドウ1
変数504と予備ウィンドウ2変数505とを配置す
る。
【0026】もしも使用する必要のある使用したいウィ
ンドウをウィンドウ0とすれば、それが予備ウィンドウ
であるため、予備ウィンドウ0の20個のビットセット
のウィンドウ変数をアドレス400〜419からアドレ
ス20〜39つまりアクティブウィンドウ変数領域50
2の変数1から変数20の位置へ移動させるだけでよ
く、このようにしてウィンドウ0が使用者ウィンドウと
なる。使用したいウィンドウがウィンドウ2に変わる
時、先ずアクティブウィンドウ変数領域502に保存し
ている使用者ウィンドウ0の変数を元の予備ウィンドウ
0変数503の位置に戻すと同時に、予備ウィンドウ2
変数505をアクティブウィンドウ変数領域502へ移
動する必要があり、このようにしてウィンドウ2が使用
者ウィンドウとなる。プログラムルールにおいては使用
者ウィンドウの変数1から変数20に対してのみアクセ
スすればよいので、プログラムコードの複雑度を低減さ
せるとともに、プログラムコードの効率を向上させるこ
とができる。
【0027】使用したいウィンドウが予備ウィンドウで
はない時、先ず使用者ウィンドウを元の予備ウィンドウ
領域へ戻すと同時に、フラッシュメモリーから使用した
いウィンドウ変数を使用者ウィンドウ変数領域へローデ
ィングする。このようなバックアップ方式は、次の使用
時にフラッシュメモリー中のウィンドウ情報がいずれも
正常であると保証するものではないことは明らかである
が、このような状況は、不正常な停電または差し替えと
いう状況に遭遇した場合と同様である。要点は、次に使
用する時に、いかに迅速かつ正確にウィンドウ情報をS
RAM中にローディングするかということである。
【0028】以下、この発明がこのような問題を解決す
る3種類の異なる方式を詳細に説明する。 (1)快速立ち上げ法 この方法は、主要には、フラッシュメモリー中のウィン
ドウ情報がいったい問題があるかどうかを迅速に判別で
きるものである。もしもフラッシュメモリー中のウィン
ドウ情報が次の条件を満たせば、正常と断定するもので
ある。 1.当該ウィンドウ情報セクター中のエラー修正コード
に問題がないこと。 2.当該ウィンドウ情報セクター中の検査合計コードに
問題がないこと。 3.スペアブロック状態中の指向するブロック(スペア
ブロック)が確かに消去されたことのあるブロックであ
ること。 4.書き込みブロック状態中の指向するブロック(書き
込みブロック)が、そのロジックブロック番号と循環カ
ウンターと最終書き込みセクターとにつき、書き込みブ
ロック状態中に記録されているものと一致すること。 5.書き込みブロック状態中の指向するブロック(書き
込みブロック)につき、その位相ロックフラッグの値が
ウィンドウ情報ブロック中の第1ブランククラスターの
値と等しくないこと。
【0029】実際的には、大部分のウィンドウ情報は、
いずれも正常なものであるので、ウィンドウ情報を直接
SRAM中へローディングしてから、この方法を利用し
てウィンドウ情報が正常であるか否かを判別する。もし
も不正常であれば、下記する2種類の方法の1つを採用
して正確なウィンドウ情報をSRAM中へローディング
する。
【0030】(2)正常立ち上げ法 快速立ち上げ法を用いることができない時、最後のウィ
ンドウ情報から遡って「使用可能なウィンドウ情報」を
探しだすが、ウィンドウ情報中のデータブロック・ロジ
ックブロック対応表が当該ウィンドウに属する全てのデ
ータブロックの位置を記録しており、書き込みブロック
状態およびスペアブロック状態が当該当該ウィンドウに
属する全ての書き込みブロックならびにスペアブロック
の位置を記録しているので、このウィンドウの全てのブ
ロックを探し出して当該ウィンドウに所属する正確なウ
ィンドウ情報を再建するとともにSRAM中へローディ
ングすることができる。上記した、いわゆる「使用可能
なウィンドウ情報」は、下記の条件を満たさなければな
らない。 1.当該ウィンドウ情報のデータブロック・ロジックブ
ロック対応表のデータが修復できないエラー修正コード
を含まないこと。 2.当該ウィンドウ情報の書き込みブロックおよびスペ
アブロック状態中の検査合計コードが正確なものである
こと。
【0031】(3)逐次検索立ち上げ法 快速立ち上げ法を使用できない時に用いることができる
別な方法としては、ウィンドウブロックの可能な保存領
域において、このウィンドウに属するブロックを逐一検
索してから、正確なウィンドウ情報を再建することがで
きるものがある。各ウィンドウのブロックは交換するこ
とができないものなので、ウィンドウ番号領域および全
ての動態分配されたブロックを検索するだけである。も
しもスペアブロックが動態連結領域にあれば、どのウィ
ンドウに属するか容易には識別できないので、基本的
に、当該ウィンドウに属するデータブロックおよび書き
込みブロックに遡って探して、改めてスペアブロックを
配置するだけである。このようにして、正確なウィンド
ウ情報を再建するとともにSRAM中にローディングす
ることができる。
【0032】図6において、どのようにウィンドウ情報
をSRAMにローディングするかを説明すると、先ずス
テップ601で使用したいウィンドウが使用者ウィンド
ウであるか否かを判断し、イエスであれば、使用者ウィ
ンドウに対してのみ運用すれば良く、ノーであれば、ス
テップ602で現在の使用者ウィンドウを元の予備ウィ
ンドウの位置に戻す。ステップ603で使用したいウィ
ンドウが予備ウィンドウの1つであるか否かを判別す
る。イエスであれば、予備領域の使用したいウィンドウ
に場所を譲って使用者ウィンドウとなり、ノーであれ
ば、ステップ604で予備ウィンドウのバックアップを
選択してフラッシュメモリーへ戻す。ステップ605で
快速立ち上げ法を使用して使用したいウィンドウのウィ
ンドウ情報をSRAM中へローディングする。成功であ
れば、使用者ウィンドウの立ち上げが完了し、失敗であ
ればステップ606の正常立ち上げ法を使用する。成功
であれば、使用者ウィンドウの立ち上げが完了し、失敗
であればステップ607の逐次検索立ち上げ法を使用
し、ステップ608で逐次検索立ち上げ法を利用して完
成させた最新のウィンドウ情報を先にフラッシュメモリ
ー中にバックアップするとともに、ステップ609でS
RAM中へローディングする動作を完了する。
【0033】図7において、図4のウィンドウ読み書き
モジュール402が書き込み動作を実行する時のフロー
チャートを示すと、ステップ701で先ず元の書き込み
ブロックに対して書き込み動作を行っているか否かを判
別する。もしも元の書き込みブロックであれば、ステッ
プ702で既に書き込んだクラスターに対する重複書き
込みであるか否かを判別し、そうでなければ、ステップ
707でプレライト動作の実行であるか否かを判別す
る。重複書き込みであればステップ703で元の書き込
みブロックを消去してからステップ704でスペアブロ
ックを元の書き込みブロックのために配置してから、ス
テップ701へ戻る。
【0034】もしもステップ701で元の書き込みブロ
ックに対する書き込み動作でなければ、ステップ705
で元の書き込みブロックを消去すると同時に、ステップ
706でスペアブロックを現在必要とする書き込みブロ
ックのために配置してから、ステップ707でプレライ
ト動作の実行であるか否かを判別する。
【0035】プレライト動作の実行であるか否かに関わ
らず、いずれもステップ709で書き込みブロックに対
する書き込み動作を行うが、このステップは、現在の書
き込みブロックが一杯まで書き込まれる、あるいはデー
タの書き込みが完了するまで行われるだけである。ステ
ップ710でこのウィンドウのデータが書き込み完了で
あるか否かを判別する。イエスであれば、当該ウィンド
ウの書き込み動作を終了し、ノーであればステップ70
1へ戻る。
【0036】ステップ703またはステップ705の書
き込みブロックを消去する動作には、下記のステップが
含まれる。 1.書き込みブロックがブランクであるクラスターは、
データブロック中のデータから補充する。 2.書き込みブロックをデータブロックに変える、つま
り、ウィンドウ情報中のデータブロックとロジックブロ
ックとの対応関係を更新する。 3.元のデータブロックを消去して、それをスペアブロ
ックに変換する。
【0037】ステップ707のデータのプレライトは、
データの書き込み順序を保持するために、ホストシステ
ムが書き込みを準備していないクラスターデータをデー
タブロックにより書き込みブロックまで運ぶものであ
る。
【0038】図4のウィンドウ読み書きモジュール40
2中の読み出しに対する動作は、比較的簡単なものであ
る。先ず読み出すべき全てのデータが書き込みブロック
中にあるか否かを検査する。イエスであれば、書き込み
ブロック中のデータが読み出すべきデータであり、ノー
であれば、データはデータブロック中にある。
【0039】読み書き時に並列パイプライン方式を採用
するのは、主要には読み書き時の効率を改善するためで
ある。但し、下記の条件を満たして初めて効率を向上さ
せることができる。 1.ハードウェア上の必要性から少なくとも2つの独立
したバッファー領域を含むこと。1つのバッファー領域
がホストとデータをやり取りする時、もう1つが同時に
フラッシュメモリーに対するアクセス動作を行うことが
できる。 2.ホストがアクセスするデータは、本ウィンドウ中最
少でも2つ以上の連続したクラスターを含むこと。
【0040】ホストがフラッシュメモリーの記憶システ
ムからクラスターを読み出す動作について言えば、3つ
のステージに分けることができる。第1ステージは、ホ
ストが読み出しを要求するクラスターがフラッシュメモ
リー中のどの位置にあるかをマイクロプロセッサーが計
算することである。第2ステージは、マイクロプロセッ
サーが読み出し(Read)命令をフラッシュメモリーへ送
って、フラッシュメモリーが準備完了(Ready)するの
を待ってから、フラッシュメモリーより当該クラスター
を読み出しバッファー領域に置くとともに、エラー修正
コードの検査および更正動作を行うものである。第3ス
テージは、ホストがバッファー領域中のデータが既に準
備完了したことを知って当該クラスターのデータを読み
出すものである。
【0041】仮にステージ1で25マイクロセコンド
(ms)かかり、ステージ2で65msかかり、ステー
ジ3で100msかかるとする。図8に示したように、
一般の読み出し方式ではクラスター1の読み出し801
に3ステージを要し、合計190msかかる。クラスタ
ー1の読み出しが完了した後でクラスター2の読み出し
802動作を行うが、同様に190msかかる。もしも
合計n個のクラスターを読み出したければ、190n・
msの時間がかかる。
【0042】図9において、並列パイプライン読み出し
方法を示すと、クラスター1の読み出し901は3ステ
ージを経る必要があり、合計190msかかる。但し、
クラスター1でステージ2(902)の動作を行う時、
クラスター2のステージ1(903)の読み出し動作も
また同時に行われ、クラスター1でステージ3(90
4)の動作を行う時、クラスター2のステージ2(90
5)およびクラスター3のステージ1(906)の動作
もまた同時に行われる。従って、このクラスター2の読
み出し907は、クラスター2のステージ3の時間しか
かからず、100msであり、同時に、この時もまたク
ラスター3のステージ2(909)およびクラスター4
のステージ1(910)が行われているので、クラスタ
ー3の読み出しに100msかかることを推定できる。
これから分かるように、もしもn個のクラスターを読み
出すとすれば、〔190+100(n−1)〕msしか
かからない。
【0043】図10において、先ずステップ1001で
読み出すべきクラスターがフラッシュメモリーのどの位
置にあるか計算する。ステップ1002でステージ2の
前半部分に入る。ステップ1003で次の読み出すべき
クラスターの位置を計算するができる。ステップ100
4でステージ2の残り部分を完了する。ステップ100
5でホストがバッファー領域中の前のクラスターデータ
を既に受信したか否かを検査し、もしも現在行っている
のがクラスター1であれば、この動作は必要なく、ホス
トにバッファー領域中のこのクラスターのデータを取り
出すように通知する。ステップ1006で更に読み出す
べきデータがあるか否かを判別し、あれば、ステップ1
002へ戻る。なければ、ステップ1007でホストが
バッファー領域中のクラスターデータの取り出しを完了
するのを待って終了する。
【0044】ホストシステムがクラスターのデータをフ
ラッシュメモリーの記憶システム中に書き込む動作もま
た3ステージに分けることができる。ステージ1は、マ
イクロプロセッサーがホストにデータの伝送を開始する
よう要求するとともに、ホストがクラスターのデータを
バッファー領域中へ伝送完了するものである。ステージ
2は、マイクロプロセッサーが書き込むべきクラスター
の位置を計算することである。ステージ3は、前回の書
き込み動作が正確か否かを検査するとともに、命令およ
びアドレスを送り出してからバッファー領域中のデータ
を伝送完了し、フラッシュメモリーへ書き込み命令を送
り出すものである。
【0045】図11において、この発明にかかる好適な
実施例につき、並列パイプラインを介したフラッシュメ
モリーへのデータ書き込みを説明すると、書き込み操作
を3ステージに分けることができる。ステージ1は、フ
ラッシュメモリーへ書き込むべき書き込みクラスターを
バッファー領域へ伝送するものである。ステージ2は、
フラッシュメモリー中のこの書き込みクラスターの位置
を計算することである。ステージ3は、前回のフラッシ
ュメモリーへ書き込みが正確か否かを検査するととも
に、バッファー領域中の書き込みクラスターをフラッシ
ュメモリーへ伝送するものである。また、この好適な実
施例中、クラスター1のステージ1(1101)の書き
込み操作が終了する前に、クラスター1に対する書き込
み操作はステージ1(1101)からステージ2(11
02)へ進むことができ、かつステージ2(1102)
もステージ1(1101)が終了する前に終了すること
ができる。クラスター2のステージ1(1103)の書
き込み操作を行う期間に、クラスター1のステージ3
(1104)およびクラスター2のステージ2(110
5)も連続して開始することができる。クラスター2の
ステージ2(1105)が最初に終了した後、クラスタ
ー1のステージ3(1104)ならびにクラスター2の
ステージ1(1103)が連続して操作を終了する。全
ての書き込み操作を完了した他のステージは、以上のよ
うな順序で連続して開始および終了する。最後に、最終
クラスターのステージ3(1109)が独自に開始なら
びに終了する。
【0046】図12において、並列パイプラインを使用
した書き込み操作のフローを説明すると、このフローチ
ャートは、図7のステップ709中の詳細であり、図7
中、開始時に一番目のクラスターをバッファー領域へ伝
送していた。図12中、ステップ1201で書き込むべ
きクラスターがフラッシュメモリーのどの位置であるか
計算する。ステップ1202でホストが1つのバッファ
ー領域に伝送完了するのを待つと同時に、バッファー領
域に入れられていないデータがまだあるか否かを判別
し、あれば、ホストに次のクラスターを伝送するよう要
求する。ステップ1203で前回の書き込み動作が正確
であるか否かを検査し、もしも現在処理しているものが
一番目のクラスターであれば、この動作を省略してか
ら、命令およびアドレスを送り出すとともに、バッファ
ー領域のデータをフラッシュメモリーへ伝送する。ステ
ップ1204で書き込むべき次のクラスターがフラッシ
ュメモリーのどの位置であるか計算する。ステップ12
05でバッファー領域のデータがフラッシュメモリーへ
伝送完了するのを待って、書き込み命令をフラッシュメ
モリーへ送る。ステップ1206で書き込みクラスター
が一杯になったか否かを検査する。イエスであれば、ス
テップ1208で前回に書き込んだ状態を検査して終了
する。ノーであれば、ステップ1207で全てのデータ
の伝送が完了したか否かを検査する。イエスであれば、
ステップ1208で前回に書き込んだ状態を検査して終
了する。ノーであれば、ステップ1202へ戻る。
【0047】もしも並列パイプラインを行う時に書き込
み動作が失敗した場合には、下記のステップにより処理
する。 1.並列パイプラインを中止する。 2.使用可能なスペアブロックを入手する。 3.失効したブロック内部の有用なデータをスペアブロ
ック中へ入れる。 4.失効したブロック中にブロックエラーフラッグを表
示するとともに、失効したブロックをステップ2で入手
したブロックに置き換える。 5.再度、並列パイプラインを行う。
【0048】以上のごとく、この発明を好適な実施例に
より開示したが、もとより、この発明を限定するための
ものではなく、当業者であれば容易に理解できるよう
に、この発明の技術思想の範囲内において、適当な変更
ならびに修正が当然なされうるものであるから、その特
許権保護の範囲は、特許請求の範囲および、それと均等
な領域を基準として定めなければならない。
【0049】
【発明の効果】上記構成により、この発明は、以下のよ
うな利点を有するものである。この発明は、3種類の方
法によってウィンドウ情報をSRAM中へローディング
するものであり、これらの方法には、快速立ち上げ法と
正常立ち上げ法と逐次検索立ち上げ法とがある。ウィン
ドウ情報をSRAM中へローディングした後、この発明
は、さらに並列パイプライン方式を利用して読み書き性
能を向上させるものである。並列パイプラインを使用す
ることは、主要には1つのクラスターの読み書きが完了
してから次のクラスターの読み書きを行うというルール
を乗り越えるためであり、すなわち、1クラスターの1
ステージに進んだ時に、同時に他のクラスターの別なス
テージを行うことができるようにするものである。従っ
て、産業上の利用価値が高い。
【図面の簡単な説明】
【図1】この発明にかかるウィンドウベース・フラッシ
ュメモリー記憶システム中、フラッシュメモリーのデー
タ構成を示す構成図である。
【図2】データまたは書き込みブロック中の枠外ビット
セットを示すデータ構成図である。
【図3】書き込みブロック状態あるいはスペアブロック
状態を示すデータ構成図である。
【図4】この発明にかかる実施例の読み書き時における
各モジュール動作を示すフローチャートである。
【図5】SRAM中の使用者ウィンドウおよび予備ウィ
ンドウを示す実施例の構成図である。
【図6】この発明にかかる実施例のウィンドウ情報をS
RAMへローディングするフローチャートである。
【図7】ウィンドウ読み書きモジュールの実施例を示す
書き込みフローチャートである。
【図8】従来技術にかかるクラスターデータを読み出す
方式を示す説明図である。
【図9】この発明にかかる実施例の並列パイプラインに
よるクラスターデータの読み出しを示すフローチャート
である。
【図10】この発明にかかる実施例の並列パイプライン
による読み出しを示すフローチャートである。
【図11】この発明にかかる実施例の並列パイプライン
によるフラッシュメモリーへのデータ書き込みを示すフ
ローチャートである。
【図12】この発明にかかる実施例の並列パイプライン
による書き込みを示すフローチャートである。
【符号の説明】
100 ウィンドウ0領域 101 動態連結領域 102 ウィンドウ情報領域 103 動態連結情報領域 104 立ち上げ情報領域 105 実体フォーマット 106 ロジックフォーマット 107 ブロック番号 108 相対ブロック番号 109 相対ロジックブロック番号 110 ロジックブロック番号 111 相対ロジッククラスター番号 112 ロジッククラスター番号 120 ウィンドウベース領域 121 枠外保留領域 201 相対ロジックブロック番号 202 ウィンドウ番号 203 循環カウンター 204 位相ロックフラッグ 205 検査合計コード 206 データエラーフラッグ 207 ブロックエラーフラッグ 208 エラー修正コード 301 相対ブロック番号 302 相対ロジッククラスター番号 304 書き込みブロック循環カウンター 306 ウィンドウ情報の循環カウンター

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 ウィンドウ情報領域を有するフラッシュ
    メモリーに適用され、前記ウィンドウ情報領域が、複数
    個のウィンドウ情報ブロックを含み、前記した複数個の
    ウィンドウ情報ブロック中の全てが、それぞれ複数個の
    ウィンドウ情報を記憶することができ、かつ前記した複
    数個のウィンドウ情報ブロック中の1つおよび包括する
    前記複数個のウィンドウ情報が同一ウィンドウに対応す
    るものであって、 システムが運用を開始する時、前記した複数個のウィン
    ドウ情報ブロック中の1部分を選択するとともに、選択
    した前記複数個のウィンドウ情報ブロック中の全てから
    それぞれ1つずつ前記ウィンドウ情報を取り出して、取
    り出した前記複数個のウィンドウ情報をスタティックラ
    ンダムアクセスメモリー中へローディングするステップ
    と、 使用者ウィンドウに対応する前記ウィンドウ情報の情報
    の一部を前記スタティックランダムアクセスメモリーの
    アクティブウィンドウ変数領域に置くステップと、 もしも前記使用者ウィンドウが交換される時には、前記
    アクティブウィンドウ変数領域に置いた前記した情報の
    一部を前記スタティックランダムアクセスメモリー中に
    記憶された前記ウィンドウ情報の予備ウィンドウ中へ移
    動させるステップと、 使用したい使用予定ウィンドウが前記スタティックラン
    ダムアクセスメモリー中に記憶した前記複数個のウィン
    ドウ情報に対応するウィンドウに属さない時、前記複数
    個のウィンドウ情報からそのバックアップを選択して前
    記スタティックランダムアクセスメモリーへ戻し、前記
    使用予定ウィンドウが対応する前記ウィンドウ情報ブロ
    ック中の前記した複数個のウィンドウ情報中から交換バ
    ックアップを選択して前記フラッシュメモリー中の前記
    ウィンドウ情報へ戻すとともに、前記使用予定ウィンド
    ウを前記使用者ウィンドウとして設定するステップとを
    具備するウィンドウベース・フラッシュメモリー記憶シ
    ステムの管理方法。
  2. 【請求項2】 上記ウィンドウ情報が、前記ウィンドウ
    情報と対応するウィンドウが使用する複数個の実体デー
    タブロックおよび対応する複数個のロジックデータブロ
    ック間の対応関係を記憶するデータブロック・ロジック
    データブロック対応表と、 前記ウィンドウ情報のウィンドウが使用する書き込みブ
    ロックの状態を記憶する書き込みブロック状態と、 前記ウィンドウ情報のウィンドウが使用するスペアブロ
    ックの状態を記憶するスペアブロック状態とを具備する
    請求項1記載のウィンドウベース・フラッシュメモリー
    記憶システムの管理方法。
  3. 【請求項3】 上記した書き込みブロック状態を上記ス
    タティックランダムアクセスメモリーへローディングす
    るステップが、さらに、 上記した複数個のウィンドウ情報をローディングしてか
    ら、前記書き込みブロック状態ならびに上記スペアブロ
    ック状態から対応する前記ウィンドウ情報が正確か否か
    を判別するステップと、 前記ウィンドウ情報が不正確な時、前記スタティックラ
    ンダムアクセスメモリーに記憶された内容に基づき前記
    ウィンドウ情報を修正するとともに、修正後の前記ウィ
    ンドウ情報を前記スタティックランダムアクセスメモリ
    ーへローディングするステップとを具備する請求項1ま
    たは2記載のウィンドウベース・フラッシュメモリー記
    憶システムの管理方法。
  4. 【請求項4】 複数個のウィンドウ領域を記憶するもの
    であって、前記した複数個のウィンドウ領域中の全て
    が、それぞれ対応する複数個の実体ブロックを有するウ
    ィンドウベース領域と、 複数個の動態分配ブロックを有し、任意の前記した複数
    個の動態分配ブロックを任意の複数個のウィンドウに分
    配することができる動態連結領域および、 全ての前記した複数個のウィンドウに対応し、1つの記
    憶範囲内に少なくとも1つのウィンドウ情報を記憶する
    ウィンドウ情報領域ならびに、 前記した複数個の動態分配ブロックの分配状況を記録す
    る立ち上げ情報領域を含む枠外保留領域と を具備するウィンドウベース・フラッシュメモリー記憶
    システム。
  5. 【請求項5】 ウィンドウ情報領域および枠外保留領域
    を有するフラッシュメモリーに適用され、かつ複数個の
    バッファー領域を有し、前記ウィンドウ情報領域が複数
    個の実体ブロックを有するウィンドウに対応し、かつ前
    記ウィンドウ情報領域がウィンドウ情報を有して、前記
    した複数個の実体ブロック中の全てがそれぞれ複数個の
    セクターを有するものであって、 使用したいウィンドウに対応する前記ウィンドウ情報を
    スタティックランダムアクセスメモリー中へローディン
    グするステップAと、 データ需要コンポーネントが要求する需要クラスターを
    探し出すとともに、前記需要クラスターを前記スタティ
    ックランダムアクセスメモリーから第1バッファー領域
    へローディングするステップBと、 前記第1バッファー領域へローディングした前記需要ク
    ラスターを前記データ需要コンポーネントへ伝送するス
    テップCと、 並列パイプライン方法によりステップBからステップC
    を実行し、前記データ需要コンポーネントが必要とし、
    かつ前記需要クラスターに隣接する前記した複数個のク
    ラスターをパイプライン化し、前記した複数個のバッフ
    ァー領域を経て前記データ需要コンポーネント中へ伝送
    するステップDとを具備するウィンドウベース・フラッ
    シュメモリー記憶システムのアクセス方法。
  6. 【請求項6】 ウィンドウ情報領域および枠外保留領域
    を有するフラッシュメモリーに適用され、かつ複数個の
    バッファー領域を有し、前記ウィンドウ情報領域が複数
    個の実体ブロックを有するウィンドウに対応し、かつ前
    記ウィンドウ情報領域がウィンドウ情報を有して、前記
    した複数個の実体ブロック中の全てがそれぞれ複数個の
    セクターを有するものであって、 前記フラッシュメモリーに書き込みたい書き込みクラス
    ターを第1バッファー領域中へ伝送開始するとともに、
    前記書き込みクラスターの前記フラッシュメモリー中の
    アドレスを計算するステップAと、 前回の前記フラッシュメモリーに対する書き込みが正確
    か否かを検査するとともに、前記フラッシュメモリー中
    へ書き込み命令を送って、前記書き込みクラスターを前
    記フラッシュメモリー中に記憶するステップBと、 並列パイプライン方法によりステップAからステップB
    を実行し、前記フラッシュメモリーの隣接する前記した
    複数個の書き込みクラスターを前記した複数個のバッフ
    ァー領域を経てパイプライン化して前記フラッシュメモ
    リー中へ伝送するステップCとを具備するウィンドウベ
    ース・フラッシュメモリー記憶システムのアクセス方
    法。
  7. 【請求項7】 ウィンドウ情報領域および枠外保留領域
    を有するフラッシュメモリーに適用され、かつ複数個の
    バッファー領域を有し、前記ウィンドウ情報領域が複数
    個の実体ブロックを有するウィンドウに対応し、かつ前
    記ウィンドウ情報領域がウィンドウ情報を有して、前記
    した複数個の実体ブロック中の全てがそれぞれ複数個の
    セクターを有するものであって、 データ需要コンポーネントが必要とする需要クラスター
    を探し出すステージ1と、 前記需要クラスターを前記フラッシュメモリーから前記
    した複数個のバッファー領域の1つへローディングする
    ステージ2と、 前記バッファー領域へローディングした前記需要クラス
    ターを前記データ需要コンポーネントへ伝送するステー
    ジ3とを具備するものにおいて、 前記した複数個の需要クラスターの3ステージが、並列
    パイプライン操作により行われるとともに、第1需要ク
    ラスターのステージ2を実行する時期に、第2需要クラ
    スターのステージ1を実行し、第1需要クラスターのス
    テージ3を実行する時期に、第2需要クラスターのステ
    ージ2を実行し、第2需要クラスターのステージ2を実
    行する時期に、第3需要クラスターのステージ1を実行
    するものであるウィンドウベース・フラッシュメモリー
    記憶システムのアクセス方法。
  8. 【請求項8】 ウィンドウ情報領域および枠外保留領域
    を有するフラッシュメモリーに適用され、かつ複数個の
    バッファー領域を有し、前記ウィンドウ情報領域が複数
    個の実体ブロックを有するウィンドウに対応し、かつ前
    記ウィンドウ情報領域がウィンドウ情報を有して、前記
    した複数個の実体ブロック中の全てがそれぞれ複数個の
    セクターを有するものであって、 前記フラッシュメモリーに書き込みたい需要クラスター
    を前記した複数個のバッファー領域の1つへ伝送するス
    テージ1と、 前記需要クラスターの前記フラッシュメモリーにおける
    アドレスを計算するステージ2と、 前記フラッシュメモリー上の前回の書き込み操作が正確
    か否かを検査するとともに、その後の前記バッファー領
    域中の前記した書き込みクラスターを前記フラッシュメ
    モリーへ伝送するステージ3とを具備するものにおい
    て、 前記した書き込みクラスターの3ステージが、並列パイ
    プライン操作により行われるとともに、第1書き込みク
    ラスターのステージ1を実行する時期に、第1書き込み
    クラスターのステージ2を実行し、第2書き込みクラス
    ターのステージ1を実行する時期に、第1書き込みクラ
    スターのステージ3を実行し、第1書き込みクラスター
    のステージ3を実行する時期に、第2書き込みクラスタ
    ーのステージ2を実行し、最終書き込みクラスターのス
    テージ3を独自に開始および完了するものであるウィン
    ドウベース・フラッシュメモリー記憶システムのアクセ
    ス方法。
JP2002080699A 2001-08-07 2002-03-22 ウィンドウベース・フラッシュメモリー記憶システムとその管理方法ならびにアクセス方法 Pending JP2003058419A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW090119199A TW539946B (en) 2001-08-07 2001-08-07 Window-based flash memory storage system, and the management method and the access method thereof
TW90119199 2001-08-07

Publications (1)

Publication Number Publication Date
JP2003058419A true JP2003058419A (ja) 2003-02-28

Family

ID=21678979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002080699A Pending JP2003058419A (ja) 2001-08-07 2002-03-22 ウィンドウベース・フラッシュメモリー記憶システムとその管理方法ならびにアクセス方法

Country Status (6)

Country Link
US (3) US6718430B2 (ja)
JP (1) JP2003058419A (ja)
DE (1) DE10238566A1 (ja)
FR (2) FR2828567B1 (ja)
GB (1) GB2381897B (ja)
TW (1) TW539946B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7589999B2 (en) 2006-08-22 2009-09-15 Samsung Electronics Co., Ltd. Method and apparatus for programming non-volatile data storage device
CN113256051A (zh) * 2021-03-16 2021-08-13 贵州电网有限责任公司 一种启发式发电机组检修计划的编制处理方法

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171203B2 (en) * 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6728851B1 (en) * 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
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
JP3979486B2 (ja) * 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
GB0123417D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
GB0123415D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123416D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123421D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Power management system
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
US7353323B2 (en) * 2003-03-18 2008-04-01 American Megatrends, Inc. Method, system, and computer-readable medium for updating memory devices in a computer system
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
WO2005081891A2 (en) * 2004-02-23 2005-09-09 Lexar Media, Inc. Secure compact flash
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) * 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
JP4460967B2 (ja) * 2004-07-23 2010-05-12 株式会社東芝 メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
US7464306B1 (en) * 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US7594063B1 (en) * 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
KR100672992B1 (ko) * 2005-01-04 2007-01-24 삼성전자주식회사 반도체 메모리 장치의 동작 방법
US7877566B2 (en) * 2005-01-25 2011-01-25 Atmel Corporation Simultaneous pipelined read with multiple level cache for improved system performance using flash technology
WO2007058617A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
US8055725B2 (en) * 2006-01-12 2011-11-08 International Business Machines Corporation Method, apparatus and program product for remotely restoring a non-responsive computing system
US7280398B1 (en) * 2006-08-31 2007-10-09 Micron Technology, Inc. System and memory for sequential multi-plane page memory operations
US7818701B1 (en) * 2006-12-22 2010-10-19 Cypress Semiconductor Corporation Memory controller with variable zone size
US8775717B2 (en) * 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US7961520B2 (en) * 2009-08-18 2011-06-14 Seagate Technology Llc Encoding and decoding to reduce switching of flash memory transistors
TWI421694B (zh) * 2009-08-26 2014-01-01 Asustek Comp Inc 記憶體控制方法
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
JP5799699B2 (ja) * 2011-09-15 2015-10-28 富士ゼロックス株式会社 電力供給制御装置、管理制御装置、画像処理装置、電力供給制御プログラム
US8793543B2 (en) 2011-11-07 2014-07-29 Sandisk Enterprise Ip Llc Adaptive read comparison signal generation for memory systems
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US8739008B2 (en) * 2012-02-22 2014-05-27 Silicon Motion, Inc. Method for determining parity check matrix utilized in flash memory system and related flash memory system thereof
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
JP6003610B2 (ja) * 2012-12-17 2016-10-05 日本電気株式会社 情報処理装置
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
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
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
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a 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
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
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
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory 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
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
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
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
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
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
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
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
US10067879B2 (en) 2015-12-16 2018-09-04 Intel Corporation Apparatus and method to support a storage mode over a cache-line memory interface to a non-volatile memory dual in line memory module
KR102444606B1 (ko) * 2017-08-28 2022-09-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN116225774B (zh) * 2023-04-27 2023-08-15 云和恩墨(北京)信息技术有限公司 数据实时校验方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141247A (ja) * 1993-06-30 1995-06-02 Intel Corp 不揮発性半導体メモリ装置のデータ処理能力を増大する方法
JPH1196068A (ja) * 1997-09-19 1999-04-09 Toshiba Corp メモリ管理システムおよびデータ管理方法
JPH11110283A (ja) * 1997-08-08 1999-04-23 Toshiba Corp 不揮発性半導体メモリシステムの制御方法
WO1999031592A1 (fr) * 1997-12-16 1999-06-24 Tdk Corporation Systeme de memoire flash
JP2000020389A (ja) * 1998-07-03 2000-01-21 Denso Corp 電子制御装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0617363B1 (en) * 1989-04-13 2000-01-26 SanDisk Corporation Defective cell substitution in EEprom array
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
US5535399A (en) * 1993-09-30 1996-07-09 Quantum Corporation Solid state disk drive unit having on-board backup non-volatile memory
SG49632A1 (en) 1993-10-26 1998-06-15 Intel Corp Programmable code store circuitry for a nonvolatile semiconductor memory device
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5696929A (en) * 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
KR100359414B1 (ko) * 1996-01-25 2003-01-24 동경 엘렉트론 디바이스 주식회사 데이타독출/기록방법및그를이용한메모리제어장치및시스템
KR100260028B1 (ko) * 1996-08-13 2000-06-15 윤종용 화일시스템의 정보 복구방법
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US5901086A (en) * 1996-12-26 1999-05-04 Motorola, Inc. Pipelined fast-access floating gate memory architecture and method of operation
US6122195A (en) * 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
AU1729100A (en) 1998-11-17 2000-06-05 Lexar Media, Inc. Method and apparatus for memory control circuit
AU2108701A (en) * 1999-12-17 2001-06-25 Qualcomm Incorporated Mobile communication device having flash memory system with word line buffer
US6615307B1 (en) * 2000-05-10 2003-09-02 Micron Technology, Inc. Flash with consistent latency for read operations
US6851026B1 (en) * 2000-07-28 2005-02-01 Micron Technology, Inc. Synchronous flash memory with concurrent write and read operation
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
US6948026B2 (en) * 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US20040049627A1 (en) * 2001-11-09 2004-03-11 Flex-P Industries Method and system for controlling compact flash memory
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141247A (ja) * 1993-06-30 1995-06-02 Intel Corp 不揮発性半導体メモリ装置のデータ処理能力を増大する方法
JPH11110283A (ja) * 1997-08-08 1999-04-23 Toshiba Corp 不揮発性半導体メモリシステムの制御方法
JPH1196068A (ja) * 1997-09-19 1999-04-09 Toshiba Corp メモリ管理システムおよびデータ管理方法
WO1999031592A1 (fr) * 1997-12-16 1999-06-24 Tdk Corporation Systeme de memoire flash
JP2000020389A (ja) * 1998-07-03 2000-01-21 Denso Corp 電子制御装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7589999B2 (en) 2006-08-22 2009-09-15 Samsung Electronics Co., Ltd. Method and apparatus for programming non-volatile data storage device
CN113256051A (zh) * 2021-03-16 2021-08-13 贵州电网有限责任公司 一种启发式发电机组检修计划的编制处理方法
CN113256051B (zh) * 2021-03-16 2023-01-20 贵州电网有限责任公司 一种启发式发电机组检修计划的编制处理方法

Also Published As

Publication number Publication date
US20040024957A1 (en) 2004-02-05
US20050169053A1 (en) 2005-08-04
FR2828567B1 (fr) 2005-06-24
DE10238566A1 (de) 2003-03-20
FR2828567A1 (fr) 2003-02-14
US20030033471A1 (en) 2003-02-13
US6718430B2 (en) 2004-04-06
US7237057B2 (en) 2007-06-26
GB0218354D0 (en) 2002-09-18
TW539946B (en) 2003-07-01
GB2381897B (en) 2004-05-19
US7117332B2 (en) 2006-10-03
FR2846460A1 (fr) 2004-04-30
GB2381897A (en) 2003-05-14

Similar Documents

Publication Publication Date Title
JP2003058419A (ja) ウィンドウベース・フラッシュメモリー記憶システムとその管理方法ならびにアクセス方法
US5742934A (en) Flash solid state disk card with selective use of an address conversion table depending on logical and physical sector numbers
CN103577121B (zh) 一种基于Nand Flash的高可靠线性文件存取方法
US20050055493A1 (en) [method for accessing large block flash memory]
CN103871447A (zh) 与非门快闪存储器阵列及芯片及其存取、读取及管理方法
US9262096B2 (en) Dynamic address mapping for finish in the field
CN105005535A (zh) 一种分布式闪存事务处理方法
US7219191B2 (en) Data sharing method among remote computer systems and disk control device thereof
CN111722807A (zh) 固态硬盘垃圾回收方法、装置、计算机设备及存储介质
JPH03224045A (ja) データ保全方式
US6639843B2 (en) Semiconductor memory device with block-unit erase type nonvolatile memory
US7184944B1 (en) Apparatus and method for the simulation of a large main memory address space given limited resources
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법
JPH10240453A (ja) ディスクアレイ装置
JPH0519981A (ja) 光デイスク装置のデータ書込み正常終了判定方法
CN117234436B (zh) 一种磁盘阵列的扩容方法、装置、存储系统及产品
JP2003263276A (ja) ディスクシステムおよびディスクアクセス方法
JP2002108721A (ja) ディスクアレイ装置
JPH07334425A (ja) ディスクキャッシュ制御方式
CN118349184A (zh) 数据迁移方法、装置、固态硬盘和计算机可读存储介质
CN116991451A (zh) 用于zynq的flash存储芯片及使用其的软件升级方法和启动方法
JPH06161842A (ja) 外部記憶装置およびこれを用いたコンピュータ
CN118092810A (zh) 固态硬盘快照实现方法、装置、计算机设备及存储介质
JP2002132555A (ja) データベースアクセス方式,方法,および記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060407