JP4939234B2 - フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法 - Google Patents

フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法 Download PDF

Info

Publication number
JP4939234B2
JP4939234B2 JP2007003050A JP2007003050A JP4939234B2 JP 4939234 B2 JP4939234 B2 JP 4939234B2 JP 2007003050 A JP2007003050 A JP 2007003050A JP 2007003050 A JP2007003050 A JP 2007003050A JP 4939234 B2 JP4939234 B2 JP 4939234B2
Authority
JP
Japan
Prior art keywords
flash memory
memory module
conversion table
address conversion
data
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.)
Expired - Fee Related
Application number
JP2007003050A
Other languages
English (en)
Other versions
JP2008171163A (ja
Inventor
勝也 田中
崇仁 中村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007003050A priority Critical patent/JP4939234B2/ja
Priority to US12/003,906 priority patent/US7917688B2/en
Publication of JP2008171163A publication Critical patent/JP2008171163A/ja
Priority to US13/030,575 priority patent/US8086789B2/en
Application granted granted Critical
Publication of JP4939234B2 publication Critical patent/JP4939234B2/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/0625Power saving in 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Description

本発明は、フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法に関し、特に、フラッシュメモリモジュール内に記録されたデータにアクセスするために使用するアドレス変換テーブルを検証するものに適用しても好適なものである。
ストレージ装置は、一般的に、ランダムアクセス可能な不揮発性記録媒体を備える。このランダムアクセス可能な不揮発性記録媒体として、例えば、磁気ディスク又は光ディスク等が用いられる。
また、半導体技術の進歩に伴って、例えば、フラッシュメモリのような一括消去可能な不揮発性半導体記録媒体が開発されている。フラッシュメモリモジュールは、モジュール内のフラッシュメモリコントローラが論理ページアドレスを物理ページアドレスにアドレス変換テーブルを参照し変換してフラッシュメモリチップにデータを記録する。このフラッシュメモリモジュールを記録媒体とするストレージ装置は、磁気ディスクのような小型ディスクドライブを多数備えるストレージ装置と比べ、寿命、省電力及びアクセス時間等に優れていると考えられている。
なお、フラッシュメモリモジュールにおけるアドレス変換テーブルの不正マッピンク防止方法が知られている(特許文献1参照)。この従来技術は、有効な論理ページアドレスが無効な論理ページアドレスにデータ化けした場合の、不正マッピングを防止する技術である。
特開2003−337757号公報
フラッシュメモリモジュールを記録媒体として用いたストレージ装置は、既述のように磁気ディスク等を用いたストレージ装置に比べ、省電力を図ることができると考えられている。しかしながら、現在市販されている2.5インチのハードディスクドライブと、2.5インチハードディスクドライブ互換フラッシュメモリモジュールの消費電力値の例を比較すると、データ読み書き動作時(R/W時)は、フラッシュメモリモジュールの消費電力値が2.9ワット、ハードディスクドライブの消費電力値が2.3ワットであり、フラッシュメモリモジュールの消費電力値がハードディスクドライブの消費電力値より少し大きい。また、アイドル時は、フラッシュメモリモジュールの消費電力値が2.2ワット、ハードディスクドライブの消費電力値が1.2ワットであり、フラッシュメモリモジュールの消費電力値がハードディスクドライブの消費電力値の約2倍となっているという結果が得られている。
フラッシュメモリチップ自体は、アイドル時のチップ当たりの消費電力値はサブミリワット級であり、非常に低消費電力である。従って、アイドル時のフラッシュメモリモジュールの消費電力の大部分は、フラッシュメモリコントローラによるものであると考えられる。このため、フラッシュメモリチップの低消費電力特性を活かすためには、アイドル時のフラッシュメモリコントローラの低消費電力化が必須となる。
フラッシュメモリコントローラは、通常、CMOS LSI(Complementary Metal Oxide Semiconductor Large Scale Integration)である。CMOS LSIは、電源電圧あるいは動作周波数を下げることにより、低消費電力化が可能である。従って、フラッシュメモリコントローラの低消費電力化を行うには、フラッシュメモリコントローラの電源低電圧化、動作停止あるいは動作周波数の低下が考えられる。
一方、フラッシュメモリコントローラ内のアドレス変換テーブルはRAMに格納されるが、このRAMは高速アクセス特性が要求されるため例えばSRAM(Static Random Access Memory)が用いられる。SRAMは、非常に小さい確率ではあるが、放射線等の影響によりソフトエラーが発生する場合がある。メモリコントローラの低消費電力化を図ると、その低消費電力動作時には、アドレス変換テーブルに書き込まれたデータのソフトエラーの発生率は増加する。
このように発生するソフトエラーに対処するため、一般的には、アドレス変換テーブルに格納されるデータにエラー訂正情報を付加し、データの読み出し時にアドレスデータとそのデータに付加されたエラー訂正情報を検証することにより、ソフトエラーからデータを保証している。言い換えると、SRAM内のアクセスしたデータに関しては、エラー訂正情報によりデータ保証されるが、アクセスしないデータに関しては、エラー保証がされないことになる。したがって、フラッシュメモリコントローラにおいて、動作停止による低消費電力動作時には、SRAMに格納したアドレス変換テーブルにアクセスしないため、低消費電力動作時に発生したソフトエラーを検出・訂正するデータ検証を行うことができない。また、動作周波数を低下させた低消費電力動作の場合も、アドレス変換テーブル内のデータにアクセスしない限り、ソフトエラーは検出できない。
低消費電力動作時に発生したソフトエラーは、通常動作に復帰後に、アドレス変換テーブル内のエラーデータにアクセスして初めて検出することができる。このため低消費電力動作が長期間に及ぶ場合は、アドレス変換テーブル内にソフトエラーが蓄積し、エラー訂正情報からはエラー訂正ができなくなる場合もある。このような場合、フラッシュメモリコントローラに接続されているフラッシュメモリチップにアクセスしてアドレス情報を読み出し、アドレス変換テーブルをSRAM内に再構築する必要がある。このアドレス変換テーブルを再構築するためにはフラッシュメモリ1チップ当たり1〜2秒程度は必要となる。このため、フラッシュメモリコントローラに多数のチップを接続している場合は、アドレス変換テーブルの再構築に長時間要することになる。低消費電力動作から通常動作への復帰にアドレス変換テーブルの再構築のための時間がかかることは、高速アクセスを必要とされるストレージ装置にとって許容できない。
上述の特許文献1では、低消費電力化に対する考慮がない。さらに、アドレス変換テーブル内に起こりうる一般的なソフトエラーに対処できない。つまり、特許文献1に記載された技術は有効な論理ページアドレスが無効な論理ページアドレスにデータ化けした場合の不正マッピングを防止する技術であるが、一般的には有効な論理ページアドレスが無効な論理ページアドレスにデータ化けするとは限らない。例えば、有効な論理ページアドレスが別の有効な論理ページアドレスにデータ化けすることも考えられる。この場合、特許文献1の技術では、アドレス変換テーブルのエラーを検証することができない。
本発明は、以上の点を考慮してなされたもので、低消費電力動作時にフラッシュメモリモジュール内のアドレス変換テーブルのデータを検証することにより、低消費電力動作から通常動作へ瞬時に復帰が可能なフラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法を提案しようとするものである。
本発明は、フラッシュメモリコントローラと少なくとも一個のフラッシュメモリチップとからなり、フラッシュメモリコントローラは、フラッシュメモリチップの論理ページアドレスと物理ページアドレスを変換するアドレス変換テーブルを格納するメモリ備えるとともにフラッシュメモリコントローラは、データの読み書き時の第1の動作と、動作停止、電源電圧低下及び動作周波数低減のいずれかにより第1の動作より低消費電力で動作する待機状態時の第2の動作とを制御するフラッシュメモリモジュールにおいて、第2の動作時にアドレス変換テーブルのデータ検証を行うことを特徴とするものである。
このフラッシュメモリモジュールにおいては、動作停止、電源電圧低下及び動作周波数低減のいずれかによる低消費電力動作時にアドレス変換テーブルのデータの検証を行うことにより、アドレス変換テーブル内のデータエラーを検出・訂正することができ、エラー訂正情報により訂正不可能なエラーの発生を防止して低消費電力動作から通常動作へ瞬時に復帰ができる。
本発明によれば、低消費電力動作時にフラッシュメモリモジュール内のアドレス変換テーブルのデータを検証することにより、低消費電力動作から通常動作へ瞬時に復帰が可能なフラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法を提供できる。
以下、本発明を適用したフラッシュメモリモジュール、ストレージ装置及びフラッシュメモリモジュールのアドレス変換テーブル検証方法についての一実施の形態について図面を参照して説明する。
図1は、ストレージ装置100の構成を示すブロック図である。ストレージ装置100は、ストレージコントローラSC及びフラッシュメモリモジュールP00からP33を備える。
ストレージコントローラSCは、チャネルアダプタCA0、CA1、キャッシュメモリCM0、CM1、ストレージアダプタSA0、SA1及び相互接続網NW0、NW1を備える。なお、チャネルアダプタCA0、CA1、キャッシュメモリCM0、CM1及びストレージアダプタSA0、SA1は、二つずつを図示しているが、いくつ備えられていてもよい。
相互接続網NW0及びNW1は、例えばスイッチ等であり、ストレージコントローラSCを構成する装置を相互に接続する。具体的には、相互接続網NW0及びNW1は、チャネルアダプタCA0、キャッシュメモリCM0及びストレージアダプタSA0を相互に接続する。同様に、相互接続網NW0、NW1は、チャネルアダプタCA1、キャッシュメモリCM1及びストレージアダプタSA1を相互に接続する。
チャネルアダプタCA0は、図2で後述するが、チャネルC00、C01、C02、C03を介して、外部の上位装置(図示省略)に接続されている。同様に、チャネルアダプタCA1は、チャネルC10、C11、C12、C13を介して、外部の上位装置(図示省略)に接続されている。なお、上位装置は、例えば、本実施の形態のストレージ装置100にデータを読み書きする計算機である。
キャッシュメモリCM0、CM1は、チャネルアダプタCA0、CA1及びストレージアダプタSA0、SA1から受信したデータを一時的に記憶する。
ストレージアダプタSA0は、図3で後述するが、フラッシュメモリモジュールP00等に接続されている。具体的には、ストレージアダプタSA0は、チャネルD00を介して、フラッシュメモリモジュールP00〜P03に接続されている。また、ストレージアダプタSA0は、チャネルD01を介して、フラッシュメモリモジュールP10〜P13に接続されている。また、ストレージアダプタSA0は、チャネルD02を介して、フラッシュメモリモジュールP20〜P23に接続されている。また、ストレージアダプタSA0は、チャネルD03を介して、フラッシュメモリモジュールP30〜P33に接続されている。
同様に、ストレージアダプタSA1は、フラッシュメモリモジュールP00等に接続されている。具体的には、ストレージアダプタSA1は、チャネルD10を介して、フラッシュメモリモジュールP00〜P03に接続されている。また、ストレージアダプタSA1は、チャネルD11を介して、フラッシュメモリモジュールP10〜P13に接続されている。また、ストレージアダプタSA1は、チャネルD12を介して、フラッシュメモリモジュールP20〜P23に接続されている。また、ストレージアダプタSA1は、チャネルD13を介して、フラッシュメモリモジュールP30〜P33に接続されている。
チャネルアダプタCA0、CA1及びストレージアダプタSA0、SA1は、保守端末SVPに接続されている。保守端末SVPは、ストレージ装置100の管理者から入力された設定情報を、チャネルアダプタCA0、CA1及び/又はストレージアダプタSA0、SA1に送信する。
なお、ストレージ装置100は、ストレージアダプタSA0及びチャネルアダプタCA0に代わって、一つのアダプタを備えていても良い。この場合、当該一つのアダプタが、ストレージアダプタSA0及びチャネルアダプタCA0の処理を行う。
VDEV0〜VDEV3は、RAID(Redundant Arrays of Inexpensive Disks)グループである。例えばRAIDグループVDEV0は、フラッシュメモリモジュールP00、P10、P20、P30からなる。RAIDグループに属するフラッシュメモリモジュールの一つ、例えばフラッシュメモリモジュールP00でエラーが発生してデータを読み出せなくなった場合は、同じRAIDグループに属する他のフラッシュメモリモジュールP10、P20、P30からデータをリビルドすることができる。
フラッシュメモリモジュールP00〜P33はネットワークN00を介してストレージアダプタSA0と接続している。同様に、フラッシュメモリモジュールP00〜P33はネットワークN01を介してストレージアダプタSA1と接続している。ストレージコントローラSCは、ネットワークN00及びN01を介して、フラッシュメモリモジュールP00〜P33の電力制御を行う。また、ストレージアダプタSA0及びSA1は、フラッシュメモリモジュールP00〜P33の低消費電力動作の条件設定及び低消費電力動作状況の監視を行うことができる。
図2は、チャネルアダプタCA0の構成を示すブロック図である。チャネルアダプタCA0は、ホストチャネルインターフェース21、キャッシュメモリインターフェース22、ネットワークインターフェース23、プロセッサ24、ローカルメモリ25及びプロセッサ周辺制御部26を備える。
ホストチャネルインターフェース21は、チャネルC00、C01、C02、C03を介して、外部の上位装置(図示省略)と接続するインターフェースである。また、ホストチャネルインターフェース21は、チャネルC00、C01、C02、C03上のデータ転送プロトコルと、ストレージコントローラSCの内部のデータ転送プロトコルとを相互に変換する。
キャッシュメモリインターフェース22は、相互結合網NW0、NW1と接続するインターフェースである。ネットワークインターフェース23は、保守端末SVPと接続するインターフェースである。なお、ホストチャネルインターフェース21とキャッシュメモリインターフェース22とは、信号線27によって接続されている。
プロセッサ24は、ローカルメモリ25に記憶されているプログラムを実行することによって、各種処理を行う。具体的には、プロセッサ24は、上位装置(図示省略)と相互結合網NW0、NW1との間のデータ転送を制御する。
ローカルメモリ25は、プロセッサ24によって実行されるプログラムを記憶する。また、ローカルメモリ25は、プロセッサ24によって参照されるテーブルを記憶する。なお、当該テーブルは、管理者によって設定又は変更される。
この場合、管理者は、テーブルの設定又はテーブルの変更に関する情報を、保守端末SVPに入力する。保守端末SVPは、入力された情報を、ネットワークインターフェース23を介してプロセッサ24に送信する。プロセッサ24は、受信した情報に基づいて、当該テーブルを作成又は変更する。そして、プロセッサ24は当該テーブルをローカルメモリ25に格納する。
プロセッサ周辺制御部26は、ホストチャネルインターフェース21、キャッシュメモリインターフェース22、ネットワークインターフェース23、プロセッサ24及びローカルメモリ25間のデータ転送を制御する。プロセッサ周辺制御部26は、例えば、チップセット等である。なお、チャネルアダプタCA1も、チャネルアダプタCA0と同一の構成である。よって、説明を省略する。
図3は、ストレージアダプタSA0の構成を示すブロック図である。ストレージアダプタSA0は、キャッシュメモリインターフェース31、ストレージチャネルインターフェース32、ネットワークインターフェース33、プロセッサ34、ローカルメモリ35及びプロセッサ周辺制御部36を備える。
キャッシュメモリインターフェース31は、相互結合網NW0、NW1と接続するインターフェースである。
ストレージチャネルインターフェース32は、チャネルD00、D01、D02、D03と接続するインターフェースである。また、ストレージチャネルインターフェース32は、チャネルD00、D01、D02、D03上のデータ転送プロトコルと、ストレージコントローラSCの内部のデータ転送プロトコルとを相互に変換する。なお、キャッシュメモリインターフェース31とストレージチャネルインターフェース32とは、信号線37によって接続されている。
ネットワークインターフェース33は、ストレージアダプタSA0と保守端末SVPとフラッシュメモリモジュールP00〜P33とを接続するインターフェースである。
プロセッサ34は、ローカルメモリ35に記憶されているプログラムを実行することによって、各種処理を行う。
ローカルメモリ35は、プロセッサ34によって実行されるプログラムを記憶する。また、ローカルメモリ35は、プロセッサ34によって参照されるテーブルを記憶する。なお、当該テーブルは、管理者によって設定又は変更される。
この場合、管理者は、テーブルの設定又はテーブルの変更に関する情報を、保守端末SVPに入力する。保守端末SVPは、入力された情報を、ネットワークインターフェース33を介してプロセッサ34に送信する。プロセッサ34は、受信した情報に基づいて、テーブルを作成又は変更する。そして、プロセッサ34は当該テーブルをローカルメモリ35に格納する。
プロセッサ周辺制御部36は、キャッシュメモリインターフェース31、ストレージチャネルインターフェース32、ネットワークインターフェース33、プロセッサ34及びローカルメモリ35間のデータ転送を制御する。プロセッサ周辺制御部36は、例えば、チップセット等である。なお、ストレージアダプタSA1も、ストレージアダプタSA0と同一の構成である。よって、説明を省略する。
図4は、フラッシュメモリモジュールP00の構成を示すブロック図である。フラッシュメモリモジュールP00は、フラッシュメモリコントローラMC、フラッシュメモリMEM及び電源(PS)408を備える。フラッシュメモリMEMはデータを記憶する。フラッシュメモリコントローラMCは、フラッシュメモリMEMに対してデータを読み書きあるいは消去する。電源408は、フラッシュメモリモジュールP00外部から供給された電力を、フラッシュメモリモジュールP00内部で使用する電圧に変換または調整して、フラッシュメモリコントローラMC、フラッシュメモリMEM等へ供給する。
フラッシュメモリコントローラMCは、プロセッサ(μP)401、インターフェース部(DKCI/F)402、内部バス(BUS)403、メモリ(RAM)404、メモリ(ROM)407、電力制御部(PCTL)409、フラッシュメモリインターフェース部(FMI/F)410及びデータ転送部(DMA)411を備える。
フラッシュメモリMEMは、複数のフラッシュメモリチップ405を備える。フラッシュメモリチップ405は、複数のブロック406を含み、データを記憶する。ブロック406は、図5で後述するが、フラッシュメモリコントローラMCがデータを一括消去する単位である。
インターフェース部402は、チャネルD00を介して、ストレージコントローラSC内のストレージアダプタSA0に接続されている。また、インターフェース部402は、チャネルD10を介して、ストレージコントローラSC内のストレージアダプタSA1に接続されている。
インターフェース部402は、ストレージアダプタSA0及びストレージアダプタSA1からの命令を受信する。ストレージアダプタSA0及びストレージアダプタSA1からの命令は、例えば、Serial−ATAコマンドヤSCSIコマンドである。具体的には、インターフェース部402は、ストレージアダプタSA0及びストレージアダプタSA1からデータを受信する。そして、インターフェース部402は、受信したデータをメモリ404に格納する。また、インターフェース部402は、メモリ404に格納されているデータを、ストレージアダプタSA0及びストレージアダプタSA1へ送信する。
メモリ404は、例えば、SRAMであり、高速に読み書きできる。メモリ404は、インターフェース部402が送受信するデータを一時的に記憶する。また、メモリ407は不揮発性メモリであり、プロセッサ401によって実行されるプログラムを記憶する。当該プログラムは、プロセッサ401が実行可能となるように、ストレージ装置100の起動時にメモリ407からメモリ404へコピーされる。また、メモリ404は、プロセッサ401によって参照されるテーブルを記憶する。
当該テーブルは、例えば、フラッシュメモリMEMの論理ページアドレスと物理ページアドレスとの変換テーブルである。論理ページアドレスは、フラッシュメモリモジュールP00外から(例えばストレージアダプタSA0から)、フラッシュメモリMEMの読み書きする単位であるページにアクセスするためのアドレスである。物理ページアドレスは、フラッシュメモリコントローラMCが、フラッシュメモリMEMの読み書きする単位であるページにアクセスするためのアドレスである。
内部バス403は、プロセッサ401、インターフェース部402、メモリ404、メモリ407、データ転送部411及びフラッシュメモリインターフェース部410を相互に接続し、データの転送路として機能する。
電力制御部409は、フラッシュメモリコントローラMCの消費電力を制御する。電力制御部409は、ネットワークN00及びN01を介してストレージアダプタSA0及びSA1と接続している。
フラッシュメモリインターフェース部410は、フラッシュメモリコントローラMCとフラッシュメモリチップMEMを接続するインターフェースである。
データ転送部411は、プロセッサ401の命令により、フラッシュメモリチップMEMに対する読み書きデータの転送を制御する。なお、データ転送部411の機能をプロセッサ401が実行する場合は、データ転送部411を省略することができる。
プロセッサ401は、メモリ404に格納されているプログラムを実行することによって、各種処理を行う。例えば、プロセッサ401は、メモリ404に格納されているフラッシュメモリMEMの論理ページアドレスとフラッシュメモリMEMの物理ページアドレスとのアドレスを変換するアドレス変換テーブル(図7を参照して後述する。)を参照して、フラッシュメモリMEMにデータを読み書きする。
図7は、メモリ404に格納するアドレス変換テーブルを示す図である。論理ページアドレス701と、各論理ページアドレス701に対応する物理ページアドレス702と、エラー訂正情報703が、アドレス変換テーブルT1を構成する。エラー訂正情報703は、例えばハミングコード(Hamming code)であり、アドレス変換テーブルT1に格納した論理ページアドレス701と物理ページアドレス702とエラー訂正情報703により発生したエラーの検出と訂正が可能である。
また、プロセッサ401は、フラッシュメモリモジュールP00内のブロック406に対して、後述するリクラメーション処理(ブロック再生処理)及び後述するウエアレベリング処理(消去回数平準化処理)を行う。
なお、他のフラッシュメモリモジュールP01〜P33も、フラッシュメモリモジュールP00と同一の構成である。よって、説明を省略する。
図5は、フラッシュメモリモジュールP00のブロック406の説明図である。ブロック406は、複数のページ501を含む。ブロック406は、一般的に、数十程度のページ501(例えば64ページ等)を含む。
ページ501は、フラッシュメモリコントローラMCがデータを読み出しあるいは書き込む単位である。例えば、NAND型フラッシュメモリでは、フラッシュメモリコントローラMCは、(20〜30μs弱/ページ)の速度でデータを読み出し、(0.2〜0.3ms/ページ)の速度でデータを書き込む。また、フラッシュメモリコントローラMCは、(2〜4ms/ブロック)の速度でデータを消去する。
ページ501は、データ部502及び冗長部503を含む。ページ501は、例えば、ページ当たり容量が2112バイトであり、2048バイトのデータ部502及び64バイトの冗長部503を含む。データ部502は、通常のデータを記憶する。冗長部503は、当該ページ501の管理情報及びエラー訂正情報を記憶する。
管理情報は、オフセットアドレス及びページステータスを含む。なお、オフセットアドレスは、当該ページ501が属するブロック406内における相対的なアドレスである。また、ページステータスは、当該ページ501が有効ページ、無効ページ、未使用ページ又は処理中のページのいずれであるかを示す。
エラー訂正情報は、当該ページ501のエラーを検出及び訂正するための情報であり、例えば、ハミングコードである。
ページ内冗長部503は、通常、フラッシュメモリコントローラMCのみがアクセス可能であり、ストレージアダプタSA0、SA1からは、ページデータ部502のみがアクセス可能である。言い換えると、論理ページアドレスはページ内データ部502のメモリ空間をマッピングする。
なお、フラッシュメモリモジュールP00は、特性上、ブロック406内のデータ「1」を「0」に書き換えることはできるが、「0」を「1」に書き換えることができない。つまり、データを直接書き換えることができない。フラッシュメモリコントローラMCは、ブロック内の未使用ページにデータを書き込む。未使用ページが無くなり書き込みができなくなったブロックの有効データを他のブロックへ退避させ、該ブロックを消去して再びデータを書き込める状態にすることを、リクラメーション処理(ブロック再生処理)という。
このように、フラッシュメモリモジュールP00におけるデータの書換えは、ブロック406の消去が伴う。しかし、ブロック406を1つ消去するのにかかる時間は、1ページ501の書込みにかかる時間に比べて約1桁長い。従って、ページ501のデータの書換えのために毎回ブロック406を1つ消去すると、フラッシュメモリモジュールP00のデータ書換え性能は悲観的に悪くなる。つまりフラッシュメモリモジュールP00では、消去時間を隠蔽できるアルゴリズムでデータを書き込むことが必要である。
また、フラッシュメモリモジュールP00において、上記ブロック406を消去する回数には制限がある。例えば、ブロック406は、1つ当たりの消去回数は、10万回までしか保証されていない。したがって、データの書換えが集中して消去回数が増大したブロック406は、データ消去ができなくなり使用不能となる。このため、フラッシュメモリモジュールP00を記録媒体として使用するストレージ装置100では、特定のブロック406に消去が集中しないように消去回数平準化処理が行われている。
以上述べた消去時間隠蔽と消去回数平準化のため、フラッシュメモリモジュールP00内ではデータ書込みの際に、論理ページアドレスから物理ページアドレスにアドレスを変換するアドレス変換処理が行われている。具体的には、フラッシュメモリコントローラMCは、特定の物理ページアドレスに書き込みが集中するのをさけるため、上位装置(図示省略)からデータ書込み先アドレスとして受信した論理ページアドレスを、アドレス変換テーブルT1を参照して実際のフラッシュメモリチップ405での書き込み先アドレスである物理ページアドレスへ変換している。このため、フラッシュメモリモジュールP00では、アドレス変換テーブルT1のデータ保証が常に求められている。
上述のリクラメーション処理やウエアレベリング処理のため、フラッシュメモリモジュールP00に書き込んだデータは、ストレージコントローラSCからの指示とは独立に、フラッシュメモリモジュールP00内で移動することがある。このデータ移動の結果を、フラッシュメモリコントローラMCが前述の論理ページアドレスと物理ページアドレスのアドレス変換テーブルに正しく反映しないと、ストレージコントローラSCが正しいデータにアクセスできなくなる。
ところが、放射線等によるアドレス変換テーブルT1のデータ化けにより、アドレス変換テーブルT1のデータにソフトエラーが生じると、フラッシュメモリモジュールP00内において、データを書き込む先あるいは読出し先のアドレスにエラーが発生することになり、ストレージコントローラSCが正しいデータを読み出すことができなくなる。
次にフラッシュメモリコントローラMCの消費電力制御について説明する。図6は、フラッシュメモリコントローラMCの消費電力制御に関わる構成要素の説明図である。電力制御部409は、低消費電力化時の動作条件を設定するレジスタ606を有する。レジスタ606に格納するデータは後述する(図8、図9)。レジスタ606に格納するデータは、ネットワークN00とN01を介して、ストレージアダプタSA0とSA1から設定及び監視が可能である。
電源408は、レジスタ606に格納された設定条件を、信号線604を介して読み取り、その設定条件に従ってフラッシュメモリコントローラMC内のプロセッサ401、インターフェース部402、メモリ404、メモリ407、フラッシュメモリインターフェース部410、データ転送部411へ、チップ電源配線601を介して電力を供給する。また電源408は、基板バイアス制御部608へ、チップ電源配線603を介して基板バイアス用電力を供給する。そして、基板バイアス制御部608は、レジスタ606に格納された設定条件を、信号線607を介して読み取り、その設定条件に従ってフラッシュメモリコントローラMC内のプロセッサ401、インターフェース部402、メモリ404、メモリ407、フラッシュメモリインターフェース部410、データ転送部411へ、チップ電源配線605を介して基板バイアス用電力を分配する。
クロック制御部615は、レジスタ606に格納された設定条件を、信号線611を介して読み取り、その設定条件に従って信号線616から入力した基準クロック信号を変換し、フラッシュメモリコントローラMC内のプロセッサ401、インターフェース部402、電力制御部409、フラッシュメモリインターフェース部410、データ転送部411へ、信号線612、613、614を介して変換したクロック信号を分配する。
プロセッサ401は、電力制御部409に対して割込み許可あるいは不許可を判定するための信号を、信号線610を介して伝送する。また、電力制御部409は、信号線609を介してプロセッサ401に対して動作停止信号あるいは動作再開信号を伝送する。
インターフェース部402は、インターフェース部402に対する低消費電力化コマンド、例えばSerial−ATAのSlumberコマンド等を受信した場合に、信号線602を介して低消費電力化コマンド受信を電力制御部409へ通知する。
図8と図9は、電力制御部(PCTL)409内のレジスタ606に格納するデータを説明する図である。電力制御部409内のレジスタ606は、詳細にはレジスタA(図8)とレジスタB(図9)の2種類がある。
図8は、レジスタAに格納するデータを説明する図である。レジスタAは、主に、フラッシュメモリモジュールP00〜P33の低消費電力動作への移行条件を制御するパラメータを格納する。パラメータ801は、フラッシュメモリモジュールP00〜P33が自発的に低消費電力動作に移行するか、あるいはストレージアダプタSA0,SA1等からのコマンド受信により低消費電力動作に移行するか、あるいはそれら両方を低消費電力化動作の契機とするか、を設定する。
パラメータ802は、低消費電力動作時に、アドレス変換テーブルT1のデータ検証を行うか否かを設定する。アドレス変換テーブルT1のデータ検証を行わない場合は、データ検証を行う場合よりも低消費電力となるが、通常動作に復帰する際には、フラッシュメモリチップ405からのアドレス情報再読み込みが必要となる。
パラメータ803は、パラメータ801において低消費電力動作への移行を自発モードと設定した場合の、移行条件を格納する。例えば、パラメータ803に格納した時間内にフラッシュメモリモジュールP00〜P33へのアクセスが無く、且つパラメータ801が自発モードに設定されていた場合に、フラッシュメモリモジュールP00〜P33は自動的に低消費電力動作へ移行する。
パラメータ804は、現状の動作が通常動作あるいは低消費電力動作かを示す。パラメータ804を調べることにより、ストレージアダプタSA0,SA1等は、フラッシュメモリモジュールP00〜P33の動作状態を知ることができる。また、パラメータ805は、アドレス変換テーブルT1に発生した、エラー訂正情報703だけでは訂正不能なエラーの発生回数を示す。
図9は、レジスタBに格納するデータを説明する図である。レジスタBは、フラッシュメモリモジュールP00〜P33の低消費電力時の動作条件を制御するパラメータを格納する。レジスタBにおける項目901から906は、フラッシュメモリコントローラMC内部の電力制御対象を示す。また、項目907から909は、低消費電力化のために変化させる動作条件を示す。項目907と908は、低消費電力化時にプロセッサ401、インターフェース部402、メモリ404、メモリ407、フラッシュメモリインターフェース部410、データ転送部411へ供給する電源電圧と基板バイアスの条件を示す。電源電圧と基板バイアスに関しては後述する。項目909は、低消費電力化時のプロセッサ401、インターフェース部402、メモリ404、メモリ407、フラッシュメモリインターフェース部410、データ転送部411の動作周波数を示す。動作周波数は低くするほど低消費電力化効果が大きいが、動作を停止させる場合には周波数を“0”と設定する。項目902と903は、メモリ(RAM404,ROM407)に対する制御パラメータである。メモリ(RAM404,ROM407)に対しては、アクセスする信号の周波数で動作周波数が決まるため、低消費電力化時の動作周波数の設定は不要である。
図10は、電源電圧と基板バイアスの説明図である。インバータ回路INVには、正のチップ内電源VDD1あるいはVDD2と、負のチップ内電源VSS1あるいはVSS2と、正の基板バイアスVSUB1あるいはVSUB2と、負の基板バイアスVSUB3あるいはVSUB4を供給する。ここで、VDD1、VSS1、VSUB1、VSUB3は、通常動作時に回路へ供給する電源電圧を表すこととする。そしてVDD2、VSS2、VSUB2、VSUB4は、低消費電力動作時に回路へ供給する電源電圧を表すこととする。
例えば、通常動作時は、VDD1=VSUB1、VSS1=VSUB3となる所定の電圧で電力を回路へ供給する。それに対して低消費電力動作時は、VDD1>VDD2かつVDD2<VSUB2、VSS2≧VSS1かつVSS2>VSUB4となる条件の電圧で電力を供給する。電源電圧低下は回路の動作電力を低下させ、適切な基板バイアス印加は、リーク電流低減による消費電力を低下させる効果がある。
図11は、ストレージアダプタSA0あるいはSA1内で管理するフラッシュメモリモジュール管理テーブルT2を説明する図である。ストレージアダプタSA0とSA1は、ネットワークN00またはN01を介してフラッシュメモリモジュールP00〜P33へアクセスし、レジスタA、Bの内容を監視または設定変更することができる。図11のフラッシュメモリモジュール管理テーブルT2は、各フラッシュメモリモジュールP00〜P33のレジスタA、B内に格納したパラメータを管理するため、フラッシュメモリモジュール識別子1001、各フラッシュメモリモジュールのレジスタAの内容1002、及び各フラッシュメモリモジュールのレジスタBの内容1003を格納する。
図12は、ストレージアダプタSA0あるいはSA1内で管理するRAIDグループ管理テーブルT3を説明する図である。
図12のRAIDグループ管理テーブルT3は、RAIDグループ識別子1201と、各RAIDグループを構成するフラッシュメモリモジュール識別子の集合1202を格納する。このRAIDグループ管理テーブルT3は、図17,図18を用いて説明するフローチャートにおいて使用する。
図13は、フラッシュメモリモジュールP00の低消費電力動作を説明するフローチャートである。なお、他のフラッシュメモリモジュールP01〜P33については、フラッシュメモリモジュールP00と同様な動作を行うために説明を省略する。図13のフローチャートでは、フラッシュメモリモジュールP00の低消費電力動作への移行条件が、外部からのコマンド受信を契機とする場合を示す。
ステップST101において、インターフェース部402は、例えばストレージアダプタSA0あるいはSA1から、低消費電力化コマンドを受信する。このコマンドは、例えばS−ATAのSlumberコマンドである。インターフェース部402は、低消費電力化コマンド受信を電力制御部409へ通知する。
ステップST102において、電力制御部409は、プロセッサ401が割込み許可状態か否かを信号線610によりチェックする。
ステップST103において、割込み不許可ならば(ST103:NO)、再びステップST102に戻り割込み許可を待つ。割込み不許可の要因としては、例えば、プロセッサ401がフラッシュメモリチップ405の消去回数平準化処理を実行中であることがある。なぜならば、プロセッサ401が読み書きのアクセスが無い期間において、消去回数平準化処理を実行する場合があるからである。本実施の形態のフラッシュメモリモジュールP00は、消去回数平準化処理の実行中は、低消費電力動作へ移行せず、消去回数平準化処理完了まで待機する。すなわち、以下で説明するように、フラッシュメモリモジュールP00は、消去回数平準化処理が完了した後、通常動作から低消費電力動作への移行及びアドレス変換テーブルT1のデータ検証が行われる。
ステップST103において、プロセッサ401が割込み許可であった場合は(ST103:YES)、ステップST104に進む。ステップ1204において、電力制御部409はプロセッサ401に対して動作停止指示を、信号線609を介して送信する。
ステップST105において、電力制御部409は、レジスタ606の設定内容に従い、電源電圧、基板バイアス電圧、クロック周波数を変更する。
ステップST106において、プロセッサ401はアドレス変換テーブルT1のデータ検証を実行する。このステップST106の内容の詳細は図14のフローチャートを用いて後述する。
ステップST107において、インターフェース部402が低消費電力動作から通常動作への復帰コマンド(アクティヴコマンド)を受信したか否かをチェックする。アクティヴコマンドを受信した場合は(ST107:YES)、ステップST109へ進む。
ステップST109において、電力制御部409は電源電圧、基板バイアス電圧、クロック周波数を通常動作のための状態へ戻す。ステップST110において、電力制御部409はプロセッサ401に対して動作再開を指示する。
ステップST107においてアクティヴコマンドの受信がなかった場合は(ST107:NO)、ステップST108において、所定時間待機する。所定時間内はステップST107を繰り返し、一定の周期でステップST106のアドレス変換テーブルT1のデータ検証を実行する。電力制御部409の消費電力がプロセッサ401の消費電力より十分小さい場合に、プロセッサ401によるアドレス変換テーブルT1のデータチェックのための動作期間の割合を少なくすることで、フラッシュメモリコントローラMCの低消費電力化を図ることができる。
図15は、アドレス変換テーブルT1のデータ検証の低デューティ実行を説明するタイムチャートである。プロセッサ401は、アドレス変換テーブルT1のデータ検証を一部分ずつ(1/n)、テーブル検証期間より停止期間の方が長くなるように、つまり、低デューティで実行する。
図15に示すように、プロセッサ401がアドレス変換テーブルT1のデータ検証を所定範囲ずつ行う周期をTとする。そして、その周期Tの内、プロセッサ401がアドレス変換テーブルT1の所定範囲をデータ検証する期間をtとする。周期Tと期間t、あるいは周期Tと所定範囲は、以下の3つの条件が成立するように設定する。
先ず、1つ目の条件である周期Tの設定条件について説明する。本実施の形態のフラッシュメモリモジュールP00〜P33が、アドレス変換テーブルT1のデータ検証を伴う低消費電力動作から通常動作へ移行するのに要する時間は、周期Tと、プロセッサ401動作時にフラッシュメモリモジュールP00〜P33がアクディヴコマンドを受信してから通常動作へ移行するのに要する時間の和である。その和が、ストレージ装置100の仕様として許容できる待ち時間以下となるように、周期Tを設定する。
次に、2つ目の条件である期間tあるいは期間t内データ検証範囲の設定条件aについて説明する。プロセッサ401が所定範囲のデータ検証に要する時間と消費する電力を考慮して、アドレス変換テーブルT1のデータの検証を伴う低消費電力動作中の平均消費電力がストレージ装置100として許容できる消費電力以下となるように、周期Tと期間t、あるいは周期Tと期間t内にプロセッサ401が実行するデータ検証の範囲を決定する。
次に、3つ目の条件である期間tあるいは期間t内データ検証範囲の設定条件bについて説明する。ストレージ装置100に搭載した全てのフラッシュメモリモジュールP00〜P33内のアドレス変換テーブルT1に、統計的に1ビットのソフトエラーが起こりうると予想される期間内に、アドレス変換テーブルT1内の全データの検証を少なくとも1回完了するように、周期Tと期間t、あるいは周期Tと期間t内にプロセッサ401が実行するデータ検証の範囲を決定する。
図14は、本発明の実施の形態のフラッシュメモリモジュールP00が、低消費電力動作中に行うアドレス変換テーブルT1のデータ検証(ステップST106)を説明するフローチャートである。
ステップST201において、電力制御部409はプロセッサ401とメモリ404の動作条件を通常動作に変更し、プロセッサ401へ動作再開を指示する。なお、プロセッサ401とメモリ404が低消費電力動作のままでもアドレス変換テーブルT1のデータ検証が可能ならば、動作条件を変更しなくても良い。ステップST202において、プロセッサ401はデータ検証のアドレス変換テーブルT1内データへのポインタを、レジスタへセットする。
ステップST203においてテーブルに格納されている論理ページアドレスと物理ページアドレスとエラー訂正情報をチェックし、ステップST204においてエラーの有無を判定する。このステップST204においてエラーが無い場合は(ST204:NO)ステップST208へ進む。ステップST208において、所定のデータ量のチェックが完了した場合は(ST208:YES)ステップST209へ進む。
本実施の形態のフラッシュメモリモジュールP00では、一度にアドレス変換テーブルT1内全てのデータを連続して検証するのではなく、複数回に分けてデータ検証を行うことにより、平均的な消費電力を低減している。ステップST209において、電力制御部409はプロセッサ401へ対して、動作停止を指示する。このとき、ステップST201においてプロセッサ401とメモリ404を通常動作へ変更していた場合は、再びプロセッサ401とメモリ404を低消費電力動作へ変更する。
ステップST208において所定量のデータ検証が完了していない場合は(ST208:NO)、ステップST210において、次のアドレス変換テーブルT1内のデータを指すポインタをレジスタにセットし、ステップST203に戻る。
ステップST204においてエラーが検出された場合は(ST204:YES)、ステップST205においてエラー訂正可能性を判定する。データに付加しているエラー訂正情報からエラーが訂正可能な場合は(ST205:YES)、ステップST207へ進み、エラー訂正を実行する。
エラー訂正情報からではエラー訂正不能な場合は、例えばエラー発生ビット数が多い場合は(ST205:NO)、ステップST206のテーブル再構成処理を実行する。そして、処理は、ステップST202へ戻る。
次に、テーブル再構成処理(ステップST206)について説明する。図16はテーブル再構成処理を説明するフローチャートである。
ステップST301において、電力制御部409はレジスタAのパラメータ805の、訂正不能エラー発生回数をインクリメントする。そして、ステップST302において、パラメータ802の値が所定の値以下であるか否かを判定する。エラー発生回数が所定回数に達した場合は(ST302:YES)、処理はステップST303へ進む。
ステップST303は、エラー発生回数が所定回数に達したフラッシュメモリモジュール(障害モジュール)を交換し、スペアのフラッシュメモリモジュール(図示を省略)にデータをリビルドする。このリビルドは、障害モジュールと同じRAIDグループに属するフラッシュメモリモジュールのデータを、ストレージアダプタSA0又はSA1が読み出して排他的論理和計算を行い、障害モジュールに格納されていたデータを再生する処理である。
また、スペアのフラッシュメモリモジュールは、予めストレージアダプタSA0、SA1に接続しておくと、リビルドを早く実行できる。スペアのフラッシュメモリモジュールは、ストレージアダプタSA0、SA1へ接続した際に、そのフラッシュメモリモジュール内のフラッシュメモリコントローラにアドレス変換テーブルT1を作成しておき、作成後は図13のアドレス変換テーブルT1のデータ検証(ST106,図14)の実行を伴う低消費電力動作で待機状態にしておく。このようにスペアのフラッシュメモリモジュールを待機状態にしておくことにより、必要になったときに直ぐに使用可能となる。
ステップST302でエラー回数が所定回数以下の場合は(ST302:NO)、処理はステップST304へ進む。ステップST304において、プロセッサ401は、フラッシュメモリモジュールP00の先頭物理ページアドレスへのポインタをレジスタにセットする。
ステップST305において、プロセッサ401は該当物理ページアドレスから論理ページアドレス情報を読み出し、アドレス変換テーブルT1へアドレス情報を格納する。
ステップST307において、プロセッサ401のポインタが、最終物理ページアドレスに達したかを判定する。ステップST307において最終物理ページアドレスへ達していない場合は(ST307:NO)、ステップST306で、次の物理ページアドレスにアクセスするため、ポインタを進める。
ステップST307において、最終物理ページアドレスまでアドレス調査が完了した場合は(ST307:YES)、処理を完了する。
また、レジスタAのパラメータ805のエラー回数が所定回数に達する場合としては、過去のデータ検証結果を含む累積で所定の回数に達する場合と、あるいは一回のチェックで複数のエラーが発生し所定回数に達する場合が考えられる。
次に、本実施の形態のストレージ装置100が、RAIDグループ(VDEV0〜VDEV3)内の全フラッシュメモリモジュールに対して低消費電力動作へ移行させる方法を説明する。図17はこの方法を説明するフローチャートである。
ストレージアダプタSA0又はSA1は、RAIDグループ内の複数フラッシュメモリモジュール(例えば、VEDV0:フラッシュメモリモジュールP00,P10,P20,P30)に対して、ほぼ同期してデータの読み書きを実行する。従って、低消費電力化するか否かもRAIDグループ内のフラッシュメモリモジュールは同期する。例えば、フラッシュメモリモジュールP00の低消費電力化が自発モードに設定されていた場合を考える。
ステップST401においてストレージアダプタSA0又はSA1は、あるフラッシュメモリモジュール、例えばフラッシュメモリモジュールP00の低消費電力動作への移行を検出する。これは、ストレージアダプタSA0,SA1が各フラッシュメモリモジュールP00〜P33のレジスタAを監視することにより可能となる。
ステップST402においてストレージアダプタSA0又はSA1は、図12で説明したRAIDグループ管理テーブルT3にアクセスして、低消費電力動作へ移行したフラッシュメモリモジュールP00と同じRAIDグループ(VDEV0)に属するフラッシュメモリモジュールP10,P20,P30を調査する。
ステップST403において、該当RAIDグループ(VDEV0)内で低消費電力動作へ移行していないフラッシュメモリモジュールの有無を判定する。
ステップST403において、低消費電力動作へ移行していないフラッシュメモリモジュールがある場合は(ST403:YES)、ステップST404へ進み、ストレージアダプタSA0又はSA1は、該当RAIDグループ内の低消費電力動作へ移行していないフラッシュメモリモジュールに対して、低消費電力化コマンドを発行する。そして、処理はステップST403へ戻る。
ステップST403において、低消費電力動作へ移行していないフラッシュメモリモジュールがない場合、すなわち、RAIDグループ(VDEV0)内全てのフラッシュメモリモジュールP10,P20,P30が低消費電力動作へ移行した場合は(ST403:NO)、処理を終了する。
低消費電力動作時から通常動作へ復帰する場合についても、RAIDグループ(VDEV0〜VDEV3)内のフラッシュメモリモジュールは同期する。従って、図17と実質的に同様のフローチャートで、RAIDグループ内全てのフラッシュメモリモジュールの通常動作への復帰が可能となる。
続いて、RAIDグループ単位で低消費電力動作から通常動作へ移行する方法について説明する。図18はこの方法を示すフローチャートである。
ステップST501においてストレージアダプタSA0又はSA1は、RAIDグループのあるフラッシュメモリモジュール(例えば、VEDV0:フラッシュメモリモジュールP00)に対して低消費電力動作から通常動作への移行を指示する。つまり、ストレージアダプタSA0又はSA1がフラッシュメモリモジュールP00へアクティヴコマンドを発行する。
ステップST502において、ストレージアダプタSA0又はSA1は、図12で説明したRAIDグループ管理テーブルT3にアクセスして、通常動作への移行を指示したフラッシュメモリモジュールと同じRAIDグループに属するフラッシュメモリモジュールを調査する。例えば、フラッシュメモリモジュールP00が通常動作への移行を指示されたのであれば、フラッシュメモリモジュールP10,P20,P30が調査される。
ステップST503において、当該RAIDグループ内で低消費電力動作から通常動作へ移行していないフラッシュメモリモジュールの有無を判定する。
ステップST503において、当該RAIDグループ内で低消費電力動作から通常動作へ移行していないフラッシュメモリモジュールがある場合は(ST503:YES)、ステップST504において、ストレージアダプタSA0又はSA1は、該当RAIDグループ内の低消費電力動作から通常動作へ移行していないフラッシュメモリモジュールに対してアクティヴコマンドを発行する。そして、処理はステップST503へ戻る。
ステップST503において、当該RAIDグループ内で低消費電力動作から通常動作へ移行していないフラッシュメモリモジュールがない場合は、すなわち、RAIDグループ内全てのフラッシュメモリモジュールP10,P20,P30が通常動作へ移行した場合は(ST503:NO)、処理を終了する。
このように、RAIDグループ内の複数のフラッシュメモリモジュールを同期して低消費電力化することにより、ストレージアダプタSA0又はSA1はRAIDグループ単位でフラッシュメモリモジュールの電力を管理できるので、消費電力低減効果が大きく、またストレージアダプタSA0又はSA1の管理付加が軽減する。
以上説明したように、本実施の形態のフラッシュメモリモジュールP00〜P33は、フラッシュメモリコントローラMCとフラッシュメモリチップ405からなり、フラッシュメモリコントローラMCは、フラッシュメモリチップ405の論理ページアドレスと物理ページアドレスを変換するアドレス変換テーブルT1を格納するメモリ(SRAM)404を備え、フラッシュメモリコントローラMCは、データの読み書き時の通常動作である第1の動作と、動作停止、電源電圧低下及び動作周波数低減のいずれかによりデータ読み書き時の通常動作より低消費電力で動作する待機状態時の低消費電力動作とを制御する。
このフラッシュメモリモジュールP00〜P33は、低消費電力動作時にアドレス変換テーブルT1のデータの検証を行うことにより、低消費電力動作時にアドレス変換テーブルT1内のデータに発生したソフトエラーを検出・訂正することができる。すなわち、低消費電力動作時にフラッシュメモリモジュールP00〜P33の低消費電力化とフラッシュメモリコントローラMC内のアドレス変換テーブルT1のデータ保護が可能となる。このため、低消費電力動作から通常動作に復帰する際に、エラーが蓄積した場合に必要となるアドレス変換テーブルT1の再構成を行う必要がなくなり、低消費電力動作しているフラッシュメモリモジュールP00〜P33が通常動作へ瞬時に復帰することができる。
また、フラッシュメモリコントローラMCは、アドレス変換テーブルT1のデータ検証を行うデータ検証期間tと、フラッシュメモリコントローラMCの動作を停止させる動作停止期間を交互に実行し、データ検証期間tを動作停止期間より短くしている。このため、データの検証は低デューティで実行される。
また、スペアのフラッシュメモリモジュールをストレージアダプタSA0又はSA1を接続させておくことにより、フラッシュメモリモジュールP00〜P33のいずれかにエラー訂正情報によってはエラー訂正不可能なフラッシュメモリモジュール(障害モジュール)が生じた場合にも、同じRAIDグループの他のフラッシュメモリモジュールからデータをスペアのフラッシュメモリモジュールに移行してリビルドを行うことができ、直ぐに通常動作へ復帰することができる。
なお、上述の実施の形態においては、本発明を図5及び図6のように構成されたフラッシュメモリモジュールP00〜P33及びそのフラッシュメモリモジュールP00〜P31を用いたストレージ装置100に適用するようにして説明した場合について述べたが、本発明はこれに限られず、この他種々の構成のフラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法に広く適用することができる。
本発明は、種々のフラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法に広く適用することができる。
本発明に係わるストレージ装置の構成を示すブロック図。 本発明に係わるチャネルアダプタの構成を示すブロック図。 本発明に係わるストレージアダプタの構成を示すブロック図。 本発明に係わるフラッシュメモリモジュールの構成を示すブロック図。 本発明に係わるフラッシュメモリモジュールにおけるブロックの説明図。 本発明に係わるフラッシュメモリコントローラの消費電力制御に係わる構成要素の説明図。 本発明に係わるアドレス変換テーブルを示す図。 本発明に係わるレジスタに格納するデータの一例を示す図。 本発明に係わるレジスタに格納するデータの一例を示す図。 本発明に係わる電源電圧と基板バイアスの説明図。 本発明に係わるフラッシュメモリモジュール管理テーブルを示す図。 本発明に係わるRAIDグループ管理テーブルを示す図。 本発明に係わるフラッシュメモリモジュールの低電力動作を説明するフローチャート。 本発明に係わる低電力動作中に行うアドレス変換テーブルのデータ検証を説明するフローチャート。 本発明に係わるアドレス変換テーブルのデータ検証の低デューティ実行を説明する図。 本発明に係わるテーブル再構成処理について説明するフローチャート。 本発明に係わるRAIDグループ内の全てのフラッシュメモリモジュールを低消費電力動作へ移行させる方法を説明するフローチャート。 本発明に係わるRAIDグループ内の全てのフラッシュメモリモジュールを通常動作へ移行させる方法を説明するフローチャート。
符号の説明
SC…ストレージコントローラ、
CA0、CA1…チャネルアダプタ
CM、CM0、CM1…キャッシュメモリ
SA、SA0、SA1…ストレージアダプタ
P00、P01、P02、P03、P10、P11、P12、P13、P20、P21、P22、P23、P30、P31、P32、P33…フラッシュメモリモジュール
MC…フラッシュメモリコントローラ
MEM…フラッシュメモリ
C00、C01、C02、C03、C10、C11、C12、C13、D00、D01、D02、D03、D10、D11、D12、D13…チャネル
VDEV0、VDEV0、VDEV0、VDEV0…RAIDグループ
N00、N01…ネットワーク
NW0、NW1…相互結合網
SVP…保守端末
21…ホストチャネルインターフェース
22…キャッシュメモリインターフェース
23…ネットワークインターフェース
24…プロセッサ
25…ローカルメモリ
26…プロセッサ周辺制御部
27…信号線
31…キャッシュメモリインターフェース
32…ストレージチャネルインターフェース
33…ネットワークインターフェース
34…プロセッサ
35…ローカルメモリ
36…プロセッサ周辺制御部
37…信号線
100…ストレージ装置
401…プロセッサ
402…インターフェース部
403…内部バス
404、407…メモリ
405…フラッシュメモリチップ
406…ブロック
408…電源
409…電力制御部
410…フラッシュメモリインターフェース部
411…データ転送部
501…ページ
502…ページデータ部
503…ページ冗長部
601、603、605…チップ電源配線
602、604、607、609、610、611、612、613、614…信号線
608…基板バイアス制御部
606…レジスタ
615…クロック制御部
616…基準クロック配線
VDD、VSS…チップ内電源
VSUB1、VSUB2…基板バイアス
INV…インバータ回路
T1…アドレス変換テーブル
T2…フラッシュメモリモジュール管理テーブル
T3…RAIDグループ管理テーブル

Claims (20)

  1. フラッシュメモリコントローラと少なくとも一個のフラッシュメモリチップと、
    からなり、
    前記フラッシュメモリコントローラは、
    前記フラッシュメモリチップの論理ページアドレスと物理ページアドレスを変換するアドレス変換テーブルを格納するメモリ備え、
    前記フラッシュメモリコントローラは、データの読み書き時の第1の動作と、動作停止、電源電圧低下及び動作周波数低減のいずれかにより前記第1の動作より低消費電力で動作する待機状態時の第2の動作とを制御する
    フラッシュメモリモジュールにおいて、
    前記第2の動作時に前記アドレス変換テーブルのデータ検証を行うことを特徴とするフラッシュメモリモジュール。
  2. 請求項1記載のフラッシュメモリモジュールにおいて、
    前記第2の動作時は、前記フラッシュメモリコントローラは、前記アドレス変換テーブルのデータ検証を行う第1の期間と、前記フラッシュメモリコントローラの動作を停止させる第2の期間を交互に実行し、
    前記第1の期間が前記第2の期間より短いことを特徴とするフラッシュメモリモジュール。
  3. 請求項1記載のフラッシュメモリモジュールにおいて、
    前記論理ページアドレスと前記物理ページアドレスは、エラー訂正情報を付加して前記アドレス変換テーブルに格納し、
    前記アドレス変換テーブルのデータ検証時には、前記アドレス変換テーブルに格納されている前記論理ページアドレスと前記物理ページアドレスと前記エラー訂正情報を検証することによりエラー有無を判定し、
    前記アドレス変換テーブルにエラーが有りと判定された場合に、
    前記エラー訂正情報により訂正可能なエラーならば、前記エラー訂正情報から訂正した値を前記アドレス変換テーブルに格納し、
    前記エラー訂正情報のみで訂正不能ならば、前記フラッシュメモリチップから必要なデータを読み出し、前記アドレス変換テーブルを再構築することを特徴とするフラッシュメモリモジュール。
  4. 請求項1記載のフラッシュメモリモジュールにおいて、
    前記フラッシュメモリコントローラと接続された上位装置からの指示により前記第1の動作から前記第2の動作へ移行することを特徴とするフラッシュメモリモジュール。
  5. 請求項1記載のフラッシュメモリモジュールにおいて、
    前記フラッシュメモリコントローラ内の制御により前記第1の動作から前記第2の動作へ移行することを特徴とするフラッシュメモリモジュール。
  6. 請求項1記載のフラッシュメモリモジュールにおいて、
    前記第2の動作時に前記アドレス変換テーブルのデータ検証を行うか否かを設定すること特徴とするフラッシュメモリモジュール。
  7. 請求項1記載のフラッシュメモリモジュールにおいて、
    前記フラッシュメモリコントローラの消去回数平準化処理完了を待って、前記第1動作から前記第2の動作への移行及び前記アドレス変換テーブルのデータ検証を開始することを特徴とするフラッシュメモリモジュール。
  8. 請求項1記載のフラッシュメモリモジュールにおいて、
    前記メモリは、SRAMであることを特徴とするフラッシュメモリモジュール。
  9. フラッシュメモリチップと、前記フラッシュメモリチップへのデータの読み書きを制御するフラッシュメモリコントローラとを備えるフラッシュメモリモジュールと、
    前記フラッシュメモリチップへ読み書きされるデータを一時的に格納するキャッシュメモリを備えるストレージコントローラと、
    を備え、
    前記フラッシュメモリコントローラは、
    前記フラッシュメモリチップの論理ページアドレスと物理ページアドレスを変換するアドレス変換テーブルを格納するメモリを備え、
    データの読み書き時の第1の動作と、動作停止、電源電圧低下及び動作周波数低減のいずれかにより前記第1の動作より低消費電力で動作する待機状態時の第2の動作とを制御する、
    ストレージ装置において、
    前記フラッシュメモリコントローラは、前記第2の動作時に前記アドレス変換テーブルのデータ検証を行うことを特徴とするストレージ装置。
  10. 請求項9記載のストレージ装置において、
    前記ストレージコントローラからのコマンド受信により前記フラッシュメモリコントローラは前記第1の動作から前記第2の動作へ移行する
    ことを特徴とするストレージ装置。
  11. 請求項9記載のストレージ装置において、
    前記フラッシュメモリコントローラ内部の制御により、前記フラッシュメモリコントローラは前記第1の動作から前記第2の動作へ移行する
    ことを特徴とするストレージ装置。
  12. 請求項9記載のストレージ装置において、
    複数の前記フラッシュメモリモジュールを組み合わせてRAIDグループを構成し、
    前記RAIDグループ内の1つのフラッシュメモリモジュールが前記第1の動作から前記第2の動作へ移行すると、前記RAIDグループ内の他のフラッシュメモリモジュールも前記第2の動作へ移行するように、前記ストレージコントローラがコマンドを発行することを特徴とするストレージ装置。
  13. 請求項12記載のストレージ装置において、
    前記ストレージコントローラへの接続時にアドレス変換テーブルを構築後、前記第2の動作で前記構築されたアドレス変換テーブルのデータ検証を行うスペアのフラッシュメモリモジュールを備え、
    前記複数のフラッシュメモリモジュールのいずれかに障害が生じたときは、その障害の生じたフラッシュメモリモジュールに代えて、その障害が発生したフラッシュメモリモジュールと同じRAIDグループのフラッシュメモリモジュールから前記スペアのフラッシュメモリモジュールへデータをリビルドすることを特徴とするストレージ装置。
  14. 請求項13記載のストレージ装置において、
    前記フラッシュメモリモジュールは、
    前記論理ページアドレスと前記物理ページアドレスは、エラー訂正情報を付加して前記アドレス変換テーブルに格納し、
    前記アドレス変換テーブルのデータ検証時に、前記アドレス変換テーブルに格納されている前記論理ページアドレスと前記物理ページアドレスと前記エラー訂正情報を検証することによりエラー有無を判定し、
    前記アドレス変換テーブルにエラーが有りと判定された場合に、
    前記エラー訂正情報により訂正可能なエラーならば、前記エラー訂正情報から訂正した値を前記アドレス変換テーブルに格納し、
    前記エラー訂正情報のみで訂正不能ならば、前記フラッシュメモリチップから必要なデータを読み出し、前記アドレス変換テーブルを再構築するように構成され、
    前記フラッシュメモリモジュールに障害が生じたか否かは、前記エラー訂正情報のみで訂正不能なエラーが、前記データ検証時に所定回以上あったか否かで判定されることを特徴とするストレージ装置。
  15. 請求項9記載のストレージ装置において、
    前記フラッシュメモリモジュールは、前記フラッシュメモリチップへ読み書きするデータを送受信するための第1のネットワークと、前記第2の動作を行う消費電力制御のためのデータを送受信するための第2のネットワークで、前記ストレージコントローラと接続することを特徴とするストレージ装置。
  16. フラッシュメモリチップと、このフラッシュメモリチップの論理ページアドレスと物理ページアドレスを変換するアドレス変換テーブルを格納するメモリを備え、前記フラッシュメモリチップへのデータの読み書きを制御するとともに、前記データの読み書き時の第1の動作と、動作停止、電源電圧低下及び動作周波数低減のいずれかにより前記第1の動作より低消費電力で動作する待機状態時の第2の動作とを制御するフラッシュメモリコントローラとを備えるフラッシュメモリモジュールと、
    前記フラッシュメモリチップへ読み書きされるデータを一時的に格納するメモリを備えるストレージコントローラと、
    を備えるストレージ装置のデータ検証方法において、
    前記第2の動作時に前記アドレス変換テーブルのデータ検証を行うステップを
    備えることを特徴とするストレージ装置のデータ検証方法。
  17. 請求項16記載のストレージ装置のデータ検証方法において、
    前記ストレージコントローラからのコマンド受信により前記第1の動作から前記第2の動作へ移行するステップを
    備えることを特徴とするストレージ装置のデータ検証方法。
  18. 請求項16記載のストレージ装置のデータ検証方法において、
    前記フラッシュメモリコントローラ内部の制御により、前記第1の動作から前記第2の動作へ移行するステップを
    備えることを特徴とするストレージ装置のデータ検証方法。
  19. 請求項16記載のストレージ装置のデータ検証方法において、
    複数の前記フラッシュメモリモジュールを組み合わせて構成されたRAIDグループ内の1つのフラッシュメモリモジュールが前記第1の動作から前記第2の動作へ移行すると、前記RAIDグループ内の他のフラッシュメモリモジュールも前記第2の動作へ移行するステップを
    備えることを特徴とするストレージ装置。
  20. 請求項19記載のストレージ装置のデータ検証方法において、
    前記複数のフラッシュメモリモジュールのいずれかに障害が生じたときは、その障害の生じたフラッシュメモリモジュールに代えて、その障害が発生したフラッシュメモリモジュールと同じRAIDグループのフラッシュメモリモジュールからアドレス変換テーブルの構築後前記第2の動作でそのアドレス変換テーブルのデータ検証を行うスペアのフラッシュメモリモジュールへデータをリビルドするステップを
    備えることを特徴とするストレージ装置のデータ検証方法。
JP2007003050A 2007-01-11 2007-01-11 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法 Expired - Fee Related JP4939234B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007003050A JP4939234B2 (ja) 2007-01-11 2007-01-11 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
US12/003,906 US7917688B2 (en) 2007-01-11 2008-01-03 Flash memory module, storage apparatus using flash memory module as recording medium, and address translation table verification method for flash memory module
US13/030,575 US8086789B2 (en) 2007-01-11 2011-02-18 Flash memory module, storage apparatus using flash memory module as recording medium and address translation table verification method for flash memory module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007003050A JP4939234B2 (ja) 2007-01-11 2007-01-11 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法

Publications (2)

Publication Number Publication Date
JP2008171163A JP2008171163A (ja) 2008-07-24
JP4939234B2 true JP4939234B2 (ja) 2012-05-23

Family

ID=39618646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007003050A Expired - Fee Related JP4939234B2 (ja) 2007-01-11 2007-01-11 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法

Country Status (2)

Country Link
US (2) US7917688B2 (ja)
JP (1) JP4939234B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169729A1 (en) * 2008-12-30 2010-07-01 Datta Shamanna M Enabling an integrated memory controller to transparently work with defective memory devices
TWI413931B (zh) * 2009-01-15 2013-11-01 Phison Electronics Corp 快閃記憶體資料之存取方法及其儲存系統與控制系統
US8645749B2 (en) * 2009-02-04 2014-02-04 Micron Technology, Inc. Systems and methods for storing and recovering controller data in non-volatile memory devices
JP5251662B2 (ja) * 2009-03-26 2013-07-31 株式会社デンソー ソフトエラー検出回路を備える制御装置
US8379466B2 (en) * 2009-03-31 2013-02-19 Freescale Semiconductor, Inc. Integrated circuit having an embedded memory and method for testing the memory
US8315117B2 (en) * 2009-03-31 2012-11-20 Freescale Semiconductor, Inc. Integrated circuit memory having assisted access and method therefor
CN102301339B (zh) * 2009-04-21 2017-08-25 国际商业机器公司 用于控制固态盘(ssd)设备的装置和方法
US8634263B2 (en) * 2009-04-30 2014-01-21 Freescale Semiconductor, Inc. Integrated circuit having memory repair information storage and method therefor
KR101600951B1 (ko) * 2009-05-18 2016-03-08 삼성전자주식회사 고체 상태 드라이브 장치
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US20110047316A1 (en) * 2009-08-19 2011-02-24 Dell Products L.P. Solid state memory device power optimization
JP5381519B2 (ja) * 2009-09-01 2014-01-08 富士通株式会社 ディスクへの書き込み位置の誤算出を検出するストレージ制御装置、ストレージシステム、及びアクセス方法。
JP5439581B2 (ja) * 2009-10-15 2014-03-12 株式会社日立製作所 ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法
JP4901987B1 (ja) 2010-09-14 2012-03-21 株式会社東芝 記憶装置、電子機器及び誤りデータの訂正方法
US8788779B1 (en) 2010-09-17 2014-07-22 Western Digital Technologies, Inc. Non-volatile storage subsystem with energy-based performance throttling
US20130019057A1 (en) * 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
US9740439B2 (en) * 2011-12-23 2017-08-22 International Business Machines Corporation Solid-state storage management
US20130290611A1 (en) * 2012-03-23 2013-10-31 Violin Memory Inc. Power management in a flash memory
TWI448891B (zh) * 2012-09-06 2014-08-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
US9092364B2 (en) 2012-10-04 2015-07-28 International Business Machines Corporation Implementing storage adapter performance control
US9268682B2 (en) * 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
CN104217747B (zh) * 2013-06-03 2017-02-08 北京兆易创新科技股份有限公司 快闪存储器及快闪存储器基准源电路开关方法
JP6275427B2 (ja) 2013-09-06 2018-02-07 株式会社東芝 メモリ制御回路およびキャッシュメモリ
KR102252419B1 (ko) * 2014-01-09 2021-05-14 한국전자통신연구원 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법
JP6102800B2 (ja) * 2014-03-04 2017-03-29 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。
US9678864B2 (en) * 2014-12-03 2017-06-13 Seagate Technology Llc Data reallocation upon detection of errors
US10621119B2 (en) 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10592114B2 (en) * 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US9965017B2 (en) * 2016-04-12 2018-05-08 International Business Machines Corporation System and method for conserving energy in non-volatile dual inline memory modules
CN107526528B (zh) * 2016-06-20 2021-09-07 北京正泽兴承科技有限责任公司 一种片上低延迟存储器的实现机制
US20180024610A1 (en) * 2016-07-22 2018-01-25 Futurewei Technologies, Inc. Apparatus and method for setting a clock speed/voltage of cache memory based on memory request information
US10388392B2 (en) * 2017-04-08 2019-08-20 Texas Instruments Incorporated Safe execution in place (XIP) from flash memory
KR102507302B1 (ko) * 2018-01-22 2023-03-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US11221928B2 (en) * 2019-04-18 2022-01-11 Netapp, Inc. Methods for cache rewarming in a failover domain and devices thereof
CN112526914B (zh) * 2020-12-21 2022-05-06 苏州光格科技股份有限公司 一种毫安级数据采集单元低功耗管理流程方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6356751A (ja) * 1986-08-27 1988-03-11 Fujitsu Ltd メモリパトロ−ル制御方式
US5524231A (en) * 1993-06-30 1996-06-04 Intel Corporation Nonvolatile memory card with an address table and an address translation logic for mapping out defective blocks within the memory card
JP2546163B2 (ja) * 1993-08-11 1996-10-23 日本電気株式会社 半導体記憶装置
JPH0756694A (ja) * 1993-08-19 1995-03-03 Fuji Xerox Co Ltd ディスクアレイ装置
JP3729591B2 (ja) 1997-04-09 2005-12-21 株式会社ルネサステクノロジ 記憶装置およびクロック発振停止時のデータ受け付け制御方法
JPH1153267A (ja) * 1997-07-30 1999-02-26 Nec Corp メモリデータ誤り自動訂正回路
KR100449708B1 (ko) * 2001-11-16 2004-09-22 삼성전자주식회사 플래시 메모리 관리방법
JP3999564B2 (ja) 2002-05-17 2007-10-31 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US7296143B2 (en) * 2004-06-22 2007-11-13 Lenovo (Singapore) Pte. Ltd. Method and system for loading processor boot code from serial flash memory
EP3422583B1 (en) * 2004-08-30 2020-07-08 Google LLC Systems and methods for providing nonvolatile memory management in wireless phones
US7386759B2 (en) * 2005-01-27 2008-06-10 International Business Machines Corporation Method of performing functional validation testing

Also Published As

Publication number Publication date
US20110145488A1 (en) 2011-06-16
JP2008171163A (ja) 2008-07-24
US7917688B2 (en) 2011-03-29
US8086789B2 (en) 2011-12-27
US20080172523A1 (en) 2008-07-17

Similar Documents

Publication Publication Date Title
JP4939234B2 (ja) フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
US8862808B2 (en) Control apparatus and control method
KR102487553B1 (ko) 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US8448047B2 (en) Storage device, storage control device, data transfer intergrated circuit, and storage control method
US9135112B2 (en) Policy for read operations addressing on-the-fly decoding failure in non-volatile memory
US8972776B2 (en) Partial R-block recycling
US7984325B2 (en) Storage control device, data recovery device, and storage system
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
US8479045B2 (en) Controller for disk array device, data transfer device, and method of power recovery process
CN111752487B (zh) 一种数据恢复方法、装置及固态硬盘
US20110113184A1 (en) Data backup method for a flash memory and controller and storage system using the same
JP4930555B2 (ja) 制御装置、制御方法およびストレージシステム
US20090327803A1 (en) Storage control device and storage control method
US8839072B2 (en) Access control apparatus, storage apparatus, and method
JP4930556B2 (ja) 退避処理装置、退避処理方法およびストレージシステム
US20210334037A1 (en) Integrated circuit memory devices with enhanced buffer memory utilization during read and write operations and methods of operating same
JP2012063884A (ja) 記憶装置、電子機器、および記憶装置の制御方法
US10853241B2 (en) Data storing method and data storing apparatus for reducing power consumption in sudden power-off
JP2010079856A (ja) 記憶装置およびメモリ制御方法
US20150324248A1 (en) Information processing device, control method and recording medium for recording control program
TW201303575A (zh) 記憶體儲存裝置、記憶體控制器與資料寫入方法
JP2018022404A (ja) ストレージシステム、ストレージ制御装置およびストレージ制御プログラム
KR20200019513A (ko) 컨트롤러, 메모리 시스템 및 그 동작 방법
TWI712052B (zh) 記憶體管理方法、儲存控制器與儲存裝置
CN117149062A (zh) 一种磁带损坏数据的处理方法以及计算装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120131

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: 20120207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120224

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees