JP2007193810A - フラッシュメモリ用インターリーブポリシー - Google Patents

フラッシュメモリ用インターリーブポリシー Download PDF

Info

Publication number
JP2007193810A
JP2007193810A JP2007009575A JP2007009575A JP2007193810A JP 2007193810 A JP2007193810 A JP 2007193810A JP 2007009575 A JP2007009575 A JP 2007009575A JP 2007009575 A JP2007009575 A JP 2007009575A JP 2007193810 A JP2007193810 A JP 2007193810A
Authority
JP
Japan
Prior art keywords
interleave
write
read
ratio
flash memory
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
JP2007009575A
Other languages
English (en)
Other versions
JP4870582B2 (ja
Inventor
Michael J Cornwell
マイケル ジェイ. コーンウェル,
Christopher P Dudte
クリストファー ピー. デュドテ,
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2007193810A publication Critical patent/JP2007193810A/ja
Application granted granted Critical
Publication of JP4870582B2 publication Critical patent/JP4870582B2/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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/1028Power efficiency
    • 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
    • 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

Abstract

【課題】読出しインターリーブポリシーの選択と、書込みインターリーブポリシーの選択とを独立して行う製品ならびに関連する方法およびシステムを提供する。
【解決手段】様々な実施形態では、動作中の選択は、静的であることも動的であることもある。読出しインターリーブポリシーおよび書込みインターリーブポリシーを動的に選択する諸実施形態では、選択は、温度、電源、バッテリ電圧、動作モードなど様々な動作状態に基づく可能性がある。動作モードの例としては、(1)外部電源に接続されたときにフラッシュメモリの読出しまたは書込みを行うもの、(2)携帯型電源(例えば、バッテリ)から給電されたときにフラッシュメモリの読出しを行うもの、および(3)携帯型電源から給電されたときにフラッシュメモリへの書込みを行うものを挙げることができる。
【選択図】図1

Description

本発明は、メモリへのアクセスに関するものであり、特に、メモリにアクセスするためのインターリーブポリシーに関する方法およびシステムに関する。
コンピューティングデバイスの能力と機能が向上するに従って、データ記憶装置の需要が高まっている。データ記憶装置は、例えばプロセッサによって実行され得るプログラム命令(すなわちコード)を記憶するのに使用されている。データ記憶装置は、例えばオーディオ、画像、および/またはテキスト情報を含めた他のタイプのデータを記憶するのにも使用されている。近年、携帯型デバイスでは、大量のデータコンテンツ(例えば、曲や音楽ビデオなど)を記憶することが可能なデータ記憶装置を有するシステムが、広く使用可能となっている。
かかる携帯型デバイスとしては、小さい形状因子(form factor)を有し、バッテリなどの携帯型電源を基に動作可能なデータ記憶装置が挙げられる。携帯型デバイスのいくつかのデータ記憶装置は、電源から切断されたときもデータを保持することが可能な不揮発性メモリを提供することができる。携帯型デバイスは、ハードディスクドライブ、EEPROM(電気的消去およびプログラム可能な読取り専用メモリ)、フラッシュメモリなどの様々な不揮発性データ記憶装置を使用している。
フラッシュメモリは、広範に使用されるようになったタイプの半導体メモリである。フラッシュメモリは、例えば携帯型電子デバイスおよび民生アプリケーションの不揮発性メモリを提供することができる。
フラッシュメモリには、NORフラッシュとNANDフラッシュの2つのタイプが存在する。一般に、NORフラッシュは、ある点でNANDフラッシュと異なる可能性がある。例えば、NORフラッシュは典型的には、その場でコードを実行する容量を提供し、ランダムアクセスが可能なもの(すなわちRAMと同様)である。例えば、NORフラッシュは、携帯型電子デバイス、セル電話、およびPDA内にコードを記憶し、それを直接実行することができる。
これとは対照的に、NANDフラッシュは典型的には、データをより迅速に消去し、バースト単位(例えば、512バイト単位(chunks))のデータにアクセスすることができ、これと比較可能なNORフラッシュよりも長い寿命の消去サイクルを提供する。NANDフラッシュは一般に、例えばデジタルカメラやMP3プレーヤなどの民生デバイス向けの高密度ファイル記憶媒体として、低コスト/ビットの不揮発性記憶域を提供することができる。NANDフラッシュは、カメラ付きセル電話におけるデータ記憶などの応用例に使用されることもある。
いくつかのデータ記憶システムでは、メモリアクセスが、複数のメモリ位置にわたってインターリーブされることもある。例えば、RAID−0タイプのシステムでは、データがN個のブロックに分割され、それらのブロックは、N個のメモリ位置に同時に書き込まれ、または同時に読み出されることになる。8kが1つのメモリ位置に書き込まれる間システムが強制的に待機状態となる代わりに、インターリーブ型システムは、2kのブロックをそれぞれ4つの異なるメモリ位置に同時に書き込むことができる。
本発明の一態様によれば、
インターリーブされたメモリを使用してデータを処理するためのシステムであって、
電源と、
前記電源と接続されて動作可能な複数のメモリ素子と、
前記複数のメモリ素子へのアクセスのインターリーブ比を選択的に制御するメモリコントローラと、
命令を受け取るプロセッサとを備え、該命令は、前記プロセッサに前記メモリコントローラに対して前記インターリーブ比を特定させる処理を実施させ、前記処理が、
前記メモリ素子に対するアクセス要求を受け取り、
受け取られた前記アクセス要求を処理するための前記電源から前記メモリに引き出されるピーク電流を、前記アクセス要求を実施すべきインターリーブ比を選択することによって制御することを含むシステムが提供される。
また、本発明の他の態様によれば、
インターリーブされたデータを記憶するように構成されたフラッシュメモリにアクセスするためのインターリーブポリシーを選択する方法であって、
インターリーブされたフラッシュメモリの読出しの要求を受け取り、
第1の基準セットに基づいて、前記フラッシュメモリからの読出しのための読出しインターリーブ比を特定し、
前記フラッシュメモリへの書込みの要求を受け取り、
第2の基準セットに基づいて、前記フラッシュメモリへの書込みのための書込みインターリーブ比を特定することを含み、特定される前記読出しインターリーブ比と書込みインターリーブ比とが異なる方法が提供される。
種々の実施形態において、製品ならびに関連する方法およびシステムは、読出しインターリーブポリシー(read interleaving policiy)の選択と、書込みインターリーブポリシー(write interleaving policiy)の選択とを独立して行うことに関する。様々な実施形態では、動作中の選択は、静的であることも動的であることもある。読出しインターリーブポリシーおよび書込みインターリーブポリシーを動的に選択する実施形態においては、選択は、温度、電源、バッテリ電圧、動作モードなど様々な動作状態に基づくことができる。動作モードの例としては、(1)外部電源に接続されたときにフラッシュメモリの読出しまたは書込みを行うもの、(2)携帯型電源(例えば、バッテリ)から給電されたときにフラッシュメモリの読出しを行うもの、および(3)携帯型電源から給電されたときにフラッシュメモリへの書込みを行うものを挙げることができる。
いくかの実施形態は、1つまたは複数の利点をもたらす。例えば、携帯型電源の応用例では、バッテリ寿命が延長される。読出しおよび書込みインターリーブポリシーは、許容可能な電力消費(例えばピーク電流)特徴を有し、メモリアクセス時間が最小限に抑えられる所望の性能を達成するように、独立して設定または選択することができる。読出しおよび書込みインターリーブポリシーの選択は、様々な動作状態に従って適合され得る。いくかの実施形態では、例えば温度情報、電源の使用可能度、バッテリ電圧、および/または動作モードなどの動作状態に基づいて、アクセス時間を短縮することとピーク電流を最小限に抑えることとを動的に選択することができる。
添付の図面および以下の説明では、本発明の1つまたは複数の実施形態の詳細が詳しく記載される。本発明のその他の特徴、目的、および利点は、以下の説明および添付の図面ならびに添付の特許請求の範囲を読めば明らかとなるであろう。
様々な図面において、同様の参照符号は同様の要素を指す。
図1は、フラッシュメモリを使用してデータを記憶および検索することが可能なシステム100の一例を示している。システム100は、例えばMP3プレーヤ、形態電話、PDA(携帯情報端末)、全地球測位システム、携帯型処理デバイス、携帯型オーディオ/ビジュアル記録デバイス、携帯型ビデオプレーヤなどのハンドヘルド式携帯型デバイスであってよい。システム100は、読出し動作に適したインターリーブポリシーと、書込み動作に適したインターリーブポリシーとを使用および/または選択することが可能である。いくつかの実施形態では、選択される読出しインターリーブポリシーは、選択される書込みインターリーブポリシーとは異なることもある。いくつかの実施形態では、読出しおよび書込みインターリーブポリシーは、動的にかつ/または互いに独立して選択され得る。
システム100は、マイクロプロセッサ102と、メモリコントローラ104と、1つまたは複数のフラッシュメモリ106a、106b、106c、106dとを含む。マイクロプロセッサ102は、読出しまたは書込みインターリーブポリシーを選択した後に、読出しまたは書込み動作を実施することができる。例えば、マイクロプロセッサ102は、選択済みの読出しインターリーブポリシーおよび読出しコマンドをメモリコントローラ104に送ることによって、フラッシュメモリ106a、106b、106c、106dの読出しを開始することができる。こうして、メモリコントローラ104は、選択済みの読出しインターリーブポリシーに従って読出しコマンドを実行する。同様に、マイクロプロセッサ102は、選択済みの書込みインターリーブポリシーおよび書込みコマンドをメモリコントローラ104に送ることによって、フラッシュメモリへの書込みを開始することができる。こうして、メモリコントローラ104は、選択済みの書込みインターリーブポリシーに従って書込みコマンドを実行する。システム100は、例えば電源、バッテリ電圧、温度、および/または動作モードなど現在の動作状態に適したインターリーブポリシーを選択するように構成され得る。
選択済みの読出しおよび/または書込みインターリーブポリシーは、フラッシュメモリ106a、106b、106c、および106dへの同時アクセス数を決定する。メモリコントローラ104はインターリーブを使用することによって、複数のメモリデバイスにわたってインターリーブされたデータを同時に読み出すことも書き込むこともできる。インターリーブポリシーは、動作状態に適したインターリーブ比を選択するように定義され得る。例えば、4:1のインターリーブ比は、システム100が単一の動作で4ワードのデータをメモリに書き込むこと、すなわち、フラッシュメモリ106a〜106dの異なる位置に各ワードが同時に書き込まれることに対応する。また、2:1のインターリーブ比は、システム100が2回の動作を使用して4ワードのデータをメモリに書き込むこと、すなわち、2ワードが同時に書き込まれることに対応する。1:1のインターリーブ比は、システム100が4回の動作を使用して4ワードのデータをメモリに書き込むこと、すなわち、一度に1ワードずつが書き込まれることに対応する。
インターリーブ比が高くなるほど、フラッシュメモリのデータの読出しまたは書込みに掛かる時間が短くなるが、メモリ動作に関連するピーク電流が高くなる。一方、インターリーブ比が低くなるほど、フラッシュメモリのデータの読出しまたは書込みに掛かる時間が長くなるが、メモリ動作に関連するピーク電流は低くなる。いくつかの動作状態では、システム100は、ピーク電流と最小メモリアクセス時間のいずれかを制限または最小化するように構成される。例えば、システム100は、バッテリ電圧が閾値を下回った場合には、読出し動作に関してより低いインターリーブ比を選択するように構成され得る。
メモリコントローラ104は、読出しコマンドまたは書込みコマンドを受け取ると、マイクロプロセッサによって選択された読出しまたは書込みインターリーブポリシーに従って当該コマンドを実行することになる。いくつかの実施形態においては、マイクロプロセッサ102およびメモリコントローラ104は、別個のデバイス(例えば、独立した集積回路)とすることができる。また、別の実施形態では、マイクロプロセッサ102およびメモリコントローラ104は、単一のデバイス(例えば、ASIC、マイクロコントローラ)に統合され得る。この例では、メモリコントローラ104は、メディアインターフェイス108を含む。メディアインターフェイス108は、4つのレジスタ110a、110b、110c、および110dを含む。4つの各レジスタ110a〜110dは、それぞれフラッシュメモリ106a〜106dに送られる、または、そこから受け取られたワード(またはバイト、ロングワード、クワッドワードなど)のデータを一時的に記憶することができる。
一例において、システム100は、読出しおよび書込みコマンドに関するインターリーブポリシーを次のように選択し使用することができる。例えば、マイクロプロセッサ102は、書込みコマンドを開始し、これに続いて読出しコマンドを開始する場合を説明する。書込みコマンドは、4ワードのデータを4つのフラッシュメモリ106a、106b、106c、106dの4つの位置に書き込むことを含む。読出しコマンドは、4ワードのデータを4つのフラッシュメモリ106a、106b、106c、106dの4つの位置から読み出すことを含む。マイクロプロセッサ102は、まず、書込みコマンドおよび選択済みの書込みインターリーブポリシーをメモリコントローラ104に送る。本例では、選択済みの書込みインターリーブポリシーは、4:1であるとする。次いで、書込みコマンドの実行を完了させるために、メモリコントローラ104は、レジスタ110a、110b、110c、110dに記憶されているデータをフラッシュメモリ106a、106b、106c、106dに同時に書き込む。
書込みコマンドが完了した後に、マイクロプロセッサ102は、読出しコマンドおよび選択済みの読出しインターリーブポリシーをメモリコントローラ104に送る。本例では、選択済みの読出しインターリーブポリシーは、1:1であるとする。読出しコマンドの実行を完了させるために、メモリコントローラ104は、4回のメモリ動作を使用して、フラッシュメモリ106a、106b、106c、106dから、レジスタ110a、110b、110c、110dに記憶されたデータを1つずつ読み出すことができる。例えば、メモリコントローラ104はまず、フラッシュメモリ106aに記憶されているデータをレジスタ110aに転送させる。次いで、メモリコントローラ104は、フラッシュメモリ106bに記憶されているデータをレジスタ110bに転送させる。その後、メモリコントローラ104は、フラッシュメモリ106cに記憶されているデータをレジスタ110cに転送させる。最後に、メモリコントローラ104は、フラッシュメモリ106dに記憶されているデータをレジスタ110dに転送させる。
この例では、各フラッシュメモリ106a、106b、106c、106dは、4つのフラッシュメモリダイと、コントローラと、レジスタ112とを含む。レジスタ112は、各フラッシュメモリ106a〜106dの最小動作電圧を記憶することができる。各フラッシュメモリ106a〜106dの最小動作電圧は、インターリーブポリシーの選択に影響を及ぼし得る。例えば、書込み動作中にバッテリ電圧が、各フラッシュメモリ106a〜106dの最小動作電圧よりも高い閾値マージンを下回った場合は、マイクロプロセッサは、低いインターリーブ比を有する書込みインターリーブポリシーを選択することができる。書込み動作に関する閾値マージン情報は、書込みインターリーブポリシー130と関連付けてNVM124に記憶することができ、読出し動作に関する閾値マージン情報は、読出しインターリーブポリシー130と関連付けてNVM124に記憶することができる。
図示の一例では、最小動作電圧は、3.1ボルトであり、電圧マージンは、書込みインターリーブポリシーについては、0.5ボルトにセットされ(閾値は3.6ボルトとなる)、読出しインターリーブポリシーについては、0.2ボルトにセットされているものとする(閾値は3.3ボルトとなる)。マイクロプロセッサ102は、バッテリ電圧が3.6ボルトを下回ったときは、書込みインターリーブ比を例えば2:1から1:1に減少させる。また、マイクロプロセッサ102は、バッテリ電圧が3.3ボルトを下回った場合には、読出しインターリーブ比を例えば4:1から2:1に減少させる。尚、これらの値は単なる例示に過ぎず、バッテリ電圧の範囲を限定するものではない。いくつかの実施形態では、電圧の閾値にヒステリシスバンド(hysteresis band)が適用され得る。
システム100の電力は、外部電力入力114またはバッテリ(蓄積エネルギー源)116から供給され得る。外部電力入力114およびバッテリ116は、電圧レギュレータ118に電力を引き渡す。電圧レギュレータ118としては、線形レギュレータ、スイッチモードDC/DC変換器、および/または低ドロップアウトレギュレータ(図示せず)を挙げることができ、システム100の電気状態122に関するリストを記憶する電力マネージャ120を含んでいる。監視される状態情報としては、例えば外部電力入力114が電源に接続されているかどうか、バッテリが存在するかどうか、およびバッテリ電圧情報を挙げることができる。いくつかの実施形態では、マイクロプロセッサ102は、電気状態122に応じてインターリーブポリシーを選択することができる。例えば、マイクロプロセッサ102は、システム100が外部電源に接続されているときは、それによってピーク電流を比較的高くすることが可能になり、メモリアクセス時間を短縮するために、最大インターリーブ比を有するインターリーブポリシーを選択するように構成することができる。
マイクロプロセッサ102は、不揮発性メモリ124と通信することができる。不揮発性メモリ(NVM)124は、試験コード126と、制御コード128と、読出しインターリーブポリシーおよび書込みインターリーブポリシーを含めたインターリーブポリシー130とを記憶する。マイクロプロセッサ102は、試験コード126を実行してシステム100内の様々な状態をチェックする。試験コード126は、例えば電源、バッテリ電圧、温度、および/または動作モードをチェックするコードを含み得る。次いで、マイクロプロセッサ102は、制御コード128を実行する。制御コード128は、読出しインターリーブポリシーおよび書込みインターリーブポリシーを選択するためのルールを含み得る。選択の後、マイクロプロセッサ102は、選択済みのインターリーブポリシーをNVM124に記憶させることができる。インターリーブポリシー情報130は、現在選択されている読出しインターリーブポリシーと、現在選択されている書込みインターリーブポリシーとを含む。
マイクロプロセッサ102は、データインターフェイス132を介して外部デバイスにデータを送ることも、そこからのデータを受け取ることもできる。データインターフェイス132とマイクロプロセッサ102との間で転送されるデータは、バッファ134に一時的に記憶することができる。
データインターフェイス132の動作モードは、インターリーブポリシーの選択に影響を及ぼすことがある。例えば、データインターフェイス132が外部ソースからデータを受け取っている場合、マイクロプロセッサ102は、より高いインターリーブ比を有する読出しインターリーブポリシーを選択する。また、例えば、システム100がフラッシュメモリに関するデータを受け取る携帯型デバイスとして動作している場合、マイクロプロセッサ102は、より低いインターリーブ比を有する書込みインターリーブポリシーを選択する。
システム100は、現在の動作状態を監視することもできる。例えば、システム100は、システム100内の温度を測定する温度センサ136を含む。マイクロプロセッサ102は、例えばシステム100の温度が選択済みの閾値温度を超えた場合に、より低いインターリーブポリシーを選択することができる。
システム100はまた、ユーザインターフェイス138と、オーディオ出力デバイス140と、ディスプレイ142とを含む。ユーザは、例えばタッチパッド、キーボード、Apple Click Wheel(商標)入力(Apple Computer,Inc.社から市販されている)などのユーザインターフェイス138を使用して、システム100に命令を供給することができる。ユーザ選択されるインターリーブポリシーは、少なくとも部分的にユーザ入力に基づくようにしてもよい。例えば、ユーザは、バッテリ寿命を最大化するように設計されたバッテリ節約モードを選択することができる。バッテリ寿命を拡大させるには、例えば、読出しおよび/または書込みインターリーブポリシーについてのインターリーブ比をより低くすることが考えられる。別の例では、ユーザは、メモリアクセス処理に掛かる時間を最小限に抑えるように設計された最小遅延モードを選択することができる。メモリアクセス時間を短縮するには、例えば、読出しインターリーブポリシーについてのインターリーブ比をより高くすることが考えられる。
また、いくつかの実施形態において、このようにユーザ選択された入力がオーバーライドされ得るようにしてもよい。例えば、外部電力が外部電力入力114に接続されている場合、マイクロプロセッサ102は、例えばユーザが最大バッテリ寿命モードを選択していても、達成可能な最大インターリーブ比を選択することができる。また、別の例では、システム100の温度が事前に設定された閾値を超えた場合に、マイクロプロセッサ102は、例えばユーザが最小遅延時間モードを選択しており、外部電源が外部電力入力114に接続されている場合にも、達成可能な最小インターリーブ比を選択することができる。
様々な実施形態において、オーディオ出力デバイス140は、内部スピーカ、ブザー、および/または他のオーディオインジケータであってもよい。いくつかの実施形態では、オーディオ情報を含む信号(この信号は外部で増幅されることもある)を1組または複数組のヘッドフォンまたは外部スピーカに供給するように適合された出力コネクタに、増幅器が結合される。また、いくつかの実施形態では、システム100と外部オーディオトランスデューサデバイスとの間に、有線または無線(例えば、Bluetoothや他のRF)インターフェイスを設けることができる。
いくつかの実施形態において、ディスプレイ142は、例えばテキストベースインターフェイスおよび/またはグラフィカルインターフェイスをユーザに提供するLCDまたはTFTディスプレイとすることができる。ディスプレイ142の明度(brightness)および/または輝度(intensity)は、調整可能とすることができる。いくつかの実施形態では、ディスプレイ142が高い明度および/または輝度で動作しているときに、マイクロプロセッサ102は、バッテリ寿命を保存するために、より低いインターリーブポリシーを選択する。
システム100はまた、それぞれ画像およびオーディオ情報をマイクロプロセッサ102に供給するカメラ150と、マイクロフォン152とを含む。いくつかの実施形態では、オーディオおよび/またはビデオ情報は、MPEG、JPEG、.wav、ビットマップ、他の広く採用されるデータフォーマットなどの標準フォーマットに符号化される。カメラ150は、例えば画像圧縮の技術分野の当業者に知られている各種技法を使用して圧縮および/または符号化が可能な静止画像および/または動画像(例えば、フレーム)情報を取り込むように構成される。マイクロフォン152は、画像情報と同期されることも同期されないこともあるオーディオ情報を取り込むように操作される。カメラ150およびマイクロフォン152から受け取られたオーディオおよび/または画像情報は、書込みインターリーブポリシーに従ってフラッシュメモリ106a〜106dに記憶される。
例えば、カメラ150および/またはマイクロフォン152がデータストリーミングを行い、システムがバッテリからの給電を受ける動作モードにおいては、マイクロプロセッサ102は、最大データ転送速度を処理するのに十分なインターリーブ比を有する書込みインターリーブポリシーを選択することができる。尚、十分なインターリーブ比とは、例えば、オーディオとビデオ情報との組合せであれば4:1、ビデオ情報単独であれば2:1、静止画像またはオーディオ情報であれば1:1とすることができる。
別の例を挙げれば、フラッシュ106a〜106dの読出しを行う間、システム100がバッテリ116を基に動作する動作モードでは、マイクロプロセッサ102は、バッテリ寿命を最大化するために、より低い読出しインターリーブポリシーを選択する。このような動作モードは、例えばフラッシュメモリ106a〜106dに記憶されているビデオ、オーディオ、および/または他の(例えば、テキスト)情報を再生する携帯型デバイスとしての使用の際に発生し得る。
別の例として、フラッシュメモリ106a〜106dからの読出しまたはそこへの書込みを行う間、システム100が外部電源から給電される動作モードでは、マイクロプロセッサ102は、アクセス時間を最小限に抑える読出しおよび/または書込みインターリーブポリシーを選択することができる。ある1つの応用例では、転送動作を完了させるのに必要な時間を最小限に抑えるために、データ(例えば、曲、ビデオ)を達成可能な最大データ転送速度でフラッシュメモリ106a〜106dに転送したり、そこから転送されるようにしたりすることができる。
或いは、読出しおよび書込みインターリーブポリシーは、バッテリ電圧、温度、または動作モードに従って、動的調整を行うことなく独立して決定され、記憶され、あるいは他の方法で事前に設定されるようにしてもよい。
マイクロプロセッサ102は、例えば図2〜3を参照しながらそれぞれ説明するような、様々な方法に従って、試験コード126や制御コード128などの命令プログラムを実行することができる。
図2において、流れ図200は、試験コード126を実行したときにマイクロプロセッサ102が実行し得る動作の一例を示している。図1の例では、マイクロプロセッサ102によって実行される試験コード126の単一のブロックがNVM124に記憶されている様子が示されているが、他のプロセッサまたは論理回路が、これらの動作の一部または全部を実施するようにしてもよいし、RAM(図示せず)内など、NVM124以外の位置に記憶されている命令を使用するようにしてもよい。
この例では、図示の方法は、マイクロプロセッサ102がインターリーブポリシー130の更新を要求することにより、ステップ205から開始される。以下では図2を参照しながら、マイクロプロセッサにインターリーブポリシー130の更新を開始させる条件についてより詳しく説明する。
ステップ210において、マイクロプロセッサ102は、温度センサ136に対するポーリングを行うことによって、または他の方法で、温度センサ136を読み出すことによって温度をチェックする。ステップ215で、温度が事前に設定された閾値温度を超えている場合には、ステップ220で、マイクロプロセッサ102は、読出しと書込みの両方に関して、最小インターリーブ比、例えば1:1などの比を有するインターリーブポリシーを選択する。そして、ステップ225において、マイクロプロセッサ102は、選択済みの読出しおよび書込みインターリーブポリシー130をNVM124に記憶させ、ステップ230で本処理を終了する。
ステップ215で、温度が事前設定された閾値温度を超えていない場合には、ステップ235において、マイクロプロセッサ102は、電源をチェックする。ステップ240において、システム100が外部電源を使用している場合には、ステップ245において、マイクロプロセッサ102は、読出しと書込みの両方に関して、最大インターリーブ比、例えば4:1などの比を有するインターリーブポリシーを選択する。次に、ステップ225で、マイクロプロセッサ102は、選択済みの読出しおよび書込みインターリーブポリシー130をNVM124に記憶し、ステップ230にて本処理を終了する。
ステップ240において、システム100がバッテリ116を電源として使用している場合には、処理はステップ250に進む。ステップ250において、マイクロプロセッサ102は、電圧レギュレータ118内の電力マネージャ120の状態レジスタ122を読み出すことによって、バッテリ電圧をチェックする。次に、ステップ255において、マイクロプロセッサ102は、システム100の動作モードをチェックする。動作モードとしては、例えばシステム100が現在実施している動作や、最大バッテリ寿命モードや最小遅延モードなどユーザ選択された動作モードなどを挙げることができる。また、別の例として、マイクロプロセッサ102は、データインターフェイス132内のデータフロー、ディスプレイ142の動作状態、およびオーディオ出力デバイス140内の出力をチェックすることができる。そして、これらのデバイスが大量の電流を取り入れている場合は、マイクロプロセッサ102は、低いインターリーブ比を有するインターリーブポリシーを選択する。バッテリ電圧および動作モードがチェックされた後に、マイクロプロセッサ102は、ステップ260において書込みインターリーブポリシーを、ステップ265において読出しインターリーブポリシーを、それぞれ独立して選択する。次に、ステップ225において、マイクロプロセッサ102は、選択済みの読出しおよび書込みインターリーブポリシー130をNVM124に記憶し、ステップ230にて本処理を終了する。
図3において、流れ図300は、制御コード128が実行されたときにマイクロプロセッサ102が実施できる動作の一例を示している。マイクロプロセッサ102は、制御コード128を実行して適切なインターリーブポリシーを選択し、選択済みのインターリーブポリシーをメモリコントローラ104に送ることができる。この例では、図示の方法は、マイクロプロセッサ102がフラッシュメモリ106a〜106dにアクセスすることを求めるコマンドを受け取ることにより、ステップ305から開始する。ステップ310で、マイクロプロセッサ102は、書込みまたは読出しコマンドを受け取る。例えば、ユーザがデータインターフェイス132を介してフラッシュメモリ106a〜106dにデータをダウンロードするときは、マイクロプロセッサ102は、書込みコマンドを受け取ることになる。また、別の例として、ユーザがユーザインターフェイス138を使用して、フラッシュメモリ106a〜106dに記憶されているビデオを再生するようシステム100に命令するときは、マイクロプロセッサ102は、読出しコマンドを受け取ることになる。
次いで、ステップ315で、マイクロプロセッサ102は、インターリーブポリシーを更新する必要があるかどうか判定する。マイクロプロセッサ102は、インターリーブポリシーを更新する必要があると判定した場合には、ステップ350において、流れ図200に示されるように、試験コード126を実行してインターリーブポリシーを選択し、記憶する。例えば、温度、電源、バッテリ電圧、および/または動作モードの内のいずれかが変更されたときは、インターリーブポリシーを変更する必要が生じる可能性がある。また、別の例では、インターリーブポリシーは、スケジュールに従って周期的に(例えば、1時間毎、1日毎、1週間毎などに)更新され得る。
ステップ315でインターリーブポリシーを更新する必要がないと判定した場合にはステップ320に進む。ステップ320において、マイクロプロセッサ102は、当該コマンドが読出しコマンドであるのかそれとも書込みコマンドであるのかチェックする。受け取られたコマンドが書込みコマンドである場合は、ステップ325において、マイクロプロセッサ102は、書込みインターリーブポリシーをメモリコントローラ104に送る。そして、ステップ330において、マイクロプロセッサ102は、書込みコマンドをメモリコントローラ104に送る。その後、ステップ335で本処理を終了する。
一方、ステップ320で、当該コマンドが読出しコマンドである場合、ステップ340において、マイクロプロセッサ102は、読出しインターリーブポリシーをメモリコントローラ104に送る。そして、ステップ345において、マイクロプロセッサ102は、読出しコマンドをメモリコントローラ104に送る。その後、ステップ335で本処理を終了する。
マイクロプロセッサ102がインターリーブポリシーを選択し記憶した後は、処理はステップ320に戻る。
以上、本方法の一実施形態について説明してきたが、他の実施形態は、上記のステップを異なる順序で実施することも、上記のステップを、フラッシュメモリの読出しおよび書込みに適したインターリーブポリシーを選択する同じ主要機能を達成するように修正された構成で実施することもできる。
また、図1を参照しながら携帯型であってもよいシステムの一例について説明したが、他の実施形態として、デスクトップやネットワーク環境などのような他の処理応用例に展開されても良い。
いくつかのシステムは、本発明の諸実施形態と共に使用され得るコンピュータシステムとして実施され得る。例えば、様々な実施形態は、デジタル回路および/またはアナログ回路、コンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せを含むことができる。装置は、情報キャリア内に有形に実装されるコンピュータプログラムの形で実施することができ、例えば機械読取り可能な記憶装置の形で、あるいはプログラマブルプロセッサによって実行される伝搬信号の形で実施することができ、また、方法は、入力データを操作し、出力を生成することによって本発明の諸機能を実施する命令プログラムを実行する、プログラマブルプロセッサによって実施することができる。本発明は有利なことに、データ記憶システムとの間でデータおよび命令を送受信するように結合された少なくとも1つのプログラマブルプロセッサ、少なくとも1つの入力デバイス、および/または少なくとも1つの出力デバイスを含むプログラマブルシステム上で実行可能な1つまたは複数のコンピュータプログラムの形で実施することができる。コンピュータプログラムは、ある種の活動を実施しまたはある種の結果をもたらすためにコンピュータ内で直接的にまたは間接的に使用され得る1組の命令である。コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語を含めた任意の形態のプログラミング言語で書くことができ、また、スタンドアロンプログラム、あるいはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットを含めた任意の形態で配備することもできる。
命令プログラムの実行に適したプロセッサとしては、例えば、任意の種類のコンピュータの単一のプロセッサまたは複数のプロセッサの内の1つを含んでよい汎用マイクロプロセッサと専用マイクロプロセッサの両方が挙げられる。プロセッサは一般に、読取り専用メモリまたはランダムアクセスメモリあるいはそれらの両方から命令およびデータを受け取る。コンピュータの本質的な要素は、命令を実行するプロセッサと、命令およびデータを記憶する1つまたは複数のメモリである。また、コンピュータは一般に、データファイルを記憶する1つまたは複数の大容量記憶装置を含み、またはそれらと通信するように動作可能に結合されるが、かかるデバイスとしては、内部ハードディスクや取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、および光ディスクが挙げられる。コンピュータプログラム命令およびデータを有形に実装するのに適した記憶装置としては、例えばEPROM、EEPROM、フラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクや取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD−ROMおよびDVD−ROMディスクを含めた全ての形式の不揮発性メモリが挙げられる。プロセッサおよびメモリは、ASIC(特定用途向け集積回路)によって補完することも、その内部に組み込むこともできる。
いくつかの実施形態では、各システム100は、同じまたは同様の情報を用いてプログラムされ、かつ/または揮発性メモリおよび/または不揮発性メモリに記憶されている実質的に同一の情報を用いて初期化され得る。例えば、1つのデータインターフェイスは、デスクトップコンピュータやサーバなど該当するホストデバイスに結合されたときに、自動コンフィギュレーション機能、自動ダウンロード機能、および/または自動更新機能を実施するように構成され得る。
いくつかの実施形態では、1つまたは複数のユーザインターフェイス機能は、特定の機能を実施するようにカスタム構成され得る。本発明は、グラフィカルユーザインターフェイスおよび/またはインターネットブラウザを含むコンピュータシステム内で実施され得る。ユーザとの対話を実現するために、いくつかの実施形態は、ユーザに情報を表示するCRT(陰極線管)やLCD(液晶ディスプレイ)モニタなどの表示デバイスと、キーボードと、ユーザがコンピュータへの入力を行うことができるようになるマウスやトラックボールなどのポインティングデバイスとを有するコンピュータ上で実施され得る。
様々な実施形態では、システム100は、適当な通信方法、通信機器、および通信技法を使用して通信することができる。例えば、システム100は、専用物理リンク(例えば、光ファイバリンク、2地点間配線、およびデイジーチェーン)を経てソースから受信機にメッセージが直接移送される2地点間通信を使用して、互換性のあるデバイス(例えば、システム100にデータを転送し、かつ/またはシステム100からデータを転送することが可能なデバイス)と通信することができる。システムの各構成部品は、通信ネットワーク上のパケットベースメッセージを含めた任意の形態または媒体のアナログまたはデジタルデータ通信によって情報を交換することができる。通信ネットワークの例としては、例えばLAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、MAN(メトロポリタンエリアネットワーク)、無線および/または光ネットワーク、ならびにインターネットを形成するコンピュータおよびネットワークが挙げられる。他の実施形態は、通信ネットワークによって互いに結合された全てのまたは実質的に全てのデバイスに対して、例えば無指向性無線周波数(RF)信号を使用した同報通信を行うことによってメッセージを移送することができる。他の実施形態は、任意選択でフォーカス光学系と共に使用され得る指向性(すなわちナロービーム)アンテナまたは赤外線信号を使用して送信される、高指向性の特徴を有するRF信号などのメッセージを移送することができる。それだけに限らないが、例えばUSB2.0、Firewire、ATA/IDE、RS−232、RS−422、RS−485、802.11a/b/g、Wi−Fi、イーサネット(登録商標)、IrDA、FDDI(ファイバ分散データインターフェイス)、トークンリングネットワーク、周波数分割、時分割、または符号分割に基づく多重化技法など、適切なインターフェイスおよびプロトコルを使用した他の実施形態も可能である。いくつかの実施形態は任意選択で、データの整合性に関する誤り検査訂正(ECC)や、暗号化(例えばWEP)やパスワード保護などのセキュリティ対策などの機能を組み込むこともできる。
以上、本発明のいくつかの実施形態について説明した。しかしながら、本発明の趣旨および範囲を逸脱することなく、様々な修正を加えることができることが理解されるであろう。例えば、本明細書に開示の技法の各工程が異なる順序で実施された場合、開示のシステムの各構成要素が異なる様式で組み合わされた場合、あるいは、各構成要素が他の構成要素によって置き換えられまたは補完された場合にも、有利な結果が達成され得る。上記の各機能および処理(アルゴリズムを含む)は、ハードウェアの形で実施されてもソフトウェアの形で実施されてもそれらの組合せの形で実施されてもよく、いくつかの実施形態は、本明細書に記載されるものと同一でないモジュール上またはハードウェア上で実施することができる。したがって、他の実施形態も添付の特許請求の範囲に含まれる。
フラッシュメモリを含むシステムの一例を示すブロック図である。 図1のシステム内の読出しおよび書込みインターリーブポリシーを選択するための方法を示す流れ図である。 メモリアクセス処理が要求されるときに、選択済みのインターリーブポリシーを適用するための方法を示す流れ図である。

Claims (26)

  1. インターリーブされたメモリを使用してデータを処理するためのシステムであって、
    電源と、
    前記電源と接続されて動作可能な複数のメモリ素子と、
    前記複数のメモリ素子へのアクセスのインターリーブ比を選択的に制御するメモリコントローラと、
    命令を受け取るプロセッサとを備え、該命令は、前記プロセッサに前記メモリコントローラに対して前記インターリーブ比を特定させる処理を実施させ、前記処理が、
    前記メモリ素子に対するアクセス要求を受け取り、
    受け取られた前記アクセス要求を処理するための前記電源から前記メモリに引き出されるピーク電流を、前記アクセス要求を実施すべきインターリーブ比を選択することによって制御することを含むことを特徴とするシステム。
  2. 前記複数のメモリ素子は、フラッシュメモリを備えることを特徴とする請求項1に記載のシステム。
  3. 前記電源は、携帯型の蓄積エネルギー源を備えることを特徴とする請求項1に記載のシステム。
  4. 前記ピーク電流の制御は、使用可能な最大インターリーブ比未満のインターリーブ比を選択することを含むことを特徴とする請求項1に記載のシステム。
  5. インターリーブされたデータを記憶するように構成されたフラッシュメモリにアクセスするためのインターリーブポリシーを選択する方法であって、
    インターリーブされたフラッシュメモリの読出しの要求を受け取り、
    第1の基準セットに基づいて、前記フラッシュメモリからの読出しのための読出しインターリーブ比を特定し、
    前記フラッシュメモリへの書込みの要求を受け取り、
    第2の基準セットに基づいて、前記フラッシュメモリへの書込みのための書込みインターリーブ比を特定することを含み、特定される前記読出しインターリーブ比と書込みインターリーブ比とが異なることを特徴とする方法。
  6. 前記第1の基準セットは、前記フラッシュメモリに電力を供給するのに使用可能な電源電圧または電流を含むことを特徴とする請求項5に記載の方法。
  7. 前記第1の基準セットは、前記フラッシュメモリに電力を供給するのに使用可能な電源電圧または電流が第1の閾値を超えた場合に、前記読出しインターリーブ比を使用可能な最小の読出しインターリーブ比よりも大きくなるように定義することを特徴とする請求項5に記載の方法。
  8. 前記第2の基準セットは、前記フラッシュメモリに電力を供給するのに使用可能な前記電源電圧または電流が、前記第1の閾値とは別の第2の閾値を超えたときは、前記書込みインターリーブ比を、使用可能な最小の書込みインターリーブ比よりも大きくなるように定義することを特徴とする請求項7に記載の方法。
  9. 前記第1の基準セットは、携帯型の蓄積エネルギー源から引き出された電力を使用して前記フラッシュメモリが作動されていない限り、前記読出しインターリーブ比を、使用可能な最大の読出しインターリーブ比となるように定義することを特徴とする請求項5に記載の方法。
  10. 前記第2の基準セットは、前記書込みインターリーブ比が固定されるように定義することを特徴とする請求項5に記載の方法。
  11. 前記第2の基準セットは、前記フラッシュメモリに書き込まれるべきデータに関連するデータ転送速度を備えることを特徴とする請求項5に記載の方法。
  12. 前記書込みインターリーブ比は、前記データ転送速度で前記データを前記フラッシュメモリに書き込むのに十分な比を有することを特徴とする請求項11に記載の方法。
  13. 前記第2の基準セットは、ビデオおよびオーディオ情報を含むデータストリームに関する書込みインターリーブ比を、ビデオ情報を伴わないオーディオ情報を含むデータストリームに関する書込みインターリーブ比よりも高くなるように定義することを特徴とする請求項12に記載の方法。
  14. 前記第2の基準セットは、ビデオ情報を含むデータストリームに関する書込みインターリーブ比を、静止画像情報を含むデータストリームに関する書込みインターリーブ比よりも高くなるように定義することを特徴とする請求項12に記載の方法。
  15. 前記第1の基準セットおよび前記第2の基準セットの内の少なくとも1つは、温度が閾値を超えたことが検出されたときに、それぞれ読出しおよび書込みインターリーブ比が減少するように定義することを特徴とする請求項5に記載の方法。
  16. 前記第1の基準セットおよび第2の基準セットの内の少なくとも1つは、電力消費を最小限に抑える信号に応答して、読出しおよび書込みインターリーブ比がそれぞれ減少するように定義することを特徴とする請求項5に記載の方法。
  17. 前記読出しおよび書込みインターリーブ比は、少なくとも1つの動作状態において互いに異なる比を含むことを特徴とする請求項5に記載の方法。
  18. 前記読出しインターリーブ比の特定は、前記読出しの要求を処理するために取り込まれる最大電流レベルを制御することを含むことを特徴とする請求項5に記載の方法。
  19. 前記書込みインターリーブ比の特定は、前記書込みの要求を処理するために取り込まれる最大電流レベルを制御することを含むことを特徴とする請求項5に記載の方法。
  20. コンピュータ読取り可能な命令を備える製品であって、前記命令がコンピュータに、
    メモリに対するアクセス要求を受け取り、
    第1の基準セットに基づく読出しインターリーブポリシー、または第2の基準セットに基づく書込みインターリーブポリシーの内から選択することによって、要求されている前記アクセスを実施するためのインターリーブポリシーを特定し、前記第1および第2の基準セットは、少なくとも1つの動作状態において互いに異なる少なくとも1つの基準を含み、
    特定された前記インターリーブポリシーを使用して、要求されている前記メモリアクセスを実施する信号を送ることを含む処理を実行させることを特徴とする製品。
  21. 前記第1の基準セットは、温度、電源、およびバッテリ電圧からなるグループの1つまたは複数のメンバを含むことを特徴とする請求項20に記載の製品。
  22. 前記第2の基準セットは、温度、動作モード、データ転送速度、電源、およびバッテリ電圧からなるグループの1つまたは複数のメンバを含むことを特徴とする請求項20に記載の製品。
  23. 前記処理は、更に、特定された前記インターリーブポリシーを使用して複数のフラッシュメモリブロックにアクセスすることを含むことを特徴とする請求項20に記載の製品。
  24. 前記処理は、更に、前記読出しインターリーブポリシーと、前記書込みインターリーブポリシーの内の少なくとも1つを更新することを含むことを特徴とする請求項20に記載の製品。
  25. 前記インターリーブポリシーの少なくとも1つを更新することが、温度、電源、バッテリ電圧、および動作モードからなるグループから選択される少なくとも1つのパラメータの変動を特定することを含むことを特徴とする請求項24に記載の製品。
  26. 前記処理は、更に、温度が所定の閾値を超えたことが検出されたときに、前記読出しインターリーブ比と、前記書込みインターリーブ比の内の少なくとも1つを減少させることを含むことを特徴とする請求項20に記載の製品。
JP2007009575A 2006-01-18 2007-01-18 フラッシュメモリ用インターリーブポリシー Expired - Fee Related JP4870582B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/334,293 US7793059B2 (en) 2006-01-18 2006-01-18 Interleaving policies for flash memory
US11/334,293 2006-01-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011218262A Division JP5551136B2 (ja) 2006-01-18 2011-09-30 フラッシュメモリ用インターリーブポリシー

Publications (2)

Publication Number Publication Date
JP2007193810A true JP2007193810A (ja) 2007-08-02
JP4870582B2 JP4870582B2 (ja) 2012-02-08

Family

ID=37898345

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007009575A Expired - Fee Related JP4870582B2 (ja) 2006-01-18 2007-01-18 フラッシュメモリ用インターリーブポリシー
JP2011218262A Expired - Fee Related JP5551136B2 (ja) 2006-01-18 2011-09-30 フラッシュメモリ用インターリーブポリシー

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011218262A Expired - Fee Related JP5551136B2 (ja) 2006-01-18 2011-09-30 フラッシュメモリ用インターリーブポリシー

Country Status (5)

Country Link
US (2) US7793059B2 (ja)
EP (2) EP2267602B1 (ja)
JP (2) JP4870582B2 (ja)
CN (2) CN101661434B (ja)
TW (1) TWI340903B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262507A (ja) * 2009-05-08 2010-11-18 Sony Corp データ記憶システムおよびデータ記憶方法、実行装置および制御方法、並びに制御装置および制御方法
JP2011530731A (ja) * 2008-08-05 2011-12-22 サンディスク アイエル リミテッド 複数のストレージデバイスを管理するためのストレージシステムおよび方法
JP2012043420A (ja) * 2010-07-26 2012-03-01 Apple Inc 電力消費を制限するように不揮発性メモリの動作を動的に制御する方法及びシステム
US8145828B2 (en) 2008-08-25 2012-03-27 Hitachi, Ltd. Flash memory-mounted storage apparatus
KR20140025595A (ko) * 2011-09-02 2014-03-04 애플 인크. 레이턴시를 감소시키고 호스트에 대한 스루풋을 개선하기 위한 동시적인 데이터 전송 및 에러 제어
JP2015537317A (ja) * 2012-12-10 2015-12-24 クアルコム,インコーポレイテッド 非対称のメモリ構成要素を有するメモリサブシステム内でメモリを動的に割り振るためのシステムおよび方法
JP2016503911A (ja) * 2012-12-10 2016-02-08 クアルコム,インコーポレイテッド サービス品質を使用して異なるメモリデバイスにメモリを割り振るためのシステムおよび方法
JP2016529618A (ja) * 2013-08-08 2016-09-23 クアルコム,インコーポレイテッド 選択的な電力または性能の最適化を伴うメモリチャネルインターリービングのためのシステムおよび方法

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552280B1 (en) * 2006-06-28 2009-06-23 Emc Corporation Asymmetrically interleaving access to redundant storage devices
US8402201B2 (en) 2006-12-06 2013-03-19 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery in solid-state storage
US20080189558A1 (en) * 2007-02-01 2008-08-07 Sun Microsystems, Inc. System and Method for Secure Data Storage
WO2009037697A2 (en) 2007-09-20 2009-03-26 Densbits Technologies Ltd. Improved systems and methods for determining logical values of coupled flash memory cells
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8427867B2 (en) * 2007-10-22 2013-04-23 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8443242B2 (en) * 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072104A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
US8607128B2 (en) 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
US8335977B2 (en) * 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
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
US7979667B2 (en) * 2007-12-10 2011-07-12 Spansion Llc Memory array search engine
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8276051B2 (en) 2007-12-12 2012-09-25 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
WO2009078006A2 (en) * 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US9152496B2 (en) * 2007-12-21 2015-10-06 Cypress Semiconductor Corporation High performance flash channel interface
US9495116B2 (en) * 2007-12-26 2016-11-15 Sandisk Il Ltd. Storage device coordinator and a host device that includes the same
JP2009211192A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリシステム
US8099539B2 (en) * 2008-03-10 2012-01-17 Lsi Corporation Method and system of a shared bus architecture
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8370603B2 (en) 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
KR101581679B1 (ko) * 2009-03-18 2015-12-31 삼성전자주식회사 저장 장치 및 저장 장치의 버퍼 메모리 관리 방법
US8285917B2 (en) * 2009-03-26 2012-10-09 Scaleo Chip Apparatus for enhancing flash memory access
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8321647B2 (en) * 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8327092B2 (en) * 2009-09-21 2012-12-04 Freescale Semiconductor, Inc. Memory device configurable as interleaved or non-interleaved memory
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
KR101623730B1 (ko) * 2009-11-23 2016-05-25 삼성전자주식회사 인터리버 장치
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8904085B2 (en) * 2010-01-14 2014-12-02 Lenovo (Singapore) Pte. Ltd. Solid-state memory management
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US9104610B2 (en) 2010-04-06 2015-08-11 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
JP2011233114A (ja) * 2010-04-30 2011-11-17 Toshiba Corp メモリシステム
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8826051B2 (en) 2010-07-26 2014-09-02 Apple Inc. Dynamic allocation of power budget to a system having non-volatile memory and a processor
US8522055B2 (en) 2010-07-26 2013-08-27 Apple Inc. Peak power validation methods and systems for non-volatile memory
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US20120179883A1 (en) * 2011-01-12 2012-07-12 Broadcom Corpotation System and method for dynamically adjusting memory performance
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US20120221767A1 (en) 2011-02-28 2012-08-30 Apple Inc. Efficient buffering for a system having non-volatile memory
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8645723B2 (en) 2011-05-11 2014-02-04 Apple Inc. Asynchronous management of access requests to control power consumption
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8943336B2 (en) * 2011-07-01 2015-01-27 Intel Corporation Method and apparatus for configurable thermal management
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
CN103064799B (zh) * 2011-10-21 2016-03-09 神讯电脑(昆山)有限公司 电子系统及其数据保全方法与装置
US20130117532A1 (en) * 2011-11-07 2013-05-09 Alexander Rabinovitch Interleaving address modification
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
TWI483111B (zh) * 2012-09-20 2015-05-01 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
CN103699491B (zh) * 2012-09-28 2017-05-10 群联电子股份有限公司 数据储存方法、存储器控制器与存储器储存装置
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
EP2884369B1 (en) 2013-12-16 2018-02-07 Stichting IMEC Nederland Memory control system for a non-volatile memory and control method
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9977628B2 (en) * 2014-04-16 2018-05-22 Sandisk Technologies Llc Storage module and method for configuring the storage module with memory operation parameters
KR102254099B1 (ko) 2014-05-19 2021-05-20 삼성전자주식회사 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9093160B1 (en) * 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9632562B2 (en) * 2014-11-20 2017-04-25 Qualcomm Incorporated Systems and methods for reducing volatile memory standby power in a portable computing device
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9996276B2 (en) * 2015-03-04 2018-06-12 Toshiba Memory Corporation Memory system, memory controller and control device
KR102222444B1 (ko) 2015-03-05 2021-03-04 삼성전자주식회사 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US11216323B2 (en) 2015-09-16 2022-01-04 Samsung Electronics Co., Ltd. Solid state memory system with low power error correction mechanism and method of operation thereof
US10241701B2 (en) 2015-09-16 2019-03-26 Samsung Electronics Co., Ltd. Solid state memory system with power management mechanism and method of operation thereof
KR20170078307A (ko) * 2015-12-29 2017-07-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10459855B2 (en) 2016-07-01 2019-10-29 Intel Corporation Load reduced nonvolatile memory interface
US10007311B2 (en) * 2016-08-15 2018-06-26 Sandisk Technologies Llc Adaptive temperature and memory parameter throttling
CN110489051A (zh) * 2018-05-14 2019-11-22 慧荣科技股份有限公司 数据储存装置及系统信息的编程方法
TWI687811B (zh) * 2018-05-14 2020-03-11 慧榮科技股份有限公司 資料儲存裝置及系統資訊的編程方法
TWI667606B (zh) * 2018-07-06 2019-08-01 深圳大心電子科技有限公司 記憶體管理方法以及儲存控制器
KR102645786B1 (ko) * 2019-07-08 2024-03-12 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
DE112019007657T5 (de) 2019-08-23 2022-05-19 Micron Technology, Inc. Temperaturbasierte speicherverwaltung
US11183248B1 (en) 2020-07-29 2021-11-23 Micron Technology, Inc. Timing parameter adjustment mechanisms
US11823747B2 (en) 2020-08-27 2023-11-21 Micron Technology, Inc. External power functionality techniques for memory devices
WO2023009122A1 (en) * 2021-07-29 2023-02-02 Hewlett-Packard Development Company, L.P. Minimize delay times for status checks to flash memory

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233551A (ja) * 1992-02-21 1993-09-10 Toshiba Corp ポータブルコンピュータ
JPH1069420A (ja) * 1996-08-29 1998-03-10 Sony Corp 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
JPH10187302A (ja) * 1996-12-26 1998-07-14 Toshiba Corp データ記憶システム及び同システムに適用する電力節約方法
JP2003036205A (ja) * 2001-07-24 2003-02-07 Matsushita Electric Ind Co Ltd 記憶装置
JP2003308138A (ja) * 2002-04-18 2003-10-31 Toshiba Corp 電子機器および電子機器の駆動制御方法
JP2005135350A (ja) * 2003-10-31 2005-05-26 Sony Corp 温度制御装置及びその方法、携帯端末装置並びに温度制御プログラム
WO2005057475A1 (ja) * 2003-11-28 2005-06-23 Matsushita Electric Industrial Co., Ltd. 記録装置
JP2005521152A (ja) * 2002-03-27 2005-07-14 ノキア コーポレイション 電子装置と関連して電力消費量を決定するための方法およびシステム、ならびに電子装置

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503494A (en) * 1980-06-26 1985-03-05 Texas Instruments Incorporated Non-volatile memory system
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5978569A (en) * 1989-05-02 1999-11-02 Norand Corporation System having plurality of docking unit receptacles for transmitting data between plurality of portable data entry terminals in local area network with a central controller
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
TW231343B (ja) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US5341489A (en) 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
US5404543A (en) * 1992-05-29 1995-04-04 International Business Machines Corporation Method and system for reducing an amount of power utilized by selecting a lowest power mode from a plurality of power modes
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
DE69326236T2 (de) 1993-06-16 1999-12-30 Bull Hn Information Syst Speicher mit variabeler Verschachtelungshöhe und verwandte Konfigurationseinheit
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
US7137011B1 (en) * 1993-09-01 2006-11-14 Sandisk Corporation Removable mother/daughter peripheral card
US5508971A (en) * 1994-10-17 1996-04-16 Sandisk Corporation Programmable power generation circuit for flash EEPROM memory systems
FR2734061B1 (fr) * 1995-05-12 1997-06-20 Thomson Csf Procede de determination de la charge disponible d'une batterie d'accumulateurs en fin de decharge
US5627784A (en) * 1995-07-28 1997-05-06 Micron Quantum Devices, Inc. Memory system having non-volatile data storage structure for memory control parameters and method
DE69521616T2 (de) * 1995-11-28 2001-10-18 Bull Sa Speicherzugangsbegrenzer für dynamischen RAM
US5944829A (en) * 1996-09-30 1999-08-31 Intel Corporation Adjusting software characteristics by user interface based upon battery level and the amount of time the user wants the battery to last
FI104528B (fi) 1996-10-03 2000-02-15 Nokia Networks Oy Liikkuvan aseman paikallistamismenetelmä ja solukkoradioverkko
KR100205006B1 (ko) * 1996-10-08 1999-06-15 윤종용 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치
US6052306A (en) * 1996-11-04 2000-04-18 Siemens Aktiengesellschaft Method and device for automatic determination of the required high voltage for programming/erasing an EEPROM
JP3821536B2 (ja) * 1997-05-16 2006-09-13 沖電気工業株式会社 不揮発性半導体ディスク装置
US5994829A (en) * 1997-05-23 1999-11-30 Thomson Consumer Electronics, Inc. Color cathode-ray tube having phosphor elements deposited on an imperforate matrix border
JP3508503B2 (ja) * 1997-10-02 2004-03-22 日本精工株式会社 リニアガイド装置
US6148435A (en) * 1997-12-24 2000-11-14 Cypress Semiconductor Corporation Optimized programming/erase parameters for programmable devices
US6021076A (en) 1998-07-16 2000-02-01 Rambus Inc Apparatus and method for thermal regulation in memory subsystems
US6272594B1 (en) * 1998-07-31 2001-08-07 Hewlett-Packard Company Method and apparatus for determining interleaving schemes in a computer system that supports multiple interleaving schemes
JP2001067863A (ja) * 1999-08-31 2001-03-16 Mitsubishi Electric Corp 半導体記憶装置
US6516381B1 (en) * 1999-09-28 2003-02-04 Intel Corporation Supplying voltage to a memory module
US6269025B1 (en) * 2000-02-09 2001-07-31 Advanced Micro Devices, Inc. Memory system having a program and erase voltage modifier
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6304487B1 (en) * 2000-02-28 2001-10-16 Advanced Micro Devices, Inc. Register driven means to control programming voltages
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
JP2001352373A (ja) * 2000-06-08 2001-12-21 Nintendo Co Ltd 携帯端末を用いた表示処理システム、それに用いられる携帯端末、およびそれに用いられる変換アダプタ
US6748562B1 (en) * 2000-10-31 2004-06-08 Agilent Technologies, Inc. Memory tester omits programming of addresses in detected bad columns
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
TW493119B (en) * 2001-03-28 2002-07-01 Via Tech Inc Method for automatically identifying the type of memory and motherboard using the same
JP4694040B2 (ja) * 2001-05-29 2011-06-01 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP3822081B2 (ja) * 2001-09-28 2006-09-13 東京エレクトロンデバイス株式会社 データ書込装置、データ書込制御方法及びプログラム
US6871257B2 (en) * 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
KR100463199B1 (ko) * 2002-03-04 2004-12-23 삼성전자주식회사 플렉서블 리던던시 스킴을 갖는 반도체 메모리 장치
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
CN1177282C (zh) * 2002-09-24 2004-11-24 威盛电子股份有限公司 执行热键功能的方法与系统
US6879526B2 (en) * 2002-10-31 2005-04-12 Ring Technology Enterprises Llc Methods and apparatus for improved memory access
US6941438B2 (en) * 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7127622B2 (en) * 2003-03-04 2006-10-24 Micron Technology, Inc. Memory subsystem voltage control and method
WO2004086363A2 (en) * 2003-03-27 2004-10-07 M-Systems Flash Disk Pioneers Ltd. Data storage device with full access by all users
US7240219B2 (en) * 2003-05-25 2007-07-03 Sandisk Il Ltd. Method and system for maintaining backup of portable storage devices
US7237074B2 (en) * 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
JP3902159B2 (ja) * 2003-06-13 2007-04-04 株式会社日立製作所 不揮発性メモリ装置
US7081897B2 (en) 2003-12-24 2006-07-25 Intel Corporation Unified memory organization for power savings
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
JP2005234935A (ja) * 2004-02-20 2005-09-02 Renesas Technology Corp 情報記憶装置
US7577859B2 (en) * 2004-02-20 2009-08-18 International Business Machines Corporation System and method of controlling power consumption in an electronic system by applying a uniquely determined minimum operating voltage to an integrated circuit rather than a predetermined nominal voltage selected for a family of integrated circuits
US7656635B2 (en) * 2004-08-06 2010-02-02 Intel Corporation Overheat detection in thermally controlled devices
US7502256B2 (en) * 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US7180813B2 (en) * 2004-12-15 2007-02-20 Stmicroelectronics, Inc. Programmable system device having a shared power supply voltage generator for FLASH and PLD modules
US7236894B2 (en) * 2004-12-23 2007-06-26 Rambus Inc. Circuits, systems and methods for dynamic reference voltage calibration
US7864615B2 (en) * 2005-02-25 2011-01-04 Kingston Technology Corporation Flash memory controller utilizing multiple voltages and a method of use
TWI319160B (en) * 2005-07-11 2010-01-01 Via Tech Inc Memory card capable of supporting various voltage supply and control chip and method of supporting voltage thereof
KR100725979B1 (ko) * 2005-07-23 2007-06-08 삼성전자주식회사 비휘발성 메모리의 기입/독출 내구력 개선 장치 및 그 방법
US7712670B2 (en) * 2005-09-28 2010-05-11 Sauerwein Jr James T Data collection device and network having radio signal responsive mode switching

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233551A (ja) * 1992-02-21 1993-09-10 Toshiba Corp ポータブルコンピュータ
JPH1069420A (ja) * 1996-08-29 1998-03-10 Sony Corp 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
JPH10187302A (ja) * 1996-12-26 1998-07-14 Toshiba Corp データ記憶システム及び同システムに適用する電力節約方法
JP2003036205A (ja) * 2001-07-24 2003-02-07 Matsushita Electric Ind Co Ltd 記憶装置
JP2005521152A (ja) * 2002-03-27 2005-07-14 ノキア コーポレイション 電子装置と関連して電力消費量を決定するための方法およびシステム、ならびに電子装置
JP2003308138A (ja) * 2002-04-18 2003-10-31 Toshiba Corp 電子機器および電子機器の駆動制御方法
JP2005135350A (ja) * 2003-10-31 2005-05-26 Sony Corp 温度制御装置及びその方法、携帯端末装置並びに温度制御プログラム
WO2005057475A1 (ja) * 2003-11-28 2005-06-23 Matsushita Electric Industrial Co., Ltd. 記録装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011530731A (ja) * 2008-08-05 2011-12-22 サンディスク アイエル リミテッド 複数のストレージデバイスを管理するためのストレージシステムおよび方法
US8145828B2 (en) 2008-08-25 2012-03-27 Hitachi, Ltd. Flash memory-mounted storage apparatus
JP2010262507A (ja) * 2009-05-08 2010-11-18 Sony Corp データ記憶システムおよびデータ記憶方法、実行装置および制御方法、並びに制御装置および制御方法
JP2012043420A (ja) * 2010-07-26 2012-03-01 Apple Inc 電力消費を制限するように不揮発性メモリの動作を動的に制御する方法及びシステム
KR20140025595A (ko) * 2011-09-02 2014-03-04 애플 인크. 레이턴시를 감소시키고 호스트에 대한 스루풋을 개선하기 위한 동시적인 데이터 전송 및 에러 제어
JP2014529132A (ja) * 2011-09-02 2014-10-30 アップル インコーポレイテッド 待ち時間を短縮しホストへのスループットを改善する同時データ転送及びエラー制御
KR101598726B1 (ko) * 2011-09-02 2016-02-29 애플 인크. 레이턴시를 감소시키고 호스트에 대한 스루풋을 개선하기 위한 동시적인 데이터 전송 및 에러 제어
JP2015537317A (ja) * 2012-12-10 2015-12-24 クアルコム,インコーポレイテッド 非対称のメモリ構成要素を有するメモリサブシステム内でメモリを動的に割り振るためのシステムおよび方法
JP2016503911A (ja) * 2012-12-10 2016-02-08 クアルコム,インコーポレイテッド サービス品質を使用して異なるメモリデバイスにメモリを割り振るためのシステムおよび方法
US10067865B2 (en) 2012-12-10 2018-09-04 Qualcomm Incorporated System and method for allocating memory to dissimilar memory devices using quality of service
JP2016529618A (ja) * 2013-08-08 2016-09-23 クアルコム,インコーポレイテッド 選択的な電力または性能の最適化を伴うメモリチャネルインターリービングのためのシステムおよび方法

Also Published As

Publication number Publication date
CN100555255C (zh) 2009-10-28
CN101004724A (zh) 2007-07-25
US7793059B2 (en) 2010-09-07
EP1818830A3 (en) 2007-10-10
EP2267602A3 (en) 2012-01-04
US20070168625A1 (en) 2007-07-19
EP1818830A2 (en) 2007-08-15
US20100332741A1 (en) 2010-12-30
TW200741464A (en) 2007-11-01
EP2267602B1 (en) 2018-07-18
JP5551136B2 (ja) 2014-07-16
JP4870582B2 (ja) 2012-02-08
TWI340903B (en) 2011-04-21
CN101661434A (zh) 2010-03-03
EP1818830B1 (en) 2018-07-18
EP2267602A2 (en) 2010-12-29
JP2012043451A (ja) 2012-03-01
CN101661434B (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
JP4870582B2 (ja) フラッシュメモリ用インターリーブポリシー
US9996466B2 (en) Apparatus, system and method for caching compressed data
US8584133B2 (en) Dynamic performance and resource management in a processing system
US8291131B2 (en) Data transfer management
JP4551217B2 (ja) データ格納システムにおけるシンボル頻度の同レベル化
US9110669B2 (en) Power management of a storage device including multiple processing cores
US9632561B2 (en) Power-gating media decoders to reduce power consumption
US8726004B2 (en) Switching drivers between processors
US9448922B2 (en) High-performance storage structures and systems featuring multiple non-volatile memories
EP2732374B1 (en) Mobile memory cache read optimization
JP6200235B2 (ja) マルチメディアプロセッシングシステム及びそのマルチメディアプロセッシング方法
US20090300227A1 (en) Method of monitoring host activity
JP2006525598A (ja) 携帯電子機器のためのコントローラ
JPWO2008093606A1 (ja) 不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
US7856518B2 (en) Information processing device
KR101757355B1 (ko) 캐시 액세스 모드 선택을 위한 방법 및 장치
US10802760B2 (en) Apparatus and method of intelligent dynamic application aware storage device optimization
JP2009500771A (ja) 記録媒体動作時のパワーマネジメント
KR20140035845A (ko) 에너지 보존을 갖는 연속적인 데이터 전달
KR20190118428A (ko) 컨트롤러 및 이를 포함하는 메모리 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110401

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110701

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110930

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees