JP2009294982A - ディスク装置及びその制御方法 - Google Patents

ディスク装置及びその制御方法 Download PDF

Info

Publication number
JP2009294982A
JP2009294982A JP2008149037A JP2008149037A JP2009294982A JP 2009294982 A JP2009294982 A JP 2009294982A JP 2008149037 A JP2008149037 A JP 2008149037A JP 2008149037 A JP2008149037 A JP 2008149037A JP 2009294982 A JP2009294982 A JP 2009294982A
Authority
JP
Japan
Prior art keywords
lba
area
data
nonvolatile memory
disk
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
JP2008149037A
Other languages
English (en)
Other versions
JP5374075B2 (ja
Inventor
Yukie Hiratsuka
幸恵 平塚
Hideki Saga
秀樹 嵯峨
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.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Priority to JP2008149037A priority Critical patent/JP5374075B2/ja
Priority to US12/479,460 priority patent/US8117489B2/en
Publication of JP2009294982A publication Critical patent/JP2009294982A/ja
Application granted granted Critical
Publication of JP5374075B2 publication Critical patent/JP5374075B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Abstract

【課題】書き換え回数に制限のある不揮発メモリを含むディスク装置において、不揮発メモリの交替領域を使い果たした後も不揮発メモリを効率的に使用する。
【解決手段】本発明は、書き換え回数に制限のある不揮発メモリ、ディスク、及び不揮発メモリの論理アドレス(LBA:Logical Block Address)と物理アドレスとの対応関係を管理するメモリ管理テーブルを含む制御部を有する。制御部は、不揮発メモリにデータを書き込むべきLBAに対応する物理アドレスの領域の不良発生に応答して、データを書き込むべきLBAとは異なる不揮発メモリのLBAに対応する物理アドレスにデータを書き込み、メモリ管理テーブルにおいて、データを書き込んだ物理アドレスをデータを書き込むべきLBAに対応付ける。
【選択図】図4

Description

本発明はディスク装置及びその制御方法に係り、特に大容量の半導体不揮発メモリを実装したディスク装置に関する。
データ転送速度が速くかつ低消費電力の半導体不揮発メモリ(以下、単に不揮発メモリと呼ぶ。)をディスク装置の中に実装し、ディスクと不揮発メモリのそれぞれの特性を生かしたデータ処理により、データ転送速度と省電力効果の向上を図るディスク装置の開発が進められている。
たとえば、オペレーティングシステムなどの計算機(ホスト)の起動プログラムや使用頻度の高いアプリケーションプログラムを不揮発メモリに記憶しておくことで、ホストへのデータ転送速度を向上させ、起動時間の短縮を図っている。また、ディスクへのアクセスがない時には、ディスクをスピンダウンし、スピンダウン中はライトデータを不揮発メモリにバッファリング、あるいはリードデータを不揮発メモリから転送することで省電力化を図っている。上記のようなディスク装置は、特許文献1に記載されている。
上記のようなディスク装置の不揮発メモリには主にビットコストの低いフラッシュメモリが使われている。フラッシュメモリは、ランダムアクセス性能が高くまた消費電力が少ないが、書き換え回数制限を持つため、データの書き換え頻度の高いアプリケーションでフラッシュメモリを使用すると、長期の使用に耐えられないという問題がある。そのため、フラッシュメモリでは、特定の物理ブロックに書き換えが集中しないよう制御したり、不良が生じたブロックを予備のブロックに置き換えるなどしたりして耐久性の強化を図っている。フラッシュメモリにおける書き換え均一化のための制御方法は、特許文献2、3、4に記載されている。
US20070162693 特開2003−203016 特開2005−122529 特開2006−018893
フラッシュメモリでは、上記のように書き換え回数の均一化や、書き換え回数に達したブロックを予備のブロックに置き換えるなどの処理を行っているが、予備のブロックを使い果たして所定の容量が使用できなくなるとメモリ全体が使用できなくなるという問題がある。そのためフラッシュメモリを実装したディスク装置では、フラッシュメモリが使用できなくなることにより、データ転送速度や省電力効果が急激に低下する。
上記問題点を考慮して本発明が解決しようとする課題は、書き換え回数に制限のある不揮発メモリを含むディスク装置において、不揮発メモリの交替領域を使い果たしても、不揮発メモリを効率的に継続使用可能にすることである。
本発明のディスク装置及びその制御方法は、不揮発メモリに交替領域がない状態(交替領域を使い果たした状態)における、次のような構成である。書き換え回数に制限のある不揮発メモリ、ディスク、及び不揮発メモリの論理アドレス(LBA:Logical Block Address)と物理アドレスとの対応関係を管理するメモリ管理テーブルを含む制御部を有する。制御部は、不揮発メモリ上のデータを書き込むべきLBAに対応する物理アドレスの領域の不良発生に応答して、データを書き込むべきLBAとは異なる不揮発メモリのLBAに対応する物理アドレスにデータを書き込み、メモリ管理テーブルにおいて上記書き込むべきLBAと上記データを書き込んだ物理アドレスを対応付ける。
本発明の望ましい他の態様は、次のとおりである。ディスクは不揮発メモリの交替領域と不揮発メモリに割り当てられたLBAと連続するLBAの記憶領域とを有する。制御部は、ディスクの記憶領域のLBAに連続するLBAをデータを書き込むべきLBAとは異なる不揮発メモリのLBAに選定し、不揮発メモリにデータを書き込むべきLBAに対応する物理アドレスの領域の不良発生に応答して、上記選定したLBAに対応するディスクの物理アドレス(交替領域)に上記選定した、ディスクの記憶領域のLBAに連続するLBAに対応する不揮発メモリ上の物理アドレスに格納されていたデータを書き込み、上記ディスクの記憶領域のLBAに連続するLBAへのアクセスを上記交替領域のLBAへのアクセスに変換するとともに、上記ディスクの記憶領域のLBAに連続するLBAに対応する不揮発メモリ上の物理アドレスに不良領域に書き込もうとしていたデータを書き込み、メモリ管理テーブルにおいて、データを書き込むべきLBAとデータを書き込んだ上記物理アドレスを対応付ける。
本発明の望ましいさらに他の態様は、次のとおりである。ディスクは、該ディスクに接続するホストシステムの起動プログラムを格納し、不揮発メモリは起動プログラムのコピーを予め格納し、不揮発メモリに格納されている起動プログラムへの、ホストシステムからのアクセス順序を設定しておく。制御部は、データを書き込むべきLBAとは異なる不揮発メモリのLBAとして、アクセス順序を参照して、不揮発メモリの格納されている起動プログラムのうちで最も遅いアクセス順序に対応するLBAを選定する。
本発明の望ましいさらに他の態様は、次のとおりである。制御部は、データを書き込むべきLBAとは異なる不揮発メモリのLBAとして、不揮発メモリの領域に予め設定された優先度を参照して、優先度の低い領域に含まれる領域に対応するLBAを選定する。
本発明の望ましいさらに他の態様は、次のとおりである。不揮発メモリに、ホストシステムからの指示がないと無効にできないデータを格納する領域と、ホストシステムからの指示がなくても無効にできるデータを格納する領域とを設け、制御部は、データを書き込むべきLBAとは異なる不揮発メモリのLBAとして、ホストシステムからの指示がなくても無効にできるデータを格納する領域に含まれる領域に対応するLBAを選定する。
本発明によれば、書き換え回数に制限のある不揮発メモリを含むディスク装置において、不揮発メモリの交替領域を使い果たしても、不揮発メモリを効率的に使用継続できる。
本発明の実施の形態は、書き換え回数に制限のある不揮発メモリとディスクを有するディスク装置とその制御方法である。不揮発メモリの論理アドレス(LBA:Logical Block Address)と物理アドレスとの対応関係を管理するメモリ管理テーブルを有する。不揮発メモリ内に交替領域がない状態(交替領域を使い果たした状態)において、データを書き込むべきLBAに対応する物理アドレスに不良領域が発生した場合に、ディスク装置は次のように動作する。データを書き込むべきLBAとは異なる不揮発メモリのLBAに対応する物理アドレスにデータを書き込む。このようにすることで、不良領域が発生したことにより無効となる領域が制御可能となり、不揮発メモリを効率よく使用可能となる。
ディスクと不揮発メモリで1つの連続した論理空間を構成し不揮発メモリの交替領域をディスク上に設ける場合において、ディスクの論理空間に連続するLBAから順に不揮発メモリの領域をディスク上の交替領域に交替する実施例1、ディスクの一部領域のコピーを不揮発メモリに格納し、上記格納したデータにアクセス順序がある場合は、アクセス順序の遅いデータから順にディスクへのアクセスに切り換える実施例2、不揮発メモリの領域に予め優先度が設定してある場合には、優先度の低い領域を優先して無効にする実施例3、及びホストからの指示が無ければデータを取り除けない領域と、指示が無くてもデータを取り除ける領域とを不揮発メモリに設けてある場合は、ホストからの指示が無くてもデータを取り除ける領域を優先して無効にする実施例4について以下説明する。
図1は実施例1に係るディスク装置の構成例を示す図である。本実施例のディスク装置(100)は、書き換え回数に制限のある不揮発メモリ(101)、及び不揮発メモリの交替領域を内部にもつディスク(102)を含む記憶部(103)と、不揮発メモリ(101)のデータを管理するメモリアドレス管理テーブル(104)、及び不揮発メモリ(101)とディスク(102)とのLBA(Logical Block Address)空間を管理するメモリ・ディスク論理アドレス空間管理テーブル(105)を含む制御部(106)を有する。
図2に、ディスク装置(100)で構成される論理アドレス空間の例を示す。図2では、0から論理アドレス(N−1)までを不揮発メモリ(101)に割り当て、論理アドレスNから最大アドレス(ディスク容量によって決定される最大アドレス)までをディスク(102)に割り当てている。
図3に、本実施例におけるディスク装置(100)の制御部(106)が実行する交替処理のフローを示す。図3の処理フローは、不揮発メモリ(101)内にあらかじめ設定されている交替領域を使い果たしてしまった後に、さらに不良領域が発生した場合の交替処理を示している。
制御部(106)は、不揮発メモリ(101)に不良領域が発生すると(ステップ300)、ディスク(102)の論理アドレス空間に連続する不揮発メモリ上の論理アドレスを交替候補として選定する(ステップ305)。
図4に、交替処理時の動作例を示す。図4では、LBAが0から(N−1)を不揮発メモリ(101)のアドレス空間として、LBAのNから最大アドレスまでをディスク(102)上の論理空間として割り当てている。図4の例では、ディスク(102)上の論理アドレス0からNの空間を不揮発メモリ(101)の交替用領域(401)として確保している。なお、不揮発メモリ(101)では、領域ごとに論理アドレスと物理アドレスが対応付けられている。
図4の例では、不揮発メモリ(101)に不良領域が発生すると、本実施例の交替処理では、ディスク(102)の論理アドレス空間(N〜)に連続する不揮発メモリ(101)の論理アドレス(N−1)(402)を交替候補として選定する。
図3のフローに戻り、選定した交替候補(402)をディスク(102)上の交替領域に交替する(ステップ310)。
次に選定した交替候補の不揮発メモリ上の物理アドレスに不良の発生した領域に書き込もうとしていたデータを書き込む(ステップ313)。最後に、交替後の処理として、不良領域の論理アドレスと交替した上記領域の物理アドレスを対応付ける(ステップ315)。
図4の例では、不良の発生した領域は、論理アドレス1(403)である。ディスク上の論理空間に連続するメモリ上のアドレスである(N−1)(402)を交替領域の候補として選定し、この論理アドレス(N−1)(402)を、ディスク(102)上のアドレスNと連続する交替用領域の(N-1)(404)に交替する。すなわち、不揮発メモリ上の論理アドレスN-1に対応する物理アドレスにあるデータをディスク上の論理アドレスN-1に対応する物理アドレスに移動する。次に不良の発生した領域に書き込もうとしたデータを交替領域として選定した論理アドレスN-1対応する不揮発メモリ上の物理アドレスに書き込み、最後に、交替領域として選定した論理アドレスの(N−1)(402)に対応する不揮発メモリの上の物理アドレス(405)を不良が発生した領域の論理アドレス1(403)に対応付ける。結果として、不良の発生した領域のデータは不揮発メモリに継続して残り、ディスク上の論理空間に連続する領域のデータがディスク上の交替領域に交替される。
図3の処理フローに戻り、メモリアドレス管理テーブル(104)において、交替したアドレスの交替ビットを1に設定する(ステップ320)。図5に、メモリアドレス管理テーブル(104)の構成例を示す。メモリアドレス管理テーブル(104)は、不揮発メモリに記憶されたデータのLBA(500)、物理アドレス(505)、交替処理発生の有無を示す交替ビット(510)より成る。
図3のフローに戻り、不揮発メモリ(101)とディスク(102)の領域の範囲とサイズを変更する(ステップ330)。
図6に不揮発メモリ(101)とディスク(102)の論理アドレス空間を管理する、メモリ・ディスク論理アドレス空間管理テーブル(105)の構成例を示す。メモリ・ディスク論理アドレス空間管理テーブル(105)は、不揮発メモリ(101)とディスク(102)の領域の開始アドレスと最終アドレスを記憶する領域範囲(600)と、それぞれのメディアの論理空間のサイズを記憶する空間サイズ(605)より成る。本実施例のディスク装置(100)は、図3に示した一連の交替処理を終了すると不揮発メモリ(101)、ディスク(102)それぞれの領域の範囲(開始アドレスと最終アドレス)、及びそれらの領域のサイズを修正する。
書き換え回数に制限のある不揮発メモリを備えたディスク装置においては、内部の不揮発メモリには、ディスク装置への電源投入後すぐにアクセスできるが、スピンアップに時間がかかるためディスクにはしばらくの間(数秒程度)アクセスすることができない。また、不揮発メモリは、ランダムな読み出し速度が速いという特性がある。起動プログラムは比較的ランダムアクセスが発生しやすいため、ホストを短時間で起動するために、起動プログラムを不揮発メモリに格納しておくという不揮発メモリの使用方法がある。不揮発メモリの起動プログラムを格納した領域以外の領域は起動後、ホストによってリードアクセス頻度の高いデータの領域などとして使用される。なお、起動プログラムは、ホストのOS(オペレーティングシステム)に限らず、OSの立ち上げに引き続き実行するように設定してあるアプリケーションプログラムなどを含む。
図7は実施例2に係るディスク装置(700)の構成例を示す図である。本実施例のディスク装置(700)は、書き換え回数に制限のある不揮発メモリ(701)及びディスク(702)を含む記憶部(703)、不揮発メモリ(701)上のデータのアクセス順序を管理するアクセス順序管理テーブル(704)を備えた制御部(705)を有する。本実施例のディスク装置(700)では、ディスク(702)上に記憶されたシステム(ホスト)の起動プログラムを不揮発メモリ(701)にコピーして記憶してある。したがって、不揮発メモリ(701)上のデータは起動プログラムであり、そのアクセス順序は、ホストが起動プログラムをロードする順序である。
図8に不揮発メモリ(701)上に記憶されたシステムの起動プログラムのアクセス順序を記憶したアクセス順序管理テーブル(704)の例を示す。アクセス順序管理テーブル(704)は、LBA(805)に対応して、不揮発メモリの物理アドレス(810)、領域のサイズ(815)、起動時のアクセス順序(820)、及び領域が無効であることを示す無効フラグ(825)の項目を有する。たとえば、アクセス順序管理テーブル(704)の最初のエントリーは、LBAが0x10000001を先頭アドレスとし、その物理アドレスが0x01ffの128セクタの領域が、起動時に1番目にアクセスされることを示している。図8に示すアクセス順序管理テーブル(704)では、最後のエントリーに示すLBAが0x34400224を先頭とする領域を起動時の最後に(162番目に)アクセスするものとする。
したがって、図8に示すアクセス順が1番目や2番目の物理領域が、不揮発メモリ(701)上に無い(ディスク(702)上にある)と、ディスク(702)のスピンアップが完了するまでアクセスを待たなければならず、起動時間が長くなり、起動プログラムを不揮発メモリ(701)に格納しておき、起動時間を短くする意図に反することになる。
図9に不揮発メモリ(701)にホスト起動時のプログラムを記憶する場合において、起動プログラムを書き込んでいる一部の領域に不良領域が発生した場合の制御部(705)の処理フローを示す。
不揮発メモリでは、書き換え耐性を高めるために、不揮発メモリの書き換え単位となるブロックごとの書き換え回数が均一化するようにデータの再配置を行っている。この制御をウエアレベリングという。起動プログラムは一般に更新されることはないが、不揮発メモリの一部をディスクからのデータをキャッシュするための領域やライトデータをバッファリングするための領域として使用している場合、ウエアレベリングの処理により、起動プログラムが書き換え頻度の高い他の領域に書き込まれる場合が生じる。その際、書き込み先の領域において不良領域が発生する場合が起こりうる。
なお、図9の処理フローは不揮発メモリ(701)内にあらかじめ設定されている交替領域を使い果たしてしまった後に不良領域が発生した場合の処理を示している。
本実施例のディスク装置(700)は、不揮発メモリ(701)上で不良領域が発生すると(ステップ900)、不揮発メモリ(701)に記憶されたシステム起動用のプログラムのうちで、起動時のアクセス順が最も遅い領域を選定する(ステップ905))。
図8のアクセス順序管理テーブル(704)では、LBAが0x34400224を先頭とする領域を起動時の最後に(162番目に)アクセスするものとしているので、この領域を選定する。
選定した領域の物理アドレスに、不良領域に書き込もうとしていたデータを書き込み(ステップ910)、上記選定した領域の物理アドレスを不良領域の論理アドレスに対応付ける(ステップ915)。アクセス順序管理テーブル(704)において、選定した領域の無効フラグ(825)に1を設定する(ステップ920)。無効フラグに1が設定された領域が次にアクセスされるとき(次にホストを起動するとき)、不揮発メモリ(701)へのアクセスではなく、ディスク(702)へのアクセスに替えられる。
本実施例のディスク装置(700)は、不揮発メモリ(701)に不良領域が発生すると、アクセス順序管理テーブル(704)の無効フラグ(825)が0の領域の中から起動時のアクセス順がもっとも遅い領域から順に、不良領域に替えて使用する。選定した領域のサイズが不良領域のサイズより大きい場合は、アクセス順序管理テーブル(704)に登録されているサイズから、不良領域のサイズを差し引き、残りのサイズを新たに該当領域のサイズとして登録する。その際、無効フラグに1を設定しない。たとえば、不良領域のサイズが32セクタであり、選定した領域をアクセス順序管理テーブル(704)の、LBAが0x34400224を先頭とする領域とする。この場合、LBAが0x34400224を先頭とする領域のサイズは256セクタであるので、アクセス順序管理テーブル(704)のサイズ(810)を224セクタに書換え、無効フラグを0のままにする。
また、選定した領域のサイズが不良領域のサイズより小さい場合は、選定した領域のサイズ分の不良領域を選定した領域に対応付け、選定した領域の無効フラグを1とする。さらに選定した領域の次に遅いアクセス順となる領域を新たに選定し、新たに選定した領域を対象に、不良領域の残りの領域を対応付ける。
本実施例によれば、不揮発メモリの予め決定されたアクセス順が遅い領域から順に、不良領域に替えて使用するので、予め決定されたアクセス順のアクセスへの影響を最小限に留めることができる。特に、予め決定されたアクセス順でアクセスされる起動プログラムによるホストの起動が、ディスクのスピンアップ時間に影響されることが少ない。
図10は、第3実施例に係るディスク装置の構成例を示す図である。本実施例に係るディスク装置(1000)は、書き換え回数に制限のある不揮発メモリ(1001)及びディスク(1002)を含む記憶部(1003)、不揮発メモリ(1001)上のデータのアドレスを管理するメモリ領域管理テーブル(1004)を備えた制御部(1005)を有する。
本実施例のディスク装置(1000)は、不揮発メモリ(1001)にディスク(1002)上のデータを記憶するキャッシュ用領域とホスト(1006)より転送されたライトデータを記憶するバッファ用領域を持つ。図11に不揮発メモリ上の領域を管理するメモリ領域管理テーブル(1004)の例を示す。メモリ領域管理テーブル(1004)は、領域の種類(1110)、領域の範囲(開始アドレスと最終アドレス)(1115)、領域のサイズ(1120)の項目を有する。図11では、バッファ用領域及びキャッシュ用領域の各々が論理アドレスで表される連続した一つの領域(開始アドレスと最終アドレスの組が一つ)として示しているが、バッファ用領域及びキャッシュ用領域の各々は、分割された複数の領域に跨っても良い。本実施例のディスク装置(1000)は不良領域に対する処理に応じて、処理した領域のサイズに合わせ、メモリ領域管理テーブル(1004)のバッファ及びキャッシュ用領域の開始アドレス・終了アドレス(1115)及びサイズ(1120)を修正する。
図12に、本実施例のディスク装置(1000)の不揮発メモリ(1001)をライトデータのバッファ用領域とディスク(1002)上のデータのキャッシュ用領域として用いている状況で、不良領域が発生した場合の制御部(1005)による処理フローを示す。また、図12の処理フローは不揮発メモリ(1001)内にあらかじめ設定されている交替領域を使い果たしてしまった後に不良領域が発生した場合を示している。なお、キャッシュ用領域には、例えば起動時のプログラムや、アクセス頻度の高いアプリケーションプログラムなどを記憶する。
本実施例のディスク装置(1000)は不良領域が発生すると(ステップ1200)、その不良領域に対処するためにライトデータのバッファ用領域を選定する(ステップ1205)。例えば、論理アドレスの大きい順にライトデータのバッファ用の領域を選定する。選定した領域の物理アドレスに不良領域に書き込もうとしていたデータを書き込む(ステップ1210)。ただし、ライトデータのバッファ用領域上の領域を選定する場合には、ディスク(1002)に書き込まれていないライトデータ(デステージされていないライトデータ)が記憶されていない領域を選ぶ。ライトデータ用のバッファ領域が、デステージされていないライトデータでいっぱいの場合には、ライトデータをディスクに書き込んだ後、ディスクに書き込まれたライトデータが記憶されていた領域を選定する。
次に、選定した領域の物理アドレスを不良領域の論理アドレスに対応付ける(ステップ1215)。図13に、本実施例のディスク装置(1000)の不揮発メモリ(1001)にライトデータのバッファ用領域(1301)とディスク(1002)上のデータをコピーするキャッシュ用領域(1302)を設けた場合の動作例を示す。図13の例では、不良領域(1306)がキャッシュ用の領域で発生している(1303)。そのため、ライト用のバッファ領域の領域を選定し(1304)、選定した領域の物理アドレス(1305)に、不良が生じた領域に書き込もうとしたデータを書き込み(ステップ1210)、その領域の物理アドレス(1305)と不良領域の論理アドレス(1303)を対応付ける(ステップ1215)。次に、ライトデータのバッファ用領域のアドレス範囲及びサイズを選定した領域のサイズに合わせて修正する(ステップ1220)。
ホストへのリードデータのデータ転送速度を優先してライト用のバッファ領域から不良発生に対処する領域を選定する場合について説明したが、省電力化を優先してキャッシュ用領域から不良発生に対処する領域を選定してもよい。データ転送速度と省電力の優先度は、あらかじめディスク装置に設定しておいてもよいし、ホストあるいはユーザによって決められるようにしてもよい。
図14にデータ転送速度と省電力の優先度をユーザにより決定するためのユーザインタフェース画面の例を示す。各ユーザは、ホストのユーザインタフェースを使用して優先度を決定する。データ転送速度及び省電力のそれぞれに関して設定項目の優先度をプルダウンメニュー(1401、1402)により選択する。各設定事項の優先度を同じにした場合は、設定ミスの注意を促すポップアップウィンドウを表示する。
図15に、図14の設定画面によるユーザの設定を記憶するための優先度管理テーブルの構成例を示す。優先度管理テーブルは、領域の種類と、領域ごとの優先度を示す項目より成る。優先度管理テーブルには、図14の優先度設定画面でユーザが設定した優先度を、キャッシュ用領域及びバッファ用領域の優先度に変換して記録する。図14の例では、データ転送速度の優先度はキャッシュ領域の優先度に、また省電力の優先度はバッファ領域の優先度に変換して記憶している。
図15のテーブルの値(優先度)は、ホスト(1006)からディスク装置(1000)にパラメータを設定するコマンドインタフェースを設け、そのイタンフェースを使ってディスク装置(1000)に設定する。例えば、AT Attachment(アメリカ規格協会によって標準化されたIntegrated Drive Electronicsの正式な規格)のコマンドではディスク装置(1000)のパラメータを設定するコマンドとして、Set Features Commandがある。例えば、このコマンドを拡張することにより、不揮発メモリ上の領域の優先度を設定する。
本実施例によれば、不揮発メモリにディスク上のデータを記憶するキャッシュ用領域とホストより転送されたライトデータを記憶するバッファ用領域を持ち、領域に対応して設定されている低い優先度の領域を、不良領域に替えて使用するので、優先度の高い領域への影響を最小限に留めることができる。
図16は本実施例に係るディスク装置の構成例を示す図である。ディスク装置(1600)は、書き換え回数に制限のある不揮発メモリ(1601)及びディスク(1602)を含む記憶部(1603)、不揮発メモリ上のデータを管理するメモリデータ管理テーブル(1604)を備えた制御部(1605)を有する。本実施例のディスク装置(1600)は、不揮発メモリ(1601)にディスク(1602)の一部領域のデータをコピーして記憶している。
図18に不揮発メモリにホスト(1606)の指示がないと不揮発メモリ(1601)から取り除けないデータと、ホスト(1606)からの指示がなくても不揮発メモリ(1601)から取り除くことができるデータを管理するメモリデータ管理テーブル(1604)の構成例を示す。メモリアドレス管理テーブル(1604)は、LBA(1810)、不揮発メモリ上の物理アドレス(1815)、データのサイズ(1820)、ホスト(1606)以外からの指示によるデータの除去の可否を示すフラグ(1825)、領域が無効であることを示す無効フラグ(1830)の項目を有する。
図19に、AT Attachment 8 - ATA/ATAPI Command Set(ATA8-ACS)における、フラッシュメモリ上にホストからの指示がないと取り除けないデータを書き込むためのコマンド、ADD LBA(S) TO NV CACHE PINNED SETの構成を示す。ATA8-ACSのコマンドは、Command(1905)、Device(1910)、LBA(1915)、Count(1920)、Feature(1925)より構成される。
ADD LBA(S) TO NV CACHE PINNED SETでは、Command(1905)にはフラッシュキャッシュコマンドを示すB6hを、Device(1910)には、デバイスの状態を示すビットを、LBA(1915)には、キャッシュに転送するデータがホストからのライトデータか、あるいは、ディスクから読み出したデータかを示すためのビットを、またCount(1920)にはキャッシュに転送するデータのセクタ数を、Feature(1925)にはNV Cache Commandsの種別を示すコードを設定する。
ATA8-ACSでは、上記のコマンドを用いてホストからの指示がないと取り除けないデータを不揮発メモリ上に転送することができる。
上記のように、ADD LBA(S) TO NV CACHE PINNED SETを用いて不揮発メモリ(1601)上にホスト(1606)からの指示がないと取り除けないデータを記憶することができるが、不揮発メモリ(1601)には、ディスク装置(1600)内部だけで処理できるデータも記憶することができる。
図19のコマンドを用いて不揮発メモリ(1601)にデータが書き込まれた場合には、図18のメモリアドレス管理テーブル(1604)の、ホスト(1606)以外の除去の可否を示すフラグ(1825)を1にセットする。
図17に不揮発メモリ(1601)にホスト(1606)の指示がないと不揮発メモリ(1601)から取り除けないデータと、ホスト(1606)からの指示がなくても不揮発メモリ(1601)から取り除くことができるデータを記憶し、不揮発メモリ(1601)に不良領域が発生した場合に、ホスト(1606)からの指示がなくてもメモリから取り除けるデータの領域を選定して、不良領域に対処する場合の処理フローを示す。図17の処理フローは不揮発メモリ(1601)内にあらかじめ設定されている交替領域を使い果たしてしまった後に不良領域が発生した場合の処理を示している。
不良領域が発生すると(ステップ1700)メモリデータ管理テーブル(1604)を用いて、無効となっていない領域(無効フラグ(1830)に1がセットされていない領域)でかつホスト(1606)からの指示がなくてもメモリからデータを取り除ける領域を選定する(ステップ1705)。選定した領域の物理アドレスに不良領域に書き込もうとしていたデータを書き込む(ステップ1710)。選定した領域の物理アドレスを不良領域の論理アドレスに対応付ける(ステップ1715)。メモリデータ管理テーブル(1604)の、選定した領域の無効ビット(1830)に1を設定する(ステップ1720)。
本実施例によれば、不揮発メモリに、ホストの指示がないと不揮発メモリから取り除けないデータと、ホストからの指示がなくても不揮発メモリから取り除くことができるデータが格納され、ホストからの指示がなくても不揮発メモリから取り除くことができるデータの格納領域を不良領域に替えて使用するので、ホストの指示がないと不揮発メモリから取り除けないデータへの影響がない。
実施例1〜実施例4によれば、書き換え回数に制限のある不揮発メモリを含むディスク装置において、不揮発メモリの交替領域を使い果たしても、不揮発メモリを効率的に継続使用可能となる。
実施例1のディスク装置の構成例である。 実施例1のディスク装置で構成される論理アドレス空間の例である。 実施例1のディスク装置における交替処理のフローである。 実施例1の交替処理時の動作例である 実施例1のメモリアドレス管理テーブルの構成例である。 実施例1のメモリ・ディスク論理アドレス空間管理テーブルの構成例である。 実施例2のディスク装置の構成例である。 実施例2のアクセス順序管理テーブルの構成例である。 実施例2のディスク装置における処理フローである。 実施例3のディスク装置の構成例である。 実施例3のメモリ領域管理テーブルの構成例である。 実施例3のディスク装置における処理フローである。 実施例3の動作例である。 実施例3のユーザインタフェース画面例である。 実施例3の優先度管理テーブルの構成例である。 実施例4のディスク装置の構成例である。 実施例4のディスク装置における処理フローである。 実施例4のメモリデータ管理テーブルの構成例である。 実施例4のコマンドの構成である。
符号の説明
101: 書き換え回数に制限のある不揮発メモリ、102: ディスク、103: 記憶部、104: メモリアドレス管理テーブル、105: メモリ・ディスク論理アドレス空間管理テーブル、106: 制御部、704: アクセス順序管理テーブル、1004: メモリ領域管理テーブル、1604: メモリデータ管理テーブル。

Claims (18)

  1. 書き換え回数に制限のある不揮発メモリ、ディスク、及び前記不揮発メモリの論理アドレス(LBA:Logical Block Address)と物理アドレスとの対応関係を管理するメモリ管理テーブルを含み、前記不揮発メモリに交替領域がない状態において、前記不揮発メモリにデータを書き込むべき第1のLBAに対応する物理アドレスの領域の不良発生に応答して、前記データを書き込むべき第1のLBAとは異なる前記不揮発メモリの第2のLBAに対応する物理アドレスに前記データを書き込み、前記メモリ管理テーブルの前記データを書き込むべき第1のLBAに前記データを書き込んだ前記物理アドレスを対応付ける制御部を有することを特徴とするディスク装置。
  2. 前記ディスクは前記不揮発メモリの交替領域を有し、前記制御部は、前記データを書き込むべき領域に不良領域が発生した場合には、不良領域の発生領域の場所にかかわらず、ディスク上の論理アドレス空間に連続するLBAを選定し、その領域のデータを上記ディスク上の交替領域に書き込み(交替し)、さらに、前記ディスクの記憶領域のLBAに連続するLBAを前記第2のLBAとし、該第2のLBAに対応する物理アドレスに、前記不良領域のデータを書き込み、前記データを書き込んだ領域の物理アドレスを、データを書き込むべき第1のLBAに対応付けることを特徴とする請求項1記載のディスク装置。
  3. 前記メモリ管理テーブルは、前記不揮発メモリのLBAに対応して交替ビットを有し、前記制御部は、前記第2のLBAに対応する物理アドレスに格納されていたデータの書き込みに伴い、前記第2のLBAに対応する前記交替ビットを立て、該交替ビットを参照して前記第2のLBAへのアクセスをディスク上の交替領域へのアクセスに変換することを特徴とする請求項2記載のディスク装置。
  4. 前記ディスクは、該ディスクに接続するホストシステムの起動プログラムを格納し、前記不揮発メモリは前記起動プログラムのコピーを予め格納し、前記メモリ管理テーブルは前記不揮発メモリのLBAに対応して前記不揮発メモリに格納されている前記起動プログラムへの、前記ホストシステムからのアクセス順序を有し、前記制御部は、前記不揮発メモリの前記第2のLBAとして、前記アクセス順序を参照して、前記不揮発メモリに格納されている前記起動プログラムのうちで最も遅いアクセス順序に対応するLBAを選定することを特徴とする請求項1記載のディスク装置。
  5. 前記メモリ管理テーブルは、前記不揮発メモリのLBAに対応して無効ビットを有し、前記制御部は、前記選定されたLBAに対応する前記無効ビットを立て、該無効ビットを参照して前記選定されたLBAの前記不揮発メモリへのアクセスを前記ディスクへのアクセスに変換することを特徴とする請求項4記載のディスク装置。
  6. 前記制御部は、前記不揮発メモリの前記第2のLBAとして、前記不揮発メモリの領域に予め設定された優先度を参照して、前記優先度の低い領域に含まれる領域に対応するLBAを選定することを特徴とする請求項1記載のディスク装置。
  7. 前記優先度はホストまたはユーザにより設定されることを特徴とする請求項6記載のディスク装置。
  8. 前記不揮発メモリに、前記ディスク上の領域の一部のデータを記憶するキャッシュ用領域とホストシステムからのライトデータを記憶するバッファ用領域とを設け、前記優先度は前記キャッシュ用領域を高、前記バッファ用領域を低とすることを特徴とする請求項6記載のディスク装置。
  9. 前記不揮発メモリに、ホストシステムからの指示がないと無効にできないデータを格納する第1の領域と、前記ホストシステムからの指示がなくても無効にできるデータを格納する第2の領域とを設け、前記第1の領域と前記第2の領域とを区別する情報を、前記メモリ管理テーブルは前記不揮発メモリのLBAに対応して有し、前記制御部は、前記不揮発メモリの前記第2のLBAとして、前記メモリ管理テーブルを参照して、前記第2の領域に含まれる領域に対応するLBAを選定することを特徴とする請求項1記載のディスク装置。
  10. 書き換え回数に制限のある不揮発メモリ、ディスク、及び前記不揮発メモリの論理アドレス(LBA:Logical Block Address)と物理アドレスとの対応関係を管理するメモリ管理テーブルを有するディスク装置の制御方法であって、前記不揮発メモリに交替領域がない状態において、前記不揮発メモリにデータを書き込むべき第1のLBAに対応する物理アドレスの領域の不良発生に応答して、前記データを書き込むべき第1のLBAとは異なる前記不揮発メモリの第2のLBAに対応する物理アドレスに前記データを書き込み、前記メモリ管理テーブルの前記データを書き込むべき第1のLBAに前記データを書き込んだ前記物理アドレスを対応付けることを特徴とするディスク装置の制御方法。
  11. 前記ディスクは前記不揮発メモリの交替領域を有し、前記データを書き込むべき領域に不良領域が発生した場合には、不良領域の発生領域の場所にかかわらず、ディスク上の論理アドレス空間に連続するLBAを選定し、その領域のデータを上記ディスク上の交替領域に書き込み(交替し)、前記ディスクの記憶領域のLBAに連続するLBAを前記第2のLBAとし、該第2のLBAに対応する物理アドレスに、前記不良領域のデータを書き込み、前記データを書き込んだ領域の物理アドレスを、データを書き込むべき第1のLBAに対応付けることを特徴とする請求項10記載のディスク装置の制御方法。
  12. 前記メモリ管理テーブルは、前記不揮発メモリのLBAに対応して交替ビットを有し、前記第2のLBAに対応する物理アドレスに格納されていたデータの書き込みに伴い、前記第2のLBAに対応する前記交替ビットを立て、該交替ビットを参照して前記不揮発メモリ上の第2のLBAへのアクセスをディスク上の交替領域へのアクセスに変換することを特徴とする請求項11記載のディスク装置の制御方法。
  13. 前記ディスクは、該ディスクに接続するホストシステムの起動プログラムを格納し、前記不揮発メモリは前記起動プログラムのコピーを予め格納し、前記メモリ管理テーブルは前記不揮発メモリのLBAに対応して前記不揮発メモリに格納されている前記起動プログラムへの、前記ホストシステムからのアクセス順序を有し、前記不揮発メモリの前記第2のLBAとして、前記アクセス順序を参照して、前記不揮発メモリに格納されている前記起動プログラムのうちで最も遅いアクセス順序に対応するLBAを選定することを特徴とする請求項10記載のディスク装置の制御方法。
  14. 前記メモリ管理テーブルは、前記不揮発メモリのLBAに対応して無効ビットを有し、前記選定されたLBAに対応する前記無効ビットを立て、該無効ビットを参照して前記選定されたLBAの前記不揮発メモリへのアクセスを前記ディスクへのアクセスに変換することを特徴とする請求項13記載のディスク装置の制御方法。
  15. 前記不揮発メモリの前記第2のLBAとして、前記不揮発メモリの領域に予め設定された優先度を参照して、前記優先度の低い領域に含まれる領域に対応するLBAを選定することを特徴とする請求項10記載のディスク装置の制御方法。
  16. 前記優先度はホストまたはユーザにより設定されることを特徴とする請求項15記載のディスク装置の制御方法。
  17. 前記不揮発メモリに、前記ディスク上の領域の一部のデータを記憶するキャッシュ用領域とホストシステムからのライトデータを記憶するバッファ用領域とを設け、前記優先度は前記キャッシュ用領域を高、前記バッファ用領域を低とすることを特徴とする請求項15記載のディスクディスク装置の制御方法。
  18. 前記不揮発メモリに、ホストシステムからの指示がないと無効にできないデータを格納する第1の領域と、前記ホストシステムからの指示がなくても無効にできるデータを格納する第2の領域とを設け、前記第1の領域と前記第2の領域とを区別する情報を、前記メモリ管理テーブルは前記不揮発メモリのLBAに対応して有し、前記不揮発メモリの前記第2のLBAとして、前記メモリ管理テーブルを参照して、前記第2の領域に含まれる領域に対応するLBAを選定することを特徴とする請求項10記載のディスク装置の制御方法。
JP2008149037A 2008-06-06 2008-06-06 ディスク装置及びその制御方法 Expired - Fee Related JP5374075B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008149037A JP5374075B2 (ja) 2008-06-06 2008-06-06 ディスク装置及びその制御方法
US12/479,460 US8117489B2 (en) 2008-06-06 2009-06-05 Disk drive and method for controlling the disk drive

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008149037A JP5374075B2 (ja) 2008-06-06 2008-06-06 ディスク装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2009294982A true JP2009294982A (ja) 2009-12-17
JP5374075B2 JP5374075B2 (ja) 2013-12-25

Family

ID=41401394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008149037A Expired - Fee Related JP5374075B2 (ja) 2008-06-06 2008-06-06 ディスク装置及びその制御方法

Country Status (2)

Country Link
US (1) US8117489B2 (ja)
JP (1) JP5374075B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495400B2 (en) * 2008-09-30 2013-07-23 Seagate Technology Llc Energy-efficient transitioning among device operating modes
KR101090394B1 (ko) * 2009-12-24 2011-12-07 주식회사 하이닉스반도체 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
JP5093294B2 (ja) * 2010-05-14 2012-12-12 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US9146875B1 (en) * 2010-08-09 2015-09-29 Western Digital Technologies, Inc. Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US8850288B1 (en) 2012-06-27 2014-09-30 Amazon Technologies, Inc. Throughput-sensitive redundancy encoding schemes for data storage
US8869001B1 (en) 2012-06-27 2014-10-21 Amazon Technologies, Inc. Layered redundancy encoding schemes for data storage
US9110797B1 (en) * 2012-06-27 2015-08-18 Amazon Technologies, Inc. Correlated failure zones for data storage
US20140237164A1 (en) * 2013-02-19 2014-08-21 Kabushiki Kaisha Toshiba Hybrid drive that implements a deferred trim list
TWI691839B (zh) * 2016-11-28 2020-04-21 慧榮科技股份有限公司 資料管理方法
CN108121664A (zh) * 2016-11-28 2018-06-05 慧荣科技股份有限公司 数据储存装置以及其操作方法
JP2023125196A (ja) * 2022-02-28 2023-09-07 株式会社東芝 データ記録装置、および、データ記録方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004103032A (ja) * 2003-10-14 2004-04-02 Sony Corp データ管理装置、データ管理方法、不揮発性メモリ、不揮発性メモリを有する記憶装置及びデータ処理システム
WO2005111812A1 (ja) * 2004-05-19 2005-11-24 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置のためのエラー訂正方法
JP2007293987A (ja) * 2006-04-24 2007-11-08 Toshiba Corp 情報記録装置及びその制御方法
JP2008009614A (ja) * 2006-06-28 2008-01-17 Tdk Corp メモリコントローラ、メモリシステム及びメモリ制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW261687B (ja) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
WO2004072815A2 (en) * 2003-02-10 2004-08-26 Netezza Corporation Rapid regeneration of failed disk sector in a distributed database system
JP2005122529A (ja) 2003-10-17 2005-05-12 Matsushita Electric Ind Co Ltd 半導体メモリ装置
JP2006018893A (ja) 2004-06-30 2006-01-19 Sony Corp 半導体記憶装置及びそのデータ移動方法
US7681004B2 (en) * 2005-06-13 2010-03-16 Addmm, Llc Advanced dynamic disk memory module
KR100744122B1 (ko) 2006-01-12 2007-08-01 삼성전자주식회사 하이브리드 하드디스크 드라이브의 제어 방법, 이에 적합한기록 매체 그리고 이에 적합한 장치
KR100855467B1 (ko) * 2006-09-27 2008-09-01 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법
US20090157940A1 (en) * 2007-12-15 2009-06-18 Hitachi Global Storage Technologies Netherlands, B.V. Techniques For Storing Data In Multiple Different Data Storage Media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004103032A (ja) * 2003-10-14 2004-04-02 Sony Corp データ管理装置、データ管理方法、不揮発性メモリ、不揮発性メモリを有する記憶装置及びデータ処理システム
WO2005111812A1 (ja) * 2004-05-19 2005-11-24 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置のためのエラー訂正方法
JP2007293987A (ja) * 2006-04-24 2007-11-08 Toshiba Corp 情報記録装置及びその制御方法
JP2008009614A (ja) * 2006-06-28 2008-01-17 Tdk Corp メモリコントローラ、メモリシステム及びメモリ制御方法

Also Published As

Publication number Publication date
JP5374075B2 (ja) 2013-12-25
US8117489B2 (en) 2012-02-14
US20090307525A1 (en) 2009-12-10

Similar Documents

Publication Publication Date Title
JP5374075B2 (ja) ディスク装置及びその制御方法
US8316257B2 (en) NAND power fail recovery
TWI457756B (zh) 記憶體系統及其操作方法
US8103820B2 (en) Wear leveling method and controller using the same
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
JP4836647B2 (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
US20070094445A1 (en) Method to enable fast disk caching and efficient operations on solid state disks
US20110231598A1 (en) Memory system and controller
US8825946B2 (en) Memory system and data writing method
US20090327837A1 (en) NAND error management
JP2009181314A (ja) 情報記録装置およびその制御方法
JP2005301591A (ja) 不揮発性メモリを備えた装置及びメモリコントロ−ラ
JP2012203443A (ja) メモリシステムおよびメモリシステムの制御方法
JP2007299216A (ja) 不揮発性フラッシュメモリを用いる記憶装置とその制御方法
JP2008009874A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2009521049A (ja) ブロック消去可能な記憶場所を有するメモリ
KR20100132244A (ko) 메모리 시스템 및 메모리 시스템 관리 방법
US10635581B2 (en) Hybrid drive garbage collection
JP2010211734A (ja) 不揮発性メモリを用いた記憶装置
JP2004303238A (ja) フラッシュメモリアクセス装置及び方法
US20150205538A1 (en) Storage apparatus and method for selecting storage area where data is written
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JP2009122826A (ja) 半導体記憶装置、半導体記憶装置の制御方法および制御プログラム
JPH11282765A (ja) フラッシュメモリを使用した外部記憶装置
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130920

R150 Certificate of patent or registration of utility model

Ref document number: 5374075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees