JPH06309224A - データ・ページの制御方法及びデータ処理システム - Google Patents

データ・ページの制御方法及びデータ処理システム

Info

Publication number
JPH06309224A
JPH06309224A JP6057085A JP5708594A JPH06309224A JP H06309224 A JPH06309224 A JP H06309224A JP 6057085 A JP6057085 A JP 6057085A JP 5708594 A JP5708594 A JP 5708594A JP H06309224 A JPH06309224 A JP H06309224A
Authority
JP
Japan
Prior art keywords
data
storage means
page
pages
data pages
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.)
Granted
Application number
JP6057085A
Other languages
English (en)
Other versions
JP2784440B2 (ja
Inventor
Wilbur D Pricer
ウイルバー・デイビッド・プライサー
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06309224A publication Critical patent/JPH06309224A/ja
Application granted granted Critical
Publication of JP2784440B2 publication Critical patent/JP2784440B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

(57)【要約】 【目的】 主ストレージから、読み取りサイクルよりも
書き込みサイクルの方が10倍以上長い関連メモリ(例
えば、不揮発性半導体メモリ)へ指定された置換データ
・ページを同時に転送する制御方法及び装置を与える。 【構成】 指定された各データ・ページは不揮発性メモ
リ中に関連ホーム・アドレスを持つている。本発明の方
法は不揮発性メモリへ転送するために、主ストレージの
少なくとも2つのデータ・ページを指定するステツプを
含み、そして、所定の条件が生じた時に、それらのデー
タ・ページの関連アドレスの不揮発性メモリ中に書き込
むために、主ストレージから不揮発性メモリへ指定され
たデータ・ページを同時に転送するステツプを含んでい
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システム、
より具体的に言えば、コンピユータ・システム、または
マルチコンピユータ・システム中の階層メモリ構造(主
メモリと不揮発性半導体メモリとで構成されたような階
層メモリ構造)の異なつたメモリ間のデータ転送の制御
技術に関する。
【0002】
【従来の技術】データ処理システム中のメモリを階層構
造に構成することに関する利益は従来から知られてい
る。例えば、処理システムの内部メモリは、CPUのレ
ジスタ、キヤツシユ・メモリ、バツキング・ストレージ
(即ち、バルク・メモリ、補助メモリ、または2次メモ
リ)及び外部メモリとして構成することができる。従
来、外部メモリは磁気式の直接アクセス・ストレージ装
置(Direct Access StorageDevice-DASD)のような磁気
ストレージ装置として最も多く実施されている。代表例
として磁気デイスク・ストレージ装置は、アドレスによ
つて指定された任意の位置が前のアクセス・アドレスと
は無関係に同じアクセス時間内で(サーチされているデ
ータを)アクセスすることができるようなランダム・ア
クセス・ストレージ(即ち、直接アクセス・ストレー
ジ)を含んでいる。磁気ストレージ装置は、装置を動作
するのに必要な電力が大きいという欠点を持つており、
この欠点は、コンピユータ産業において携帯性を志向し
ている現在では特に大きな弱点となる。
【0003】不揮発性半導体ストレージ及び光学式スト
レージのような他のストレージ装置の技術は、より少な
い消費電力でよく、磁気デイスク・ストレージの読み取
りアクセス時間(例えば、ミリ秒単位)に比較して、1
段階上位の遥かに良好な読み取りアクセス時間(例え
ば、ナノ秒単位)を持つている。加えて、不揮発性半導
体ストレージのコスト有効度は、他日、磁気ストレージ
式DASDのコスト有効度に追い付くであろうと予測さ
れている。
【0004】不揮発性半導体メモリの読み取りアクセス
のサイクル時間は100ナノ秒の程度であるのに反し
て、書き込みアクセスのサイクル時間は、それよりも少
なくとも数倍長い時間である。書き込みアクセス動作に
対して、1ミリ秒乃至1秒の名目値が通常の値である。
特別の例として、書き込みサイクルが、読み取りサイク
ル(例えば、不揮発性半導体メモリの読み取りサイク
ル)の少なくとも10倍長い(時間長で)キヤツシユ、
バツキング・ストレージ及び主メモリを含むメモリ階層
を考えてみる。良好に管理されたシステムにおいては、
99%のキヤツシユ・ヒツト比及び95%のバツキング
・ストレージ・ヒツト比が得られる。これらの比率が与
えられ、20メガヘルツのサイクル時間を持つプロセツ
サを用いたとして、2000サイクル中の1処理サイク
ルがバツキング・ストレージから不揮発性半導体メモリ
への置換データ・ページ転送を開始するものと予測する
ことができる。然しながら、すべてのデータ・ページ転
送は直接アクセス・ストレージ装置中に書き込み動作を
必要としない。
【0005】上述の例(実際上、転送する置換データ・
ページの3分の1が、不揮発性半導体メモリ中に再度書
き込まれる必要があると仮定して)の分析を更に続けて
説明すると、不揮発性半導体メモリ中への書き込み動作
は、バツキング・ストレージから不揮発性半導体メモリ
へ置換データ・ページを移動するデータ・ページ転送動
作の周波数(CPUによつて発生される)よりも低い周
波数で進行することが分つている。従つて、不揮発性半
導体メモリへの殆どすべての読み取りアクセスは既に進
行している書き込みサイクルと遭遇するので、データの
読み取りに対する顕著な妨害が相対的に短時間で発生
し、不揮発性半導体メモリの速い読み取りアクセス時間
の優位性は希にしか具現されない。
【0006】
【発明が解決しようとする課題】従つて、主ストレージ
と不揮発性半導体メモリとの間の読み取り動作の実行を
事実上妨害する複数の書き込み動作の可能性を減少させ
るために、階層的メモリ構造(主メモリ及び長時間の書
き込みサイクルを持つメモリを含む階層的メモリ構造)
の或る種のメモリの間のデータ転送を管理する制御技術
を必要とする本質的な要求が、データ処理技術の分野に
ある。本発明はこの要求に答えるものであり、不揮発性
半導体メモリを用いた実用的なデータ処理システムを設
計する場合、システム設計者に対して多大の助力を与え
るものである。
【0007】
【課題を解決するための手段及び作用】本発明を要約す
ると、本発明の1つの局面において、本発明はデータ処
理システムの主ストレージから、長時間の書き込みサイ
クルを持つ関連メモリへデータ・ページをグループで転
送する制御方法を含んでいる。本発明において、各デー
タ・ページは不揮発性半導体メモリにおいて、対応する
ホーム・アドレスを持つものと仮定されている。本発明
の制御方法は、長時間の書き込みサイクルを持つメモリ
へ転送するための、主ストレージ中の少なくとも2つの
データ・ページを指定するステツプと、予め決められた
条件、即ち所定の条件が発生した時に、少なくとも2つ
のデータ・ページを、関連したホーム・アドレスにおい
て書き込むための相互接続されたデータ・バスを介し
て、主ストレージから、長時間の書き込みサイクルを持
つメモリへ、少なくとも2つの指定されたデータ・ペー
ジを同時に転送するステツプとを含んでいる。指定され
たデータ・ページの所定の数「X」を2よりも大きな整
数として、X個の指定されたデータ・ページのための重
複した関連ホーム・アドレスを含んで、予め決められた
幾つかの条件を設けることが可能である。転送され、指
定されたデータ・ページは同時にメモリ中に書き込まれ
る。
【0008】本発明の他の局面において、主ストレージ
・バツフアから、長時間の書き込みサイクルを持つ複数
のメモリ・チツプ中に、指定された複数個のデータ・ブ
ロツクを同時に書き込むための方法が与えられる。複数
個の半導体メモリの夫々は複数個のメモリ・セルを含ん
でいる。本発明のこの方法は、複数個の半導体メモリか
ら、主ストレージ・バツフアの中に「N」個のデータ・
ブロツクを書き込むステツプと(主ストレージ・バツフ
アは、前にストアされた「Z」個のデータ・ブロツクを
持つている)、主ストレージ・バツフアの中に書き込ま
れた「N」個のデータ・ブロツクのうちの少なくとも幾
つかのデータ・ブロツクの各データ・ブロツクに対し
て、「Z」個のデータ・ブロツクからの置換データ・ブ
ロツクを指定するステツプと、その後、主ストレージ・
バツフアの指定されたデータ・ブロツクを、複数個の半
導体メモリの中に同時に書き込むステツプとを含んでい
る。この場合、同時書き込みのステツプは、後述する予
め決められた幾つかの条件のうちの1つの条件が生じた
後に発生するのが望ましい。これらの実施例については
後述する。
【0009】本発明の他の局面において、データ処理シ
ステムは中央処理装置と、処理されるべきデータ・ペー
ジを保持するために、中央プロセツサに関連した主スト
レージと、関連したアドレスにおいてデータ・ページを
保持するために、長時間の書き込みサイクルと短時間の
読み取りサイクルを持つメモリと、主ストレージ及び上
記のメモリの間を結合するバスとを持つている。本発明
に従つて、主ストレージから上記のメモリへのデータ転
送を制御する機構が与えられる。本発明の転送制御機構
は、メモリへデータ・ページを同時に転送するために、
主ストレージ中の少なくとも2つのデータ・ページを指
定するための機構と、データ・ページが関連するアドレ
スにおいて上記のメモリ中に書き込むために、主ストレ
ージから上記のメモリへの少なくとも2つの指定された
データ・ページを、データ・バスを介して所定の条件の
発生の時に転送する機構とを含んでいる。
【0010】本発明の利点は多数ある。書き込み動作に
よる妨害の発生は100倍、またはそれ以上のフアクタ
で減少させることができる。従つて、本発明のデータ処
理システムは、長い書き込みサイクル時間を持つメモリ
によつて与えられる読み取りアクセスの改善点のすべて
の利益を享受することができる。指定されたデータ・ペ
ージに対して、主ストレージの中のメモリ割り当ては最
小にされ、そして、置換のために割り当てられたデータ
は、不揮発性半導体メモリの中に同時に書き込まれる待
機時間の間でCPUによりアクセスすることが依然とし
て利用可能である。不揮発性半導体メモリにおいて、同
時消去サイクルを使用することは、データ・ページの直
列転送と、不揮発性半導体メモリ中の後続する並列書き
込み動作に必要とされるデータ・ページの関連アドレス
とをマスクする充分な時間を与える。本発明の方法は階
層メモリのレベル内の1つのレベルとして、書き込み速
度の遅いメモリを用いたすべてのコンピユータ・システ
ム、またはマルチコンピユータ・システムのためのすべ
ての階層メモリ構造に用いることができる。
【0011】
【実施例】書き込みサイクルの速度が読み取りサイクル
の速度よりも本質的に遅いメモリ(例えば、EEPRO
M、EPROM等のような不揮発性半導体メモリ)の技
術が、データ転送を管理することにより、問題を完全に
解決しないまでも、本発明に従つて非常に改善される。
本発明は、情報ブロツク(または、データ・ページ)が
主ストレージ(即ち、バツキング・ストレージ、または
キヤツシユ)から、関連する不揮発性半導体メモリヘ転
送される時に指定するための、公知の刊行物中に記載さ
れている多くの「置換アルゴリズム」があると言う事実
を認識している。
【0012】多くの通常の置換アルゴリズムは「ごく最
近の使用(least recently used)」アプローチと呼ば
れる。付加するためのデータが不揮発性半導体メモリか
ら取り出されねばならない時に、使用される最小のデー
タ・ページは、置換データ・ページとして単位化され
(即ち「指定され」)て、取り出される新しいデータ・
ページのための空間を作るために、直ちに直接アクセス
・ストレージ装置に転送されるように、「満たされてい
る」バツキング・ストレージ、または「満たされてい
る」キヤツシユ・メモリの中にストアされているデータ
・ページは、上述の置換アルゴリズムによつて監視され
る。本発明は、置換データ・ページを「指定する」ため
に、上述の「ごく最近の使用」アプローチ(または他の
任意のアプローチ)を使用することができる。下記の本
発明の説明は、管理ソフトウエアが置換データ・ページ
を「指定する」通常のアプローチを実施するものと仮定
している。本発明において、不揮発性半導体メモリに対
して、指定されたデータ・ページの直接の転送は無いの
が従来技術との相違である。
【0013】本発明に従つて、相対的に小さな数(例え
ば16個)の空白ページ・アドレス(vacant page adre
ss)がバツキング・メモリの中に残るまで、データ処理
装置のバツキング・メモリは、プロセツサの制御の下
で、不揮発性半導体メモリからのデータ・ページによつ
てロードされる。残りのアドレスがこの小さな数に到達
したならば、不揮発性半導体メモリからの将来のデータ
・ページの各検索は、最後の置換(即ち、バツキング・
メモリから不揮発性半導体メモリへの将来の転送)のた
めに「指定される」データ・ページを生じる。再言する
と、指定された置換データ・ページの即時転送は無いけ
れども、その代わりに(本発明に従つて)、転送する情
報は、将来の置換データ・ページの同時転送のために保
存されることには注意を向ける必要がある。
【0014】予め決められた条件(後述する)が満足さ
れた後、指定されたすべての置換データ・ページはバツ
キング・ストレージから不揮発性半導体メモリに同時に
転送される。好ましい実施例において、上述の所定の条
件は、指定された2つの(または、それ以上の)置換デ
ータ・ページに対して重複して割り当てられた「ホーム
・アドレス」を含ませることである。(術語「ホーム・
アドレス」は不揮発性半導体メモリ中の実チツプ・アド
レス、または仮想チツプ・アドレスを意味し、そして、
これら2つのデータ・ページが不揮発性半導体メモリ中
の同じ実チツプ・アドレス、または同じ仮想チツプ・ア
ドレスに書き込まれる時には、これら2つのページ・ア
ドレスは、常に、「重複したホーム・アドレス」を持つ
ている。)
【0015】予め決められた条件が満足された時、指定
されたすべての置換データ・ページは、バツキング・メ
モリから不揮発性半導体メモリに同時に(即ち、データ
のグループとして)転送される。指定されたデータ・ペ
ージのホーム・アドレスにおいて並列消去動作を開始す
るために、デイレクリトリ機能が用いられ、このデイレ
クトリ機能に続いて、不揮発性半導体メモリの中に、指
定されたすべてのデータ・ページを並列に書き込む動作
(好ましくは)がある。この方法を用いることにより、
指定された最後の置換データ・ページは、DASD(不
揮発性半導体メモリ)へ最終的に転送されるべき置換デ
ータ・ページの次のグループ中の最初のデータ・ページ
としてバツキング・メモリ中に保持される。(指定され
た最後のデータ・ページは、「重複したホーム・アドレ
ス」を持つていると見做されるので、前に指定された置
換データ・ページは、並列書き込み機能を禁止する。)
予め決められた「重複した」条件の代わりか、または、
他の条件として、不揮発性半導体メモリへデータの転送
を開始する時に、指定された置換データ・ページの所定
の閾値の数値「X」の発生が使用される。本発明に従つ
たデータ・ページ転送ルーチンの幾つかの実施例を以下
に説明する。
【0016】図1を参照すると、中央処理装置(CP
U)12と、キヤツシユ14と、バツキング・ストレー
ジ16とを有する全体として参照数字10で示したデー
タ処理システムが示されている。CPU12、キヤツシ
ユ14及びバツキング・ストレージ16は同じ(また
は、異なつた)集積回路チツプ上に作ることができる。
データ・バス20は不揮発性半導体メモリ(即ち、DA
SD)18と、バツキング・ストレージ16、及び/ま
たはキヤツシユ14との間で情報ブロツク(以下、「デ
ータ・ページ」という)の転送を行なう。(データはD
ASD18からキヤツシユへ直接に転送してもよいし、
バツキング・ストレージ16を通して間接的に転送して
もよい。)従つて、最も低いレベルのメモリは不揮発性
半導体メモリで構成され、中間レベルのメモリはバツキ
ング・ストレージ16で構成され、そして最も高いレベ
ルのメモリはキヤツシユ14で構成された3レベルの階
層メモリが示されている。(本発明は、CPUが不揮発
性半導体メモリと交信する主メモリと交信するようなよ
り基本的な2レベルの配列を含んで他の任意の階層メモ
リ構造にも同様に適用可能である。)
【0017】バツキング・ストレージ中に既にグループ
化されている複数個の置換データ・ページは空白アドレ
ス・カウンタ17を用いて容易に追跡することができ
る。更に、ページ名、DASD中のホーム・アドレス、
使用状態及び置換ビツトを含むデイレクトリ機能のデー
タ構造19を用いることができる。空白アドレス・カウ
ンタ17及びデイレクトリ19は、例えばバツキング・
ストレージ16のような、ハードウエアのレジスタ、即
ちハードウエアのメモリの中に構成することができる。
これらのカウンタの機能及びデイレクトリの機能は、当
業者であれば容易に実行することができる。
【0018】DASDの1つの例において(図2参
照)、6つに分けられた実メモリ、または仮想メモリの
チツプ30が用いられ、それらの各チツプは複数のセグ
メント32に分離されている。各セグメント32は情報
の複数のデータ・ページを保持しており、各データ・ペ
ージは特別のアドレス(例えば、111、112、11
3、114、121、122、123、124、13
1、132、133、134、141、142、14
3、144、211、212、213、214...、
344...、444...、612...、62
4...)を持つているものとする。読み取り、消去及
び書き込み動作は、DASD18中の他のすべてのチツ
プとは独立して夫々のチツプ30の中で別個に遂行する
ことができ、そして、複数の同時読み取り、消去及び書
き込み動作が、与えられたチツプのセグメント・レベル
で可能となるように、特定のチツプ30の各セグメント
32は、同じチツプの他のすべてのメモリ・セグメント
とは独立しているものとする。然しながら、同じメモリ
・セグメントの中には、並列のデータ・ページ書き込み
はできない。
【0019】本発明に従つた図3に示した第1の実施例
の転送ルーチンにおいて、バツキング・ストレージ18
は複数個の分離したメモリ・チツプを含んでおり、これ
らのメモリ・チツプは、複数の並列動作に対してセグメ
ント化されていないものと仮定する。この実施例は、新
しいデータ・ページが、不揮発性半導体メモリから主メ
モリ(バツキング・ストレージ)に転送される「DAS
Dからバツキング・ストレージへの新しいデータ・ペー
ジを移動する」ブロツク52の時に、呼び出しサブルー
チン、即ち「アドレス管理サブルーチンの呼び出し」ス
テツプ50として開始される。次に、「空白アドレス・
カウンタ中に残つたアドレス空間はXよりも大きいか
(≧X)否かの問い合せ」ステツプ54において、所定
の数「X」よりも大きい空白のアドレス空間がバツキン
グ・ストレージの中に残つているか否かの問い合せが行
なわれる。(既に述べたように、空白のページ・アドレ
スの数はシステム10(図1)中の空白アドレス・カウ
ンタ17を使用することにより追跡することができ
る。)若し閾値のレベル、「X」以上の空白のアドレス
が残つているならば、空白アドレス・カウンタは、「空
白アドレス・カウンタを1だけ増加する」ステツプ56
において、単純に歩進され、処理ステツプは処理を「復
帰する」ブロツク58に進む。
【0020】空白アドレス・カウンタがその閾値のレベ
ル「X」に到達したならば、「任意の置換アルゴリズム
によつて1つの新しい置換データ・ページを指定する」
ステツプ60において、DASDからバツキング・スト
レージへ転送される各データ・ページのための、新しい
置換データ・ページがバツキング・ストレージ中に指定
される。再言すると、例えば、上述の「ごく最近の使
用」アルゴリズムの置換技術を使用した公知技術のよう
に、置換データ・ページを「指定する」アプローチは多
くの刊行物に記載されている。新しい置換データ・ペー
ジの「指定」がなされると、「空白アドレス・カウンタ
を1だけ増加する」ステツプ62において、空白アドレ
ス・カウンタは歩進され、次に、「この新しい置換デー
タ・ページは、他のすべての置換データ・ページとは異
なつたホーム・アドレスを持つているか?」ステツプ6
4において、この新しい置換データ・ページは、バツキ
ング・ストレージ中に未だ保持されている前に指定され
たすべての置換データ・ページとは異なつたホーム・ア
ドレスを持つているか否かの問い合せが行なわれる。若
しこの問い合せの応答が「ノー」であれば、指定された
すべての置換データ・ページ(ごく最近の置換データ・
ページを除いて)のための並列消去動作及び並列書き込
み動作が行なわれ、これにより、「最後のデータ・ペー
ジを除き、指定されたすべての置換データ・ページを並
列に書き込む」ステツプ66において、主ストレージか
ら不揮発性半導体メモリへデータ・ページの転送が行な
われる(この実施例に従つて)。その後、「並列に書き
込まれたデータ・ページの数だけ空白アドレス・カウン
タを減少する」ステツプ68において、空白アドレス・
カウンタは不揮発性半導体メモリに転送されたデータ・
ページ数だけ減少され、処理は「復帰する」ステツプ5
8に進む。
【0021】若し新しい置換データ・ページが、バツキ
ング・ストレージ中に依然として保持されている、前に
指定されたすべての置換データ・ページと比較して特別
のホーム・アドレスを持つているならば、「空白アドレ
ス・カウンタは満たされているか?」ステツプ70にお
いて、空白アドレス・カウンタは満たされているか否か
の問い合せが行なわれる。若しこの問い合せの応答が
「ノー」ならば、データ転送の所定の状態が発生してい
ないので、処理は「復帰する」ステツプ58に進む。然
しながら、若し空白アドレス・カウンタが最新の置換デ
ータ・ページの指定から満たされたならば、指定された
すべての置換データ・ページは、「指定されたすべての
置換データ・ページを並列に書き込む」ステツプ72に
おいて、バツキング・ストレージから不揮発性半導体メ
モリへ並列に書き込まれ(この実施例に従つて)、次
に、「空白アドレス・カウンタを減少(リセツト)す
る」ステツプ74において、空白アドレス・カウンタは
リセツトされる。
【0022】メモリ階層がバツキング・ストレージ中の
組数に制限を与えるか、または、メモリ階層がただ2つ
のレベルだけに制限される場合には、電子式DASDへ
の書き込みを待機する情報をストアするキユー(待ち行
列)バツフアを与えることが望ましい。このような方式
を用いる場合には、置換のマークを付されたデータ・ペ
ージは直ちにキユー・バツフアに転送される。これらの
データ・ページは、例えば、キユー・バツフア中のすべ
てのデータ・ページをDASDの中に同時に書き込むこ
とが可能であるか、または、キユー・バツフアが満たさ
れるまで、キユー・バツフア中に蓄積することができ
る。通常、キユー・バツフア中のすべてのデータ・ペー
ジは、必要に応じて再度呼び出すことが可能である。
【0023】加えて、本発明は、3個、4個、5個、ま
たはそれ以上の共通のチツプ・アドレスが検出されるま
で、アルゴリズムが並列書き込みを始動しないように
(より大きな割り当てにより)、拡張することができ
る。然しながら、この場合、並列書き込み動作期間は、
不揮発性半導体メモリ中の少なくとも幾つかのチツプが
複数の書き込み動作を実行しなければならないので、長
い時間になる。然しながら、すべてのチツプ上のすべて
のアドレスは、相対的に長い消去期間(例えば、1ミリ
秒)を割り当てられなければならないが、より短かい書
き込みデータ部分(例えば、10乃至100ミリ秒)を
マルチプレクサ動作にすることにより、データ転送の全
期間には僅かな増加しか生じない。このことは、5個程
度の他の因子によつて書き込み動作による妨害を効果的
に減少することができる。然しながら、この拡張は、割
り当てが満たされた時に後続する共通チツプ・アドレス
が、より頻繁に発生するので、元のアルゴリズムよりも
幾分か制限される。また、不揮発性半導体メモリ中の共
通のチツプの複数の書き込みサイクルは、消去動作が割
り当てられるか否かに拘らず、付加的な時間を必要とす
る。
【0024】本発明は、各不揮発性メモリ・チツプを複
数の領域(例えば4つ、またはそれ以上の領域)にセグ
メント化し、各セグメントの並列消去動作及び並列書き
込み動作を可能とすることにより、従来の技術を用いて
拡張することができる。領域(即ち、「メモリのセグメ
ント」)は、より少ないデータ・ページを含むので、共
通のセグメント・アドレスがデイレクトリにより検出さ
れる前に、より多くのデータ・ページをバツキング・ス
トレージに蓄積することができる。このような拡張は1
0個位の他の因子によつて書き込み動作による妨害を軽
減することができる。
【0025】上述したような拡張は、任意に組み合わせ
て用いることができるのは明らかである。
【0026】本発明に従つたメモリ管理サブルーチンの
他の実施例が図4に示されている。このルーチンは、不
揮発性半導体メモリのメモリ・チツプが複数個のセグメ
ント(図2に示したDASD18のチツプ30中のセグ
メント32のような)に2次分割されているのを除け
ば、図4に示したルーチンと同じである。複数個のデー
タ・ページ(例えば、4つのデータ・ページ)が各セグ
メント中に存在するものと仮定する。各チツプのセグメ
ントのデータ・ページは、アドレス・ドライバ、及び/
またはビツト・ドライバのようなサポート用電子回路の
特別のセツト(図示せず)を共有している。(従つて、
チツプ中の共通セグメントを共有するデータ・ページは
同時に消去することができ、しかし、同時には書き込む
ことはできないが、他方、共通チツプのセグメントは消
去及び書き込みの両方の動作を同時に行なうことができ
る。)このような不揮発性半導体メモリの構成を考慮
し、かつ、3つの共通チツプ・アドレスが検出された後
に並列書き込みを開始するために、図3に示した管理サ
ブルーチンは図4において特に改良されている。
【0027】「新しいデータ・ページがDASDからバ
ツキング・ストレージに転送される」ブロツク82にお
いて、新しいデータ・ページがDASDからバツキング
・ストレージに転送される時に、管理サブルーチンが
「アドレス管理サブルーチンの呼び出し」ブロツク80
において呼び出される。次に、空白アドレス・カウンタ
(図1参照)を参照することによつて、「所定の数
「Y」よりも大きいアドレス空間がバツキング・ストレ
ージ中に残つているか否か(≧Y)の問い合せ」ステツ
プ84において、処理は、数値Yよりも大きな数がアド
レス・カウンタ中に残つているか否かの問い合せについ
ての決定をする。若しこの問い合せの応答が「イエス」
ならば、余分なメモリ空間がバツキング・ストレージ中
に残つていることを意味する。従つて、空白アドレス・
カウンタは、「空白アドレス・カウンタを1だけ増加す
る」ステツプ86において、1だけ増加され、処理は
「復帰する」ブロツク88に進む。この場合には、DA
SDへ最終的に転送するための新しい置換データ・ペー
ジをバツキング・ストレージに指定する必要はない。
【0028】空白のアドレス空間の閾値の数値「Y」よ
りも小さい数がバツキング・ストレージの中に残つたな
らば、プロセツサはDASDからバツキング・ストレー
ジへ転送される(任意の従来の置換アルゴリズムを使用
して)新しいデータ・ページのための新しい置換データ
・ページを指定する。若し必要ならば、新しい置換デー
タ・ページは、「任意のアルゴリズムによつて1つの新
しい置換データ・ページを指定して、キユー・バツフア
中にストアする」ステツプ90において、キユー・バツ
フア21(図1)の中にストアすることができる。その
後、空白アドレス・カウンタは、「空白アドレス・カウ
ンタを1だけ増加する」92ステツプにおいて、1だけ
増加され、そして、「新しい置換データ・ページは、キ
ユー・バツフア中にストアされた2つのデータ・ページ
を持つ共通セクタ・アドレスを共有しているか?」を質
問する問い合せステツプ94において、キユー・バツフ
ア中にストアされ付加する2つの置換データ・ページの
共通セクタ・アドレスを共有しているか否かの質問が行
なわれる。既に説明したアルゴリズムによつて、所定の
この条件は単一の重複条件、または、4つの置換データ
・ページの一致条件か、5つの置換データ・ページの一
致条件などを含ませることができる。
【0029】若し問い合せステツプ94の条件が満足さ
れたならば、つまり、新しい置換データ・ページが、ス
トアされた2つの置換データ・ページを持つ共通セクタ
・アドレスを共有しているならば、「最後の置換データ
・ページを除いて、キユー・バツフア中にストアされて
いるすべてのデータ・ページを並列消去する」ステツプ
96において、置換データ・ページと関連された不揮発
性半導体メモリのアドレスにおいて、置換データ・ペー
ジの並列消去が遂行され、そして、キユー・バツフア中
にストアされているデータ・ページは、「最後の置換デ
ータ・ページを除いて、キユー・バツフア中にストアさ
れているすべてのデータ・ページを、2つの連続した列
(two sequential ranks)で並列書き込みを行なう」ス
テツプ97において、不揮発性半導体メモリ中の2つの
連続した列で並列に書き込まれる。その後、空白アドレ
ス・カウンタは、「並列に書き込まれたデータ・ページ
の数だけ空白アドレス・カウンタから減少する」ステツ
プ98において、DASDに並列に書き込まれたデータ
・ページの数だけ減少され、処理は「復帰する」ステツ
プ88に進む。
【0030】この実施例において、上述とは反対に、若
し新しい置換データ・ページがキユー・バツフア中に既
にストアされている2つのデータ・ページを持つ共通セ
クタ・アドレスを共有していなければ、「空白アドレス
・カウンタは満たされているか?」を問い合わせるステ
ツプ102において、空白アドレス・カウンタが満たさ
れているか否かの問い合せが行なわれる。若しこの問い
合せに対する応答が「ノー」ならば、このサブルーチン
には、予め決められた条件がないので、処理は「復帰す
る」ステツプ88に進む。然しながら、若し空白アドレ
ス・カウンタが満たされていれば、「キユー・バツフア
中にストアされたすべてのデータ・ページを並列消去す
る」ステツプ104において、DASDにおける並列消
去が発生し、そして、キユー・バツフア中にストアされ
ているすべての置換データ・ページは、「キユー・バツ
フア中にストアされているすべてのデータ・ページを2
つの連続した列で並列書き込みを行なう」ステツプ10
6において、2つの連続した列で、DASD中に並列に
書き込まれる。最後に、空白アドレス・カウンタは、
「空白アドレス・カウンタを減少(リセツト)する」ス
テツプ108においてリセツトされ、処理は「復帰す
る」ステツプ88に進む。
【0031】上述した処理の長所としては、消去期間及
び書き込み期間の同期及び予言可能性が、例えば拡大さ
れた消去期間の間でDASDの読み取りサイクルを「盗
用」することを、データ処理システムに対して開放した
ことである。更に、「盗用」した読み取りサイクルは、
書き込み動作による妨害時間に穴を明けることによつ
て、書き込み動作の妨害に対するシステム全体の弱みを
減少する。本発明の原理において、読み取りサイクルを
盗用することは任意の電子的DASD構造において可能
である。然しながら、本発明に従つて同期された同時書
き込みサイクルの方法は、盗用読み取りサイクルの実施
をより容易にし、かつより実用的にする。
【0032】本発明により与えられる利益は多々ある。
書き込み動作による妨害の発生は、書き込みサイクルの
長さと読み取りサイクルの長さとの間の差の大きさと同
じ大きさだけ減少される。つまり、書き込みサイクルが
読み取りサイクルよりも10倍長いメモリ技術に対し
て、書き込み動作による妨害の回数は10倍だけ減少す
ることができる。従つてデータ処理システムは不揮発性
半導体メモリによつて与えられる改良されたアクセス時
間の利益をすべて享受することができる。指定されたデ
ータ・ページのための主ストレージの中のメモリ割り当
ては最小であり、そして、不揮発性半導体メモリの中に
同時に書き込む待ち時間の間で、置換のために割り当て
られたデータは、CPUによつてアクセスするのに依然
として利用可能である。不揮発性半導体メモリにおいて
同時に消去サイクルを用いることは、データ・ページの
直列転送と、不揮発性半導体メモリ中の後続する並列書
き込みに必要とされるデータ・ページの関連アドレスと
をマスクするための時間を充分に与える。本発明は、階
層メモリ中の複数のレベルの1つのメモリ・レベルとし
て、不揮発性半導体メモリを用いたすべてのコンピユー
タ・システム、またはマルチコンピユータ・システムの
任意の階層的メモリ構成に使用することができる。
【0033】
【発明の効果】本発明は、書き込み速度が読み取り速度
よりも遥かに低速度のメモリと、主ストレージとにより
構成されたメモリ階層構造を有するデータ処理システム
において発生する書き込み動作による妨害を顕著に減少
してコンピユータ全体の効率を向上させる。
【図面の簡単な説明】
【図1】本発明に従つたデータ転送及びストレージ技術
を適用するためのデータ処理システムを示すブロツク図
である。
【図2】本発明に従つて、データ・ページが転送され、
ストアされる不揮発性半導体メモリを単純化して示すブ
ロツク図である。
【図3】バツキング・ストレージから不揮発性半導体メ
モリへ転送されるデータを制御するために、本発明に従
つて置換データ・ページ管理サブルーチンの実施例を説
明するための流れ図である。
【図4】バツキング・ストレージから不揮発性半導体メ
モリへ転送されるデータを制御するために、本発明に従
つて置換データ・ページ管理サブルーチンの他の実施例
を説明するための流れ図である。
【符号の説明】
10 データ処理システム 12 中央処理装置(CPU) 14 キヤツシユ 16 バツキング・ストレージ 17 空白アドレス・カウンタ 18 不揮発性半導体メモリ(DASD) 19 デイレクトリ 20 データ・バス 21 キユー・バツフア 30 チツプ 32 メモリのセグメント

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】第1及び第2のストレージ手段と、前記第
    1及び第2のストレージ手段の間に接続されたデータ・
    バスと、前記第2のストレージ手段は読み取りサイクル
    及び書き込みサイクルとで動作し、前記書き込みサイク
    ルは前記読み取りサイクルよりも実質的に長時間を必要
    とすることを含むデータ処理システムにおいて実行され
    る制御方法であつて、前記第1のストレージ手段中のデ
    ータ・ページの各々が前記第2のストレージ手段中に関
    連ホーム・アドレスを有する前記データ・ページのグル
    ープを、前記第1のストレージ手段から前記第2のスト
    レージ手段へ転送する制御方法において、 (a) 前記第2のストレージ手段へ転送するために、前
    記第1のストレージ手段中の少なくとも2つのデータ・
    ページを指定するステツプと、 (b) 時間とは無関係の所定の条件の発生に応じて、デ
    ータ・ページに関連したホーム・アドレスの前記第2の
    ストレージ手段中に前記少なくとも2つのデータ・ペー
    ジを書き込むために、前記データ・バスを介して前記第
    1のストレージ手段から前記第2のストレージ手段へ、
    前記ステツプ(a)において指定された前記少なくとも2
    つのデータ・ページを同時に転送するステツプとからな
    るデータ・ページの制御方法。
  2. 【請求項2】前記ステツプ(b)において転送された前記
    少なくとも2つのデータ・ページの夫々は、関連した特
    別のホーム・アドレスを有しており、更に、前記ステツ
    プ(b)において転送された前記少なくとも2つのデータ
    ・ページを、前記第2のストレージ手段中の、それらの
    データ・ページが関連するホーム・アドレスの位置に、
    同時に書き込むステツプを含む請求項1記載のデータ・
    ページの制御方法。
  3. 【請求項3】前記ステツプ(b)において転送される前記
    少なくとも2つのデータ・ページの関連ホーム・アドレ
    スの位置にある、前記第2のストレージ手段中のすべて
    の情報を同時に消去するステツプを含み、かつ、前記消
    去動作は前記少なくとも2つのデータ・ページの同時書
    き込みの前記ステツプよりも前に発生することを含む請
    求項2記載のデータ・ページの制御方法。
  4. 【請求項4】時間とは無関係の前記所定の状態は、
    「X」を2よりも大きい整数として、前記ステツプ(a)
    において指定された「X」個のデータ・ページと関連
    し、重複したホーム・アドレスを含む請求項2記載のデ
    ータ・ページの制御方法。
  5. 【請求項5】前記第2のストレージ手段は、同時に消去
    され、かつ同時に書き込まれる能力を有する半導体メモ
    リを含むことと、該半導体メモリの各々は、同時に消去
    され、かつ同時に書き込まれる能力を有する複数個のメ
    モリ・セグメントに分離されており、前記データ・ペー
    ジの各関連ホーム・アドレスは前記複数個の半導体メモ
    リの1つの中の特定のメモリ・セグメントを識別するセ
    クタ・アドレスを含むことと、時間とは無関係の前記所
    定の条件は、「M」を3よりも大きい整数として、前記
    複数個の半導体メモリの同じメモリ中の同じメモリ・セ
    グメントに割り当てられている、前記(a)ステツプで指
    定された「M」個のデータ・ページを表示する「M」個
    の重複ホーム・アドレスを含むこととからなる請求項1
    記載のデータ・ページの制御方法。
  6. 【請求項6】ステツプ(a)において指定された各データ
    ・ページを計数するステツプを含み、時間とは無関係の
    前記所定の条件は指定されたデータ・ページの予め決め
    られた数を含む請求項1記載のデータ・ページの制御方
    法。
  7. 【請求項7】前記ステツプ(b)の前に、前記ステツプ(a)
    において指定された前記少なくとも2つのデータ・ペー
    ジをキユー・バツフアの中にストアするステツプを含む
    請求項1記載のデータ・ページの制御方法。
  8. 【請求項8】前記ステツプ(b)に続いて前記キユー・バ
    ツフアからすべてのデータ・ページを消去するステツプ
    を含む請求項7記載のデータ・ページの制御方法。
  9. 【請求項9】前記指定するステツプ(a)は前記第2のス
    トレージ手段から前記第1のストレージ手段へ転送され
    た各新しいデータ・ページのための置換データ・ページ
    を指定することを含み、前記指定するステツプ(a)は前
    記置換データ・ページを指定するための「ごく最近の使
    用」アプローチの標準的な手法を用いることを含む請求
    項1記載のデータ・ページの制御方法。
  10. 【請求項10】前記指定するステツプ(a)は前記第1の
    ストレージ手段中の各指定されたデータ・ページを持つ
    置換フラグと関連させることを含む請求項1記載のデー
    タ・ページの制御方法。
  11. 【請求項11】前記第1のストレージ手段はバツキング
    ・ストレージ及びキヤツシユ・メモリを含む請求項1記
    載のデータ・ページの制御方法。
  12. 【請求項12】前記第1のストレージ中に、空白になつ
    た残りのアドレスの数を監視して、前記第1のストレー
    ジ中に残つた空白アドレスの所定の最小数に到達した時
    に前記指定するステツプ(a)を開始するステツプを含む
    請求項1記載のデータ・ページの制御方法。
  13. 【請求項13】主ストレージ・バツフアから、書き込み
    サイクルが読み取りサイクルよりも実質的に長時間を要
    する第2のストレージ手段へ、指定された複数個のデー
    タ・ブロツクを同時に書き込むための方法において、 (a) 複数個の半導体メモリから、前にストアされた
    「Z」個のデータ・ブロツクを有する前記主ストレージ
    ・バツフアの中に、「N」個のデータ・ブロツクを書き
    込むステツプと、 (b) 前記ステツプ(a)において前記主ストレージ・バツ
    フアの中に書き込まれた前記「N」個のデータ・ブロツ
    クの少なくとも幾つかのデータ・ブロツクの各々のため
    に、前記「Z」個のデータ・ブロツクから置換データ・
    ブロツクを指定するステツプと、 (c) 前記ステツプ(b)に続き、かつ時間とは無関係の前
    記所定の条件が発生した時に、前記ステツプ(b)におい
    て指定された前記主ストレージ・バツフアのデータ・ブ
    ロツクを前記第2のストレージ手段に同時に書き込むス
    テツプとからなるデータ・ブロツクの書き込み方法。
  14. 【請求項14】前記同時書き込みステツプ(c)は時間と
    は無関係の幾つかの条件のうちの1つの条件の発生に続
    いて発生することを含み、時間とは無関係の前記条件の
    うちの前記1つの条件は前記ステツプ(b)において指定
    された所定の数のデータ・ブロツクを含む請求項13記
    載のデータ・ブロツクの書き込み方法。
  15. 【請求項15】時間とは無関係の前記条件の他の条件
    は、「X」を2よりも大きい整数として前記第2のスト
    レージ手段の与えられたストレージ領域と関連した前記
    ステツプ(b)における前記「X」個のデータ・ブロツク
    の少なくとも2個を指定することを含む請求項14記載
    のデータ・ブロツクの書き込み方法。
  16. 【請求項16】前記第2のストレージ手段は複数個の不
    揮発性半導体メモリを含む請求項13記載のデータ・ブ
    ロツクの書き込み方法。
  17. 【請求項17】前記第2のストレージ手段は複数個のア
    ドレス可能なメモリ・セグメントを有する不揮発性半導
    体メモリ・チツプを含む請求項13記載のデータ・ブロ
    ツクの書き込み方法。
  18. 【請求項18】前記同時書き込みのステツプ(c)の前に
    前記第2のストレージ手段中の情報を並列に消去するス
    テツプを含む請求項13記載のデータ・ブロツクの書き
    込み方法。
  19. 【請求項19】前記ステツプ(b)において指定された前
    記主ストレージ・バツフアの前記データ・ブロツクを、
    前記ステツプ(c)の前に、キユー・バツフア中にストア
    するステツプを含む請求項13記載のデータ・ブロツク
    の書き込み方法。
  20. 【請求項20】中央処理装置と、 処理されるデータ・ページをストアするために、前記中
    央処理装置と関連した主ストレージと、 関連したアドレスにおいてデータ・ページをストアする
    ための不揮発性半導体メモリを含み、該不揮発性半導体
    メモリは読み取りサイクルよりも少なくとも10倍以上
    長い書き込みサイクルを有していることと、 前記主ストレージと前記不揮発性半導体メモリとの間を
    接続するデータ・バスと、 前記主ストレージから前記不揮発性半導体メモリへデー
    タ・ページの転送を同時に制御する制御手段とからなる
    データ処理システムにおいて、 前記制御手段は、 前記不揮発性半導体メモリへ同時に転送するために、主
    ストレージ中の少なくとも2つのデータ・ページを指定
    する手段と、 時間とは無関係の所定の条件が生じた時に、前記不揮発
    性半導体メモリの中に書き込むために、前記データ・バ
    スを介して前記主ストレージから前記不揮発性半導体メ
    モリへ、前記指定された少なくとも2つのデータ・ペー
    ジを同時に転送する手段とを含むデータ処理システム。
  21. 【請求項21】時間とは無関係の前記所定の条件は指定
    されたデータ・ページの所定の数を含み、かつ、前記デ
    ータ処理システムは前記主ストレージ中の空白のアドレ
    ス空間の数を追跡するための空白アドレス・カウンタを
    含む請求項20記載のデータ処理システム。
  22. 【請求項22】前記指定する手段は前記データ処理シス
    テムの中で置換フラグをすべてのデータ・ページに事前
    に関連付けることと、前記不揮発性半導体メモリへ転送
    するための前記主ストレージ中の対応するデータ・ペー
    ジの識別を与えるために、対応する置換フラグを活性化
    する手段を含む請求項20記載のデータ処理システム。
  23. 【請求項23】前記主ストレージはバツキング・ストレ
    ージ及びキヤツシユを含む2レベルの階層メモリを含む
    請求項20記載のデータ処理システム。
  24. 【請求項24】キユー・バツフアを含み、かつ、前記指
    定する手段は、前記所定の条件が生じた時に前記不揮発
    性半導体メモリへの転送を待つために、前記キユー・バ
    ツフア中の前記指定された少なくとも2つのデータ・ペ
    ージの各々をストアする手段を含む請求項20記載のデ
    ータ処理システム。
  25. 【請求項25】前記所定の条件は、「X」を2よりも大
    きい整数として、前記主ストレージから前記不揮発性半
    導体メモリへ転送するために指定された前記少なくとも
    2つのデータ・ページの「X」個のデータ・ページに関
    連した重複アドレスを含む請求項20記載のデータ処理
    システム。
  26. 【請求項26】前記転送する手段は前記指定された少な
    くとも2つのデータ・ページを前記不揮発性半導体メモ
    リ中に同時に書き込む手段を含む請求項20記載のデー
    タ処理システム。
  27. 【請求項27】読み取りサイクルよりも書き込みサイク
    ルの方が少なくとも10倍以上長い時間を要する不揮発
    性ストレージ手段と、揮発性ストレージ手段と、前記不
    揮発性ストレージ手段と前記揮発性手段との間でデータ
    ・ページを転送する手段とを含むデータ処理システム中
    のデータ・ページの転送方法において、 前記不揮発性ストレージ手段から前記揮発性ストレージ
    手段に「X」個のデータ・ページを転送するステツプを
    含み、前記「X」個のデータ・ページは前記不揮発性ス
    トレージ手段中にホーム・アドレスを有することと、 前記不揮発性ストレージ手段から前記揮発性ストレージ
    手段へ一度に「N」個のデータ・ページを転送するステ
    ツプを含み、夫々のデータ・ページは前記不揮発性スト
    レージ手段中にホーム・アドレスを有し、かつ、前記揮
    発性ストレージ手段から前記不揮発性ストレージ手段へ
    「X」−(「N」−1)個のデータ・ページの転送を指
    定するステツプと、 (a)前記揮発性ストレージ手段が「X」+「N」個のデ
    ータ・ページをストアする時か、または(b)少なくとも
    「X」−(「N」−1)個のデータ・ページのうちの2
    つのデータ・ページが同じホーム・アドレスを持つてい
    る時に、前記揮発性ストレージ手段から、グループとし
    て前記「X」個のうちのデータ・ページの前記「X」−
    (「N」−1)個のデータ・ページを転送するステツプ
    とからなるデータ・ページの転送方法。
JP6057085A 1993-04-14 1994-03-28 データ・ページの転送制御方法 Expired - Lifetime JP2784440B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4840993A 1993-04-14 1993-04-14
US048409 1993-04-14

Publications (2)

Publication Number Publication Date
JPH06309224A true JPH06309224A (ja) 1994-11-04
JP2784440B2 JP2784440B2 (ja) 1998-08-06

Family

ID=21954413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6057085A Expired - Lifetime JP2784440B2 (ja) 1993-04-14 1994-03-28 データ・ページの転送制御方法

Country Status (2)

Country Link
US (1) US5594883A (ja)
JP (1) JP2784440B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2784683A1 (en) 2013-03-28 2014-10-01 Fujitsu Limited Storage control program, storage control method, storage system and hierarchy control apparatus thereof

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US6898680B2 (en) * 2003-01-03 2005-05-24 Micrel, Incorporated Minimization of overhead of non-volatile memory operation
US7475186B2 (en) * 2003-10-31 2009-01-06 Superspeed Software System and method for persistent RAM disk
JP4550479B2 (ja) * 2004-04-30 2010-09-22 ルネサスエレクトロニクス株式会社 電子制御装置及びデータ調整方法
DE102004055933A1 (de) * 2004-11-19 2006-05-24 Patent-Treuhand-Gesellschaft für elektrische Glühlampen mbH Verfahren zur Vergabe von Kurzadressen in Beleuchtungsanlagen
US7757052B2 (en) * 2005-01-05 2010-07-13 International Business Machines Corporation Apparatus, system, and method for optimizing recall of logical volumes in a virtual tape server
GB0505926D0 (en) * 2005-03-23 2005-04-27 Ibm Data processing system and method
WO2008070813A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a front-end, distributed raid
US8161353B2 (en) * 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US8316277B2 (en) * 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
WO2011031796A2 (en) 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
EP2476079A4 (en) 2009-09-09 2013-07-03 Fusion Io Inc APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
WO2012016089A2 (en) 2010-07-28 2012-02-02 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
CN103262054B (zh) 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、***和方法
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US20120239860A1 (en) 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
WO2012100087A2 (en) 2011-01-19 2012-07-26 Fusion-Io, Inc. Apparatus, system, and method for managing out-of-service conditions
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US8966191B2 (en) 2011-03-18 2015-02-24 Fusion-Io, Inc. Logical interface for contextual storage
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9858084B2 (en) 2013-03-15 2018-01-02 Bitmicro Networks, Inc. Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63271678A (ja) * 1987-04-30 1988-11-09 Toshiba Corp デ−タ書込み方式
JPH03252993A (ja) * 1990-03-01 1991-11-12 Fuji Electric Co Ltd E↑2promの情報書込み装置
JPH0528039A (ja) * 1991-07-22 1993-02-05 Melco:Kk 記憶装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295205A (en) * 1978-10-16 1981-10-13 Kunstadt George H Solid state mass memory system compatible with rotating disc memory equipment
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US4394732A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem trickle
JPS57132256A (en) * 1981-02-09 1982-08-16 Sony Corp Memory device
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
NL8304186A (nl) * 1983-12-06 1985-07-01 Philips Nv Geintegreerde processor voor het verwerken van woordsgewijze ontvangbare informatie.
US4896262A (en) * 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
US4727512A (en) * 1984-12-06 1988-02-23 Computer Design & Applications, Inc. Interface adaptor emulating magnetic tape drive
EP0203601B1 (en) * 1985-05-29 1992-08-05 Kabushiki Kaisha Toshiba Cache system adopting an lru system, and magnetic disk controller incorporating it
US4958315A (en) * 1985-07-02 1990-09-18 The United States Of America As Represented By The Secretary Of The Navy Solid state electronic emulator of a multiple track motor driven rotating magnetic memory
US4887236A (en) * 1987-05-29 1989-12-12 Raytheon Company Non-volatile, radiation-hard, random-access memory
US4956803A (en) * 1987-07-02 1990-09-11 International Business Machines Corporation Sequentially processing data in a cached data storage system
US5321845A (en) * 1987-09-09 1994-06-14 Hitachi, Ltd. Single-chip microcomputer including non-volatile memory elements
US4890259A (en) * 1988-07-13 1989-12-26 Information Storage Devices High density integrated circuit analog signal recording and playback system
US5253351A (en) * 1988-08-11 1993-10-12 Hitachi, Ltd. Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values
JPH0664838B2 (ja) * 1988-09-02 1994-08-22 松下電器産業株式会社 光デイスクファイル装置
US5142627A (en) * 1988-11-17 1992-08-25 Unisys Corporation FIP-compliant block multiplexor channel interface operational method for cache/disk subsystem
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5093809A (en) * 1989-04-21 1992-03-03 Siemens Aktiengesellschaft Static memory having pipeline registers
US5033027A (en) * 1990-01-19 1991-07-16 Dallas Semiconductor Corporation Serial DRAM controller with multi generation interface
US5146576A (en) * 1990-08-31 1992-09-08 International Business Machines Corporation Managing high speed slow access channel to slow speed cyclic system data transfer
US5206939A (en) * 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
US5276835A (en) * 1990-12-14 1994-01-04 International Business Machines Corporation Non-blocking serialization for caching data in a shared cache
CA2105085A1 (en) * 1991-03-05 1992-09-06 Marvin Lautzenheiser Cache memory system and method of operating the cache memory system
US5293609A (en) * 1991-04-19 1994-03-08 International Business Machines Corporation Hit-density-based replacement for data cache with prefetching
US5394532A (en) * 1992-04-15 1995-02-28 Storage Technology Corporation Disk drive array memory system having instant format capability

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63271678A (ja) * 1987-04-30 1988-11-09 Toshiba Corp デ−タ書込み方式
JPH03252993A (ja) * 1990-03-01 1991-11-12 Fuji Electric Co Ltd E↑2promの情報書込み装置
JPH0528039A (ja) * 1991-07-22 1993-02-05 Melco:Kk 記憶装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2784683A1 (en) 2013-03-28 2014-10-01 Fujitsu Limited Storage control program, storage control method, storage system and hierarchy control apparatus thereof
US9342456B2 (en) 2013-03-28 2016-05-17 Fujitsu Limited Storage control program for hierarchy relocation control, storage system with hierarchy relocation control and hierarchy control apparatus thereof

Also Published As

Publication number Publication date
US5594883A (en) 1997-01-14
JP2784440B2 (ja) 1998-08-06

Similar Documents

Publication Publication Date Title
JPH06309224A (ja) データ・ページの制御方法及びデータ処理システム
EP0130349B1 (en) A method for the replacement of blocks of information and its use in a data processing system
US6948033B2 (en) Control method of the cache hierarchy
US5813031A (en) Caching tag for a large scale cache computer memory system
US6470436B1 (en) Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory
US5983312A (en) Simultaneously writing to and erasing two commonly numbered sectors
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
JP3505093B2 (ja) ファイル管理システム
KR100373313B1 (ko) 캐시 메모리를 관리하는 방법 및 시스템
KR101391270B1 (ko) Mram을 이용하는 비휘발성 메모리 시스템
JP3044005B2 (ja) データ格納制御方式
US7165160B2 (en) Computing system with memory mirroring and snapshot reliability
JP3485598B2 (ja) ファイルの配置方法、データ多重化方法及びデータ処理システム
JPH0371227A (ja) ソーテイング方法
US4594690A (en) Digital storage apparatus including sections exhibiting different access speeds
JPH0863394A (ja) 記憶装置システムおよび記憶装置の制御方法
JP2003216506A (ja) フラッシュメモリを搭載した記憶装置及び計算機
JPH01303547A (ja) 情報記憶制御システム
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
US5933839A (en) Distributed file system for renewing data with high integrity
JPH05258585A (ja) ファイル装置
JPH0644139A (ja) ディスクキャッシュシステムおよびそのページ置き換え制御方法
JPH06110759A (ja) ファイルシステム
JP3125634B2 (ja) 電子計算機システム
KR101744401B1 (ko) 컴퓨팅 장치의 시스템 상태 저장, 복원방법 및 이를 위한 컴퓨팅 장치