JP2008198206A - データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法 - Google Patents

データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法 Download PDF

Info

Publication number
JP2008198206A
JP2008198206A JP2008030430A JP2008030430A JP2008198206A JP 2008198206 A JP2008198206 A JP 2008198206A JP 2008030430 A JP2008030430 A JP 2008030430A JP 2008030430 A JP2008030430 A JP 2008030430A JP 2008198206 A JP2008198206 A JP 2008198206A
Authority
JP
Japan
Prior art keywords
storage device
data storage
read
size
operation unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008030430A
Other languages
English (en)
Inventor
Chan-Ik Park
贊 益 朴
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2008198206A publication Critical patent/JP2008198206A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】メモリの性能を高めることができるデータ処理システムおよびその動作方法を提供する。
【解決手段】ここに開示されるデータ処理システムの動作方法は、データ格納装置においてデータ操作を行うために使用される読み出し/書き込み動作単位のサイズを取得する段階と、メモリ割り当てファイルシステム単位のサイズを前記読み出し/書き込み動作単位のサイズの倍数に設定する段階515と、メモリ割り当てファイルシステム単位の開始アドレスを前記データ格納装置において使用される読み出し/書き込み動作単位の開始アドレスに設定する段階520と、を含む。
【選択図】図5

Description

本発明はデータ処理システムに関し、更に詳しくはデータ格納装置を使用するデータ処理システムおよびその動作方法に関する。
データ処理システムは、アクセスを容易にするためにコンピュータファイルを整理して格納するファイルシステムを使用する。ファイルシステムはデータの格納、整理、操作、検索、アクセス、そして復旧のため使用される圧縮データの集合のように見える。ファイルシステムはディスクファイルシステム、ネットワークファイルシステム、特殊目的ファイルシステムの三種類に分けられる。一般にディスクファイルシステムは、データ格納装置からファイルを格納するように構成される。一般にネットワークファイルシステムは、クライアントと遠距離ファイルアクセスプロトコル(remote file access protocol)のために使用される。一般に特殊目的ファイルシステムは、ディスクファイルシステムやネットワークファイルシステムとは関連がない。例えば、特殊目的ファイルシステムは、ファイルがソフトウェアによって動的に配列されたシステムであり、コンピュータの処理(computer processes)および/または一時ファイル領域の間の通信のために使用される。
上述したように、ディスクファイルシステムは、データ格納装置からファイルを格納するように構成される。図1は一般的なデータ処理システムのブロック図であり、図1に図示されたデータ処理システム100は、ファイルを格納するためのデータ格納装置としてフラッシュメモリを使用する。図1を参照すれば、一般的なデータ処理システム100は、ホスト105、メモリコントローラ110およびフラッシュメモリ115を備える。
メモリコントローラ110は、バッファメモリ120を備える。フラッシュメモリ115はセルアレイ125およびページバッファ130を備える。図1には図示されてないが、フラッシュメモリ115はデコーダ、データバッファまたは制御単位を含む。
メモリコントローラ110は、ホスト105からデータおよび書き込み命令を受信し、セルアレイ125にデータをプログラムするためにフラッシュメモリ115を制御する。又、メモリコントローラ110は、ホスト105から入力された読み出し命令に応じてセルアレイ125に格納されたデータを読み出すためにフラッシュメモリ115を制御する。
バッファメモリ120は、フラッシュメモリ115にプログラムされるデータとフラッシュメモリ115から読み出されたデータを一時格納する。バッファメモリ120は、メモリコントローラ110の制御によって一時格納されたデータをフラッシュメモリ115に伝送しホスト105に伝送する。
フラッシュメモリ115のセルアレイ125は複数のセルを含む。メモリセルは不揮発性であるので電源が切れても格納されたデータを維持する。ページバッファ130は、バッファとしてセルアレイの選択されたページに格納されるデータを格納し選択されたページから読み出されたデータを格納する。
フラッシュメモリ115のメモリセルは格納可能なデータビット数によってシングルレベルセル(SLC)およびマルチレベルセル(MLC)に分類される。シングルレベルセルはシングル−ビットデータを格納し、マルチレベルセルはマルチ−ビットデータを格納する。
一般にフラッシュメモリは、ブロックおよびページから構成される。各ブロックが32ページから構成される場合、各ページは512バイトである。また、ブロックが64ページから構成される場合、各ページは2048バイトである。一般に、各ページはエラー検出および/またはエラー訂正に使用される所定のバイトを有する。フラッシュメモリは、ページ単位で読み出しまたはプログラムされるが、消去はブロック単位で同時に行われる。フラッシュメモリは、読み出しおよび/または書き込み動作を行うためのメモリ単位のサイズとしてページのサイズを利用する。
図1に図示されたフラッシュメモリ115にファイルを格納するために使用されるファイルシステムは、ファイルを維持するために割り当てられるディスク領域の一番少ない論理量で定義されたメモリ割り当て単位を有する。例えば、ファイル割り当てテーブル(File Allocation Table)として知られたMS−DOSファイルシステムは、クラスタ(cluster)と言うメモリ割り当てファイルシステム単位である。しかし、メモリ割り当てファイルシステム単位のサイズおよびフラッシュメモリに使用される読み出し/書き込み動作単位のサイズは合わなく、サイズが合わない場合、データ処理システムの性能は低下し、格納装置領域の利用効率が悪くなる。
図2Aを参照すれば、クラスタのサイズは2KB(メモリ割り当てファイルシステム単位のサイズ)に設定され、ページのサイズは4KB(フラッシュメモリの読み出し/書き込み動作単位のサイズ)に設定される。また、クラスタの開始アドレスは、ページ開始アドレスから2KBを差し引きして設定される。即ち、クラスタの開始アドレスとページの開始アドレスは一致しない。フラッシュメモリに記入するためのデータは、二つのクラスタデータである。この場合、二回のプログラム動作によって一番目のページに2KBが記入され、二番目のページに2KBが記入され、使用されてない2KBのメモリ領域が両側のページに生じる。この理由は、一回のプログラム動作ごとに一つのページが許可され、一つのページに一つのクラスタだけが割り当てられるのでそれぞれのページに使用されてないメモリ領域が生じる。
図2Bを参照すれば、クラスタのサイズは4KBに設定され、ページのサイズは4KBに設定される。図2Aと同様に、クラスタの開始アドレスは、ページ開始アドレスから2KBを差し引きして設定される。即ち、クラスタの開始アドレスとページの開始アドレスは一致しない。結果的に、シングルクラスタは二回の分離されたプログラム動作を利用して二つのページに記入され、使用されてない2KBのメモリが両側のページに生じる。上述した動作を参照すれば、メモリ領域の利用効率が落ちると共に、シングルのクラスタデータを記入するために二回のプログラム動作を使用するのでメモリ性能が低下する。
図3を参照すれば、他の例として性能の低下とメモリ領域の利用効率が落ちることが分かる。複数のクラスタは論理ページに配列され、同じ物理ページに論理部分を維持することが好ましい。クラスタ0は、フラッシュメモリのページ0に一番目に記入される。しかし、二番目のプログラム動作は、ページ0に対して実行されない。従って、クラスタ0およびクラスタ1を同じ物理ページに共に記入するために、クラスタ1がページ1に記入されると同時にクラスタ0がページ1に複写される。同様な動作の実行によって、クラスタ2およびクラスタ3がページ3に共に記入される。同じ物理ページに多様な論理ページのクラスタを記入するために倍数のプログラム動作が実行され、メモリの全てのページはそれぞれの論理ページ(複数のクラスタ)のために消耗される。
本発明の目的は、メモリの性能を高めることができるデータ処理システムおよびその動作方法を提供することである。
本発明の他の目的は、データ格納装置を効率的に利用可能なデータ処理システムおよびその動作方法を提供することである。
本発明の特徴によるデータ処理システムの動作方法は、データ格納装置においてデータ操作を行うために使用される読み出し/書き込み動作単位のサイズを取得する段階と、メモリ割り当てファイルシステム単位のサイズを前記読み出し/書き込み動作単位のサイズの倍数に設定する段階と、前記メモリ割り当てファイルシステム単位の開始アドレスを前記データ格納装置において使用される読み出し/書き込み動作単位の開始アドレスに設定する段階と、を含む。
この実施形態に於いて、前記読み出し/書き込み動作単位のサイズを取得する段階は、前記読み出し/書き込み動作単位のサイズを取得するためにホストから前記データ格納装置に要求信号を伝送する段階と、前記ホストにおいて前記データ格納装置から前記読み出し/書き込み動作単位のサイズを受け取る段階と、を含む。
この実施形態に於いて、前記読み出し/書き込み動作単位のサイズを取得する段階は、前記データ格納装置において前記ホストから伝送された前記要求信号に応じて前記データ格納装置の識別情報(identification)を読み出す段階と、前記データ格納装置の識別情報に基づいて前記読み出し/書き込み動作単位のサイズを決定する段階と、前記決定する段階において決定された前記読み出し/書き込み動作単位のサイズをホストに伝送する段階と、をさらに含む。
この実施形態に於いて、前記読み出し/書き込み動作単位のサイズを取得する段階は、前記データ格納装置において前記ホストから伝送された前記要求信号に応じて前記データ格納装置のレジスタから前記読み出し/書き込み動作単位のサイズを読み出す段階と、前記読み出す段階において読み出された前記読み出し/書き込み動作単位のサイズを前記ホストに伝送する段階と、をさらに含む。
この実施形態に於いて、前記読み出し/書き込み動作単位のサイズを取得する段階は、前記データ格納装置の識別情報を読み出す段階と、前記データ格納装置の識別情報に基づいて前記読み出し/書き込み動作単位のサイズを決定する段階と、を含む。
この実施形態に於いて、前記読み出し/書き込み動作単位のサイズを取得する段階は、前記データ格納装置と関連するレジスタから前記読み出し/書き込み動作単位のサイズを読み出す段階を含む。
この実施形態に於いて、前記設定されたメモリ割り当てファイルシステム単位のサイズをデータ格納装置にまたはデータ格納装置からデータ伝送単位に使用する段階をさらに含む。
この実施形態に於いて、データ格納装置からデータ操作を行うために使用される消去動作単位のサイズを取得する段階をさらに含む。
この実施形態に於いて、動作システム管理下のデータ格納装置においてメモリ管理動作を行うための動作単位を定義するために前記消去動作単位のサイズを使用する段階をさらに含む。
この実施形態に於いて、前記メモリ管理動作は、メモリのデフラグメント(defragmentation)動作である。
この実施形態に於いて、設定された前記メモリ割り当てファイルシステム単位のサイズを前記データ格納装置へ伝送するデータ単位として使用する段階と、前記データ格納装置において伝送されたデータを記入するために前記データ格納装置にNの読み出し/書き込み動作単位のプログラム動作を行う段階と、をさらに含み、前記Nは前記設定された前記メモリ割り当て単位のサイズと前記読み出し/書き込み動作単位のサイズとの間の関係を定義する倍数である。
この実施形態に於いて、前記データ格納装置は、SSD(solid state drive)および/またはフラッシュメモリ装置である。
本発明の他の特徴によるデータ格納装置の動作方法は、データ格納装置においてデータ操作を行うために使用される少なくとも一つのパラメータを決定するためにホストから要求信号を受け取る段階と、前記少なくとも一つのパラメータを決定する段階と、前記ホストへ前記少なくとも一つのパラメータを伝送する段階と、を含む。
この実施形態に於いて、前記少なくとも一つのパラメータは、読み出し/書き込み動作単位のサイズおよび/または消去動作単位のサイズを含む。
この実施形態に於いて、前記少なくとも一つのパラメータを決定する段階は、前記データ格納装置の識別情報を読み出す段階と、前記データ格納装置の識別情報に基づいて前記少なくとも一つのパラメータと、を決定する段階を含む。
この実施形態に於いて、前記少なくとも一つのパラメータを決定する段階は、前記データ格納装置のレジスタから読み出し/書き込み動作単位のサイズおよび/または消去動作単位のサイズを読み出す段階を含む。
本発明の他の特徴によるデータ処理システムは、プロセッサおよび前記プロセッサに連結されたコンピュータの読み出し媒体を含み、前記コンピュータの読み出し媒体は、コンピュータの読み出しプログラムコードを含み、前記コンピュータの読み出しプログラムコードは、データ格納装置からデータ操作を行うために使用される読み出し/書き込み動作単位のサイズを取得する構成のコンピュータの読み出しプログラムコードと、メモリ割り当てファイルシステム単位のサイズを前記読み出し/書き込み動作単位のサイズの倍数に設定する構成のコンピュータの読み出しプログラムコードと、前記メモリ割り当てファイルシステム単位の開始アドレスを前記データ格納装置から使用される読み出し/書き込み動作単位の開始アドレスに設定するように構成されるコンピュータの読み出しプログラムコードと、を含む。
本発明の他の特徴によるデータ格納装置、プロセッサおよび前記プロセッサに連結されたコンピュータの読み出し媒体を含み、前記コンピュータの読み出し媒体はコンピュータの読み出しプログラムコードを含み、前記コンピュータの読み出しプログラムコードは、データ格納装置からデータ操作を行うために使用される少なくとも一つのパラメータを決定するためにホストから要求信号を受け取る構成のコンピュータの読み出しプログラムコードと、前記少なくとも一つのパラメータを決定するように構成されるコンピュータの読み出しプログラムコードと、前記少なくとも一つのパラメータをホストに提供する構成のコンピュータの読み出しプログラムコードとを含む。
本発明の他の特徴によるデータ処理システムは、データ格納装置および前記データ格納装置に連結されたホストを含み、前記ホストは前記データ格納装置からデータ操作を行うために使用される読み出し/書き込み動作単位のサイズを取得し、メモリ割り当てファイルシステム単位のサイズを前記読み出し/書き込み動作単位のサイズの倍数に設定し、前記メモリ割り当てファイルシステム単位の開始アドレスを前記データ格納装置から使用される読み出し/書き込み動作単位の開始アドレスに設定する構成のプロセッサを含む。
この実施形態に於いて、前記ホストのプロセッサは、前記読み出し/書き込み動作単位のサイズを要求するために前記データ格納装置に要求信号を伝送し、前記データ格納装置から前記読み出し/書き込み動作単位のサイズを入力される構成である。
この実施形態に於いて、前記データ格納装置はプロセッサを含み、前記データ格納装置のプロセッサは、前記ホストから入力された要求信号に応じて前記データ格納装置の識別情報を読み出し、前記データ格納装置の識別情報に基づいて前記読み出し/書き込み動作単位のサイズを決定し、前記決定された読み出し/書き込み動作単位のサイズをホストに伝送する構成である。
この実施形態に於いて、前記データ格納装置はプロセッサを含み、前記データ格納装置のプロセッサは、前記ホストから入力された要求信号に応じて前記データ格納装置のレジスタから前記読み出し/書き込み動作単位のサイズを読み出し、前記読み出された読み出し/書き込み動作単位のサイズをホストに伝送する構成である。
この実施形態に於いて、前記ホストのプロセッサは、前記データ格納装置の識別情報を読み出し、前記データ格納装置の識別情報に基づいて読み出し/書き込み動作単位のサイズを決定する構成である。
この実施形態に於いて、前記ホストのプロセッサは、前記データ格納装置に関連されたレジスタから前記読み出し/書き込み動作単位のサイズを読み出す構成である。
この実施形態に於いて、前記ホストプロセッサは、前記設定されたメモリ割り当てファイルシステム単位のサイズをデータ伝送単位に使用して前記データ格納装置にデータを伝送する構成であり、前記データ格納装置はプロセッサを含み、前記データ格納装置のプロセッサは前記データ格納装置に伝送されたデータを記入するために前記データ格納装置に前記設定されたメモリ割り当て単位のサイズと前記読み出し/書き込み動作単位のサイズとの間の関係を定義する倍数の読み出し/書き込み動作単位でプログラム動作を行う構成である。
本発明によるデータ処理システムはメモリの性能を高めて、データ格納装置の使用効率を改善する。
以下、添付された図面を参照して本発明の実施形態に対して詳しく説明する。
本発明の実施形態によると、データ処理システムは、データ格納装置(例えば、フラッシュメモリ装置のページのサイズ)からデータ操作を行うために使用される読み出し/書き込み動作単位のサイズを取得し、取得された読み出し/書き込み動作単位のサイズによって動作することができるデータ格納装置を備える。多過ぎる読み出し/書き込み動作を減少させるために、そして格納装置でより効率的にメモリを利用するためにメモリ割り当てファイルシステム単位のサイズは読み出し/書き込み動作単位のサイズの倍数(multiple)に設定され、メモリ割り当てファイルシステム単位の開始アドレスは格納装置の読み出し/書き込み動作単位の開始アドレスに設定される。
図4を参照すれば、データ処理システムは、インターフェース410を通じて連結されるホスト400および格納装置405を備える。インターフェース410はATA、SATA、PATA、USB、SCSI、ESDI、IEEE1394、IDEまたはカードインターフェースの様な標準化されたインターフェースである。ホスト400はアドレス/データバス425を通じてメモリ420と通信するプロセッサ415を備える。プロセッサ415は、例えば、大量に生産して商業的に販売されるマイクロプロセッサ、または注文生産されるマイクロプロセッサである。メモリ420は、本発明の実施形態によるデータ処理システムを動作させるために使用されるソフトウェアおよびデータを含む一つまたはそれ以上のメモリ装置を示す。メモリ420はキャッシュ、ROM、PROM、EPROM、EEPROM、フラッシュ、SRAMおよびDRAM型の装置等を含むが、それに限定されるものではない。
メモリ420は五つまたはそれ以上に分けられるソフトウェアおよび/またはデータを含む。例えば、図4に図示されたように、メモリ420は動作システム428、アプリケーション(等)430、ファイルシステム435、メモリマネージャ440および入/出力ドライバ等445を備える。動作システム428はホスト400の動作を制御する。特に、動作システム428はホスト400のソフトウェアおよび/またはハードウェアの資源等(resources)を管理し、プロセッサ415を通じてプログラムの実行をコントロールする。アプリケーション(等)430はホスト400から処理される多様なアプリケーションのプログラムを示す。ファイルシステム435は、メモリ420および/または格納装置405の様な格納場所にコンピュータファイルおよび/またはデータを整理して格納するために使用されるシステムである。ファイルシステム435は、特別な動作システム428に基づいて動作する。メモリマネージャ440はメモリ420に行われるメモリアクセス動作および/または格納装置405の様な外部装置から行われる動作を管理する。入/出力ドライバ445はホスト400と他の装置(例えば、格納装置405)、コンピュータシステム、またはネットワーク(例えば、インターネット)との間で情報を伝送するために使用される。
格納装置405はアドレス/データバス460を通じてメモリ455と通信するコントローラ450を備える。メモリ455は固体状態メモリ(solid state memory)、フラッシュメモリおよび/または光学メモリ(optical memory)の様な多様な形態のメモリであるが、それに限定されるものではない。従って、格納装置405は固体状態メモリ(SSD)装置、フラッシュメモリ装置、ハードドライブ、CD/DVDである。コントローラ450はアドレス/データバス475を通じてローカルメモリ470と通信するプロセッサ465を備える。プロセッサ465は、例えば大量に生産して商業的に販売されるマイクロプロセッサ、または注文生産されるマイクロプロセッサである。ローカルメモリ470は、本発明の実施形態によるデータ処理システムを動作させるために使用されるソフトウェアおよびデータを含む一つまたはそれ以上のメモリ装置を示す。ローカルメモリ470はキャッシュ、ROM、PROM、EPROM、EEPROM、フラッシュ、SRAMおよびDRAM型の装置を含むが、それに限定されるものではない。
図4に図示されたように、ローカルメモリ470は三つまたはそれ以上に分けられるソフトウェアおよび/またはデータを含む。例えば、図4に図示されたように、ローカルメモリ470は動作システム478、フラッシュ変換レイヤ(FTL、Flash Translation Layer)モジュール480、データ485を備える。動作システム478は格納装置405の動作を制御する。特に、動作システム478は格納装置405のソフトウェアおよび/またはハードウェアの資源(resources)を管理し、プロセッサ465を通じてプログラムの実行をコントロールする。FTLモジュール480はフラッシュメモリ装置に利用される。上述したように、フラッシュチップはブロック単位で消去される。フラッシュメモリの一般的な消去動作の寿命はブロック当たり100、000回程度である。フラッシュメモリのある部分が他の部分より多く使用されて劣化されるのを避けるためにフラッシュメモリ装置は消去サイクルを分散するように構成される。これをウェアレべリング(wear leveling)と言う。ファイルシステム435がウェアレべリングのためにメモリ455のファイル/データの実際の位置を計算しないようにするためにFTLモジュール480はファイルシステム435およびメモリ455のファイル/データのインターフェースとして使用される。
図4は、本発明の実施形態によるデータ処理システムのソフトウェアの構造を示しているが、本発明は前記構造に限定されるものではなく、図示された動作を行うために他の構造を利用しても良い。
既に図4から説明した装置およびシステムの動作を行うためのコンピュータプログラムコードはJAVA(登録商標)、CまたはC++のようなハイレベルプログラム言語で記入される。なお、本発明の具体化された動作の実行のためにコンピュータプログラムコードは、他のプログラム言語で記入されても良い。モジュールおよびルーチンは性能向上、メモリの使用効率を向上するためにアセンブリ言語(assembly language)またはイーブンマイクロ−コード(even micro−code)で記入される。なお、あるプログラムモジュールの機能は、不連続的なハードウェアの構成、ASICs(application specific integrated circuits)またはプログラムされたデジタル信号のプロセッサやマイクロコントローラを使用して行われる。
続いて、本発明の実施形態による方法、システム、装置、および/またはコンピュータプログラム製品のメッセージフロー(message flow)、フローチャートおよびブロック図に関して説明する。メッセージフロー、フローチャートおよびブロック図は、データ格納装置を含むデータ処理システムの例示的な動作を示す。それぞれのメッセージフロー、フローチャートおよびブロック図の説明、そしてメッセージフローでメッセージ/ブロック、フローチャートおよびブロック図の説明の結合は、コンピュータプログラム命令および/またはハードウェア動作によって行われる。コンピュータプログラム命令は、一般目的コンピュータ、特殊目的コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、プロセッサによってメッセージフロー、フローチャートおよびブロック図の特別な機能が行われる。
コンピュータプログラム命令はコンピュータメモリに格納され、コンピュータまたは他のプログラム可能なデータ処理装置が特別な方式で機能するように指示する。前記命令はメッセージフロー、フローチャートおよびブロック図の特別な機能を行う。
コンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置から行われる直列の動作ステップを引き起こすためにコンピュータまたは他のプログラム可能なデータ処理装置にロードされる。
図5乃至図7は図4に図示された本発明の実施形態によるデータ処理システムの動作を説明するための順序図である。
図5を参照すれば、ブロック500で、ホスト400は読み出し/書き込み動作単位のサイズ情報を得るために格納装置405に要求信号を伝送する。要求信号は消去動作単位のサイズ情報を得るための要求信号を含む。ブロック505で、格納装置405はホスト400から伝送された要求信号に応じて読み出し/書き込み動作単位のサイズを決定する。本発明の実施形態による格納装置405のコントローラ450は格納装置の識別情報(identification)を読み出し、格納装置の識別情報に基づいて読み出し/書き込み動作のサイズを決定することによって読み出し/書き込み動作単位のサイズを決定する。本発明の他の実施形態による格納装置405のコントローラ450は格納装置405のレジスタから読み出し/書き込み動作単位のサイズを読み出す。
上述した本発明の実施形態に於いて、図5には図示されてないが次のように説明することができる。
格納装置405はデータ格納装置からデータ操作を行うために使用される少なくとも一つのパラメータを決定するためにホスト400から要求信号を受け取る。格納装置405はホストから入力された要求信号に応じて少なくとも一つのパラメータを決定する。少なくとも一つのパラメータは読み出し/書き込み動作単位のサイズおよび消去動作単位のサイズを含む。
少なくとも一つのパラメータを決定するために本発明の実施形態による格納装置405のコントローラ450は、格納装置の識別情報を読み出し、格納装置の識別情報に基づいて少なくとも一つのパラメータを決定する。本発明の他の実施形態による格納装置405のコントローラ450は、少なくとも一つのパラメータを決定するために格納装置405のレジスタから読み出し/書き込み動作単位のサイズを読み出す。
ブロック510で、格納装置405はホスト400に読み出し/書き込み動作単位のサイズを伝送する。
ブロック515で、メモリ割り当てファイルシステム435の単位のサイズは読み出し/書き込み動作単位のサイズの倍数に設定される。ブロック520で、ホスト400はメモリ割り当てファイルシステム435の単位の開始アドレスを格納装置405に使用された読み出し/書き込み動作単位の開始アドレスに設定する。メモリ割り当てファイルシステム単位のサイズを読み出し/書き込み動作単位のサイズの倍数に設定し、メモリ割り当てファイルシステム単位の開始アドレスを読み出し/書き込み動作単位の開始アドレスに設定することによってクラスタの開始アドレスは、ページの開始アドレスと一致し、クラスタの大きさがページの大きさと一致するようになる。従って格納装置405はさらに効率的に使用可能であり、要らないプログラミング動作が減少される。
設定されたメモリ割り当てファイルシステム単位のサイズは、ホスト400から格納装置405に、またはデータ格納装置405からホスト400に、データを伝送する場合データ伝送単位に使用される。
図6を参照して本発明の実施形態によるホスト400から格納装置405に書き込む動作を説明すると、ブロック600で、ホスト400は図5のブロック515から設定されたメモリ割り当て単位のサイズをデータ伝送の単位に使用して格納装置405にデータを伝送する。ブロック605で、格納装置405は伝送されたデータを記入するためにメモリ455にNの読み出し/書き込み動作単位のプログラム動作を行う。Nは設定されたメモリ割り当ての単位のサイズと読み出し/書き込み動作単位のサイズとの間の関係を定義する倍数である。
多様なメモリ動作が格納装置に行われるとき、自由領域としてブロックを形成するためにガベージコレクション(garbage collection)を行うことが好ましい。従って、図7を参照すれば、ファイルシステム435は動作システム478の管理の下に格納装置405から行われるガベージコレクション動作の様なメモリ管理動作を初期化するために図5のブロック500から取得された消去動作単位のサイズを使用する。上述したメモリ管理動作はメモリのデフラグメント(defragmentation)動作である。
以上、図面と明細書によって最適の実施形態を説明した。ここに特定な用語が使用されたが、これは本発明を説明するためのものであり、意味限定や特許請求範囲に記載された本発明の範囲を制限するものではない。従って、本発明の技術的な保護範囲は特許請求範囲の技術的な思想によって決められるべきである。
一般的なデータ処理システムのブロック図である。 一般的なメモリ割り当てサイズのファイルシステム単位と読み出し/書き込み動作単位のサイズのデータ格納単位との間の関係を説明するブロック図である。 一般的なメモリ割り当てサイズのファイルシステム単位と読み出し/書き込み動作単位のサイズのデータ格納単位との間の関係を説明するブロック図である。 一般的なデータ格納システムに於いて、論理ページのプログラミングを説明するためのブロック図である。 本発明の実施形態によるデータ処理システムを説明するためのブロック図である。 図4に図示された本発明の実施形態によるデータ処理システムの動作を説明するための順序図である。 図4に図示された本発明の実施形態によるデータ処理システムの動作を説明するための順序図である。 図4に図示された本発明の実施形態によるデータ処理システムの動作を説明するための順序図である。
符号の説明
400 ホスト、
415 プロセッサ、
420 メモリ、
428 動作システム、
430 アプリケーション(等)、
435 ファイルシステム、
440 メモリマネージャ、
445 入/出力ドライバ等、
405 格納装置、
450 コントローラ、
465 プロセッサ、
470 ローカルメモリ、
478 動作システム、
480 FTL、
485 データ、
455 メモリ。

Claims (25)

  1. データ格納装置におけるデータ操作を行うために使用される読み出し/書き込み動作単位のサイズを取得する段階と、
    メモリ割り当てファイルシステム単位のサイズを前記読み出し/書き込み動作単位のサイズの倍数に設定する段階と、
    前記メモリ割り当てファイルシステム単位の開始アドレスを前記データ格納装置で使用された前記読み出し/書き込み動作単位の開始アドレスに設定する段階と、
    を含むことを特徴とするデータ処理システムの動作方法。
  2. 前記読み出し/書き込み動作単位のサイズを取得する段階は、
    前記読み出し/書き込み動作単位のサイズを取得するための要求信号をホストから前記データ格納装置に伝送する段階と、
    前記要求信号に応じて、前記読み出し/書き込み動作単位のサイズを前記データ格納装置から前記ホストに伝送する段階と、
    を含むことを特徴とする請求項1に記載のデータ処理システムの動作方法。
  3. 前記読み出し/書き込み動作単位のサイズを前記データ格納装置から前記ホストに伝送する段階は、
    前記データ格納装置で前記要求信号に応じて前記データ格納装置の識別情報を読み出す段階と、
    前記データ格納装置の識別情報に基づいて前記読み出し/書き込み動作単位のサイズを決定する段階と、
    前記決定された前記読み出し/書き込み動作単位のサイズを前記データ格納装置から前記ホストに伝送する段階と、
    をさらに含むことを特徴とする請求項2に記載のデータ処理システムの動作方法。
  4. 前記読み出し/書き込み動作単位のサイズを取得する段階は、
    前記要求信号に応じて前記データ格納装置のレジスタから前記読み出し/書き込み動作単位のサイズを読み出す段階と、
    前記読み出した前記読み出し/書き込み動作単位のサイズを前記データ格納装置から前記ホストに伝送する段階と、
    をさらに含むことを特徴とする請求項2に記載のデータ処理システムの動作方法。
  5. 前記読み出し/書き込み動作単位のサイズを取得する段階は、
    前記データ格納装置で前記データ格納装置の識別情報を読み出す段階と、
    前記読み出した前記データ格納装置の識別情報に基づいて前記読み出し/書き込み動作単位のサイズを決定する段階と、
    を含むことを特徴とする請求項1に記載のデータ処理システムの動作方法。
  6. 前記読み出し/書き込み動作単位のサイズを取得する段階は、
    前記データ格納装置と関連するレジスタから前記読み出し/書き込み動作単位のサイズを読み出す段階を含むことを特徴とする請求項1に記載のデータ処理システムの動作方法。
  7. 前記読み出し/書き込み動作単位のサイズの倍数に設定された前記メモリ割り当てファイルシステム単位のサイズを、前記データ格納装置へ伝送するデータ単位、または前記データ格納装置から伝送されるデータ単位に使用する段階をさらに含むことを特徴とする請求項1に記載のデータ処理システムの動作方法。
  8. 前記データ格納装置におけるデータ操作を行うために使用される消去動作単位のサイズを取得する段階をさらに含むことを特徴とする請求項1に記載のデータ処理システムの動作方法。
  9. 動作システムの管理下の前記データ格納装置におけるメモリ管理動作を行うための動作単位を定義するために前記消去動作単位のサイズを使用する段階をさらに含むことを特徴とする請求項8に記載のデータ処理システムの動作方法。
  10. 前記メモリ管理動作は、メモリデフラグメント動作であることを特徴とする請求項9に記載のデータ処理システムの動作方法。
  11. 前記読み出し/書き込み動作単位のサイズの倍数に設定された前記メモリ割り当てファイルシステム単位のサイズを、前記データ格納装置へ伝送するデータ単位に使用する段階と、
    前記データ格納装置に伝送されたデータを書き込むために前記データ格納装置において、前記設定された前記メモリ割り当て単位のサイズと前記読み出し/書き込み動作単位のサイズとの間の関係を定義する倍数の前記読み出し/書き込み動作単位でプログラム動作を行う段階と、
    を含むことを特徴とする請求項1に記載のデータ処理システムの動作方法。
  12. 前記データ格納装置は、SSD(solid state drive)および/またはフラッシュメモリ装置であることを特徴とする請求項1に記載のデータ処理システムの動作方法。
  13. データ格納装置におけるデータ操作を行うために使用される少なくとも一つのパラメータを決定するための要求信号をホストから前記データ格納装置に伝送する段階と、
    前記データ格納装置で前記要求信号に基づいて前記少なくとも一つのパラメータを決定する段階と、
    前記データ格納装置から前記ホストへ前記少なくとも一つのパラメータを伝送する段階と、
    を含むことを特徴とするデータ格納装置の動作方法。
  14. 前記少なくとも一つのパラメータは、読み出し/書き込み動作単位のサイズおよび/または消去動作単位のサイズを含むことを特徴とする請求項13に記載のデータ格納装置の動作方法。
  15. 前記少なくとも一つのパラメータを決定する段階は、
    前記データ格納装置で前記データ格納装置の識別情報を読み出す段階と、
    前記データ格納装置で前記データ格納装置の識別情報に基づいて前記少なくとも一つのパラメータを決定する段階と、
    を含むことを特徴とする請求項13に記載のデータ格納装置の動作方法。
  16. 前記少なくとも一つのパラメータを決定する段階は、前記データ格納装置のレジスタから読み出し/書き込み動作単位のサイズおよび/または消去動作単位のサイズを読み出す段階を含むことを特徴とする請求項13に記載のデータ格納装置の動作方法。
  17. プロセッサと、
    前記プロセッサに連結されたコンピュータの読み出し媒体と、
    を含み、
    前記コンピュータの読み出し媒体はコンピュータ読み出しプログラムコードを含み、
    前記コンピュータ読み出しプログラムコードは、
    データ格納装置におけるデータ操作を行うために使用される読み出し/書き込み動作単位のサイズを取得するためのコンピュータ読み出しプログラムコードと、
    メモリ割り当てファイルシステム単位のサイズを前記読み出し/書き込み動作単位のサイズの倍数に設定するためのコンピュータ読み出しプログラムコードと、
    前記メモリ割り当てファイルシステム単位の開始アドレスを前記データ格納装置で使用された前記読み出し/書き込み動作単位の開始アドレスに設定するためのコンピュータ読み出しプログラムコードと、
    を含むことを特徴とするデータ処理システム。
  18. プロセッサと、
    前記プロセッサに連結されたコンピュータの読み出し媒体と、
    を含み、
    前記コンピュータの読み出し媒体は、コンピュータ読み出しプログラムコードを含み、
    前記コンピュータ読み出しプログラムコードは、
    データ格納装置におけるデータ操作を行うために使用される少なくとも一つのパラメータを決定するための要求信号をホストから前記データ格納装置に伝送するためのコンピュータ読み出しプログラムコードと、
    前記データ格納装置で前記要求進行に基づいて前記少なくとも一つのパラメータを決定するためのコンピュータ読み出しプログラムコードと、
    前記データ格納装置から前記ホストへ前記少なくとも一つのパラメータを伝送するためのコンピュータ読み出しプログラムコードと、
    を含むことを特徴とするデータ格納装置。
  19. データ格納装置と、
    前記データ格納装置に連結されたホストと、
    を含み、
    前記ホストは、
    前記データ格納装置におけるデータ操作を行うために使用される読み出し/書き込み動作単位のサイズを取得し、メモリ割り当てファイルシステム単位のサイズを前記読み出し/書き込み動作単位のサイズの倍数に設定し、前記メモリ割り当てファイルシステム単位の開始アドレスを前記データ格納装置で使用された前記読み出し/書き込み動作単位の開始アドレスに設定するためのホストプロセッサを含むことを特徴とするデータ処理システム。
  20. 前記ホストプロセッサは、前記ホストから前記データ格納装置に前記読み出し/書き込み動作ユニットのサイズを取得するための要求信号を伝送し、前記データ格納装置から前記読み出し/書き込み動作単位のサイズを前記ホストに伝送されることを特徴とする請求項19に記載のデータ処理システム。
  21. 前記データ格納装置は、データ格納装置プロセッサを含み、
    前記データ格納装置プロセッサは、
    前記データ格納装置で、前記要求信号に応じて前記データ格納装置の識別情報を読み出し、前記データ格納装置の識別情報に基づいて前記読み出し/書き込み動作単位のサイズを決定し、前記決定された前記読み出し/書き込み動作単位のサイズをホストに伝送することを特徴とする請求項20に記載のデータ処理システム。
  22. 前記データ格納装置は、データ格納装置プロセッサを含み、
    前記データ格納装置プロセッサは、前記ホストから伝送された要求信号に応じて前記データ格納装置のレジスタから前記読み出し/書き込み動作単位のサイズを読み出し、前記読み出された読み出し/書き込み動作単位のサイズを前記ホストに伝送することを特徴とする請求項20に記載のデータ処理システム。
  23. 前記ホストプロセッサは、前記データ格納装置の識別情報を読み出し、前記データ格納装置の識別情報に基づいて前記読み出し/書き込み動作単位のサイズを決定することを特徴とする請求項19に記載のデータ処理システム。
  24. 前記ホストプロセッサは、前記データ格納装置に関連されたレジスタから前記読み出し/書き込み動作単位のサイズを読み出すことを特徴とする請求項19に記載のデータ処理システム。
  25. 前記ホストプロセッサは、前記読み出し/書き込み動作単位のサイズの倍数に設定された前記メモリ割り当てファイルシステム単位のサイズを伝送するデータ単位に使用して前記データ格納装置にデータを伝送し、
    前記データ格納装置はデータ格納装置プロセッサを含み、
    前記データ格納装置プロセッサは、前記データ格納装置に伝送されたデータを記入するために前記データ格納装置に前記設定されたメモリ割り当て単位のサイズと前記読み出し/書き込み動作単位のサイズとの間の関係を定義する倍数の前記読み出し/書き込み動作単位でプログラム動作を行うことを特徴とする請求項19に記載のデータ処理システム。
JP2008030430A 2007-02-13 2008-02-12 データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法 Pending JP2008198206A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070014974A KR100923990B1 (ko) 2007-02-13 2007-02-13 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템
US12/016,702 US20080195833A1 (en) 2007-02-13 2008-01-18 Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit

Publications (1)

Publication Number Publication Date
JP2008198206A true JP2008198206A (ja) 2008-08-28

Family

ID=39686861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008030430A Pending JP2008198206A (ja) 2007-02-13 2008-02-12 データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法

Country Status (4)

Country Link
US (1) US20080195833A1 (ja)
JP (1) JP2008198206A (ja)
KR (1) KR100923990B1 (ja)
CN (1) CN101271383A (ja)

Families Citing this family (218)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928438B1 (ko) * 2008-11-24 2009-11-25 주식회사 태진인포텍 Sas/sata 타입의 스토리지 장치
KR101638061B1 (ko) 2009-10-27 2016-07-08 삼성전자주식회사 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법
US8886597B2 (en) * 2009-10-28 2014-11-11 Sandisk Il Ltd. Synchronizing changes in a file system which are initiated by a storage device and a host device
US8725977B2 (en) * 2010-02-17 2014-05-13 Seagate Technology Llc NVMHCI attached hybrid data storage
JP2011192239A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
CN102469357B (zh) * 2010-11-18 2013-09-04 深圳创维数字技术股份有限公司 一种用户操作数据的保存方法、系统及数字电视接收终端
JP5687639B2 (ja) 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
TWI479315B (zh) * 2012-07-03 2015-04-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與資料寫入方法
CN103544118B (zh) * 2012-07-17 2016-09-14 群联电子股份有限公司 存储器储存装置、其存储器控制器与数据写入方法
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
KR102088403B1 (ko) * 2013-08-08 2020-03-13 삼성전자 주식회사 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법
CN103530066B (zh) * 2013-09-16 2016-05-18 华为技术有限公司 一种数据存储方法、装置及系统
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
CN105224474B (zh) * 2014-06-03 2019-05-31 深圳市腾讯计算机系统有限公司 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9588701B2 (en) * 2014-09-09 2017-03-07 Sandisk Technologies Llc Multi-stage programming at a storage device using multiple instructions from a host
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US11386115B1 (en) * 2014-09-12 2022-07-12 Amazon Technologies, Inc. Selectable storage endpoints for a transactional data storage engine
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
TWI566182B (zh) * 2015-03-24 2017-01-11 群聯電子股份有限公司 儲存裝置管理方法與系統及其記憶體儲存裝置
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US11503031B1 (en) 2015-05-29 2022-11-15 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9588691B2 (en) 2015-06-10 2017-03-07 Pure Storage, Inc. Dynamically managing control information in a storage device
US9594512B1 (en) 2015-06-19 2017-03-14 Pure Storage, Inc. Attributing consumed storage capacity among entities storing data in a storage array
EP4224323A1 (en) * 2015-06-23 2023-08-09 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10296236B2 (en) 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
TWI554884B (zh) * 2015-07-21 2016-10-21 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US9892071B2 (en) 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US9851762B1 (en) 2015-08-06 2017-12-26 Pure Storage, Inc. Compliant printed circuit board (‘PCB’) within an enclosure
US10198194B2 (en) 2015-08-24 2019-02-05 Pure Storage, Inc. Placing data within a storage device of a flash array
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US10514978B1 (en) 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US9384082B1 (en) 2015-10-23 2016-07-05 Pure Storage, Inc. Proactively providing corrective measures for storage arrays
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
US10374868B2 (en) 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
US10353777B2 (en) 2015-10-30 2019-07-16 Pure Storage, Inc. Ensuring crash-safe forward progress of a system configuration update
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US10326836B2 (en) 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US10162835B2 (en) 2015-12-15 2018-12-25 Pure Storage, Inc. Proactive management of a plurality of storage arrays in a multi-array system
US11347697B1 (en) 2015-12-15 2022-05-31 Pure Storage, Inc. Proactively optimizing a storage system
US10346043B2 (en) 2015-12-28 2019-07-09 Pure Storage, Inc. Adaptive computing for data compression
US9886314B2 (en) 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US10572460B2 (en) 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US11995315B2 (en) 2016-03-16 2024-05-28 Pure Storage, Inc. Converting data formats in a storage system
US9959043B2 (en) 2016-03-16 2018-05-01 Pure Storage, Inc. Performing a non-disruptive upgrade of data in a storage system
TWI651646B (zh) * 2016-04-21 2019-02-21 慧榮科技股份有限公司 資料儲存裝置及其任務排序方法
TWI587214B (zh) 2016-04-21 2017-06-11 慧榮科技股份有限公司 資料儲存裝置、其控制單元及其任務排序方法
US11809727B1 (en) 2016-04-27 2023-11-07 Pure Storage, Inc. Predicting failures in a storage system that includes a plurality of storage devices
US9841921B2 (en) 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US11112990B1 (en) 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
CN105975356A (zh) * 2016-04-28 2016-09-28 乐视控股(北京)有限公司 内存错误检测方法、内存管理系统和装置、以及服务器
US9811264B1 (en) 2016-04-28 2017-11-07 Pure Storage, Inc. Deploying client-specific applications in a storage system utilizing redundant system resources
US10303390B1 (en) 2016-05-02 2019-05-28 Pure Storage, Inc. Resolving fingerprint collisions in flash storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
US10474363B1 (en) 2016-07-29 2019-11-12 Pure Storage, Inc. Space reporting in a storage system
US10146585B2 (en) 2016-09-07 2018-12-04 Pure Storage, Inc. Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US10331588B2 (en) 2016-09-07 2019-06-25 Pure Storage, Inc. Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling
US11481261B1 (en) 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US11531577B1 (en) 2016-09-07 2022-12-20 Pure Storage, Inc. Temporarily limiting access to a storage device
US11960348B2 (en) 2016-09-07 2024-04-16 Pure Storage, Inc. Cloud-based monitoring of hardware components in a fleet of storage systems
US10908966B1 (en) 2016-09-07 2021-02-02 Pure Storage, Inc. Adapting target service times in a storage system
US10671439B1 (en) 2016-09-07 2020-06-02 Pure Storage, Inc. Workload planning with quality-of-service (‘QOS’) integration
US10235229B1 (en) 2016-09-07 2019-03-19 Pure Storage, Inc. Rehabilitating storage devices in a storage array that includes a plurality of storage devices
US10007459B2 (en) 2016-10-20 2018-06-26 Pure Storage, Inc. Performance tuning in a storage system that includes one or more storage devices
US11379132B1 (en) 2016-10-20 2022-07-05 Pure Storage, Inc. Correlating medical sensor data
US10162566B2 (en) 2016-11-22 2018-12-25 Pure Storage, Inc. Accumulating application-level statistics in a storage system
US11620075B2 (en) 2016-11-22 2023-04-04 Pure Storage, Inc. Providing application aware storage
US10198205B1 (en) 2016-12-19 2019-02-05 Pure Storage, Inc. Dynamically adjusting a number of storage devices utilized to simultaneously service write operations
US11461273B1 (en) 2016-12-20 2022-10-04 Pure Storage, Inc. Modifying storage distribution in a storage system that includes one or more storage devices
US10489307B2 (en) 2017-01-05 2019-11-26 Pure Storage, Inc. Periodically re-encrypting user data stored on a storage device
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11340800B1 (en) 2017-01-19 2022-05-24 Pure Storage, Inc. Content masking in a storage system
US10503700B1 (en) 2017-01-19 2019-12-10 Pure Storage, Inc. On-demand content filtering of snapshots within a storage system
US11163624B2 (en) 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US11442825B2 (en) 2017-03-10 2022-09-13 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US10459664B1 (en) 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US9910618B1 (en) 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US11868629B1 (en) 2017-05-05 2024-01-09 Pure Storage, Inc. Storage system sizing service
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US10976962B2 (en) 2018-03-15 2021-04-13 Pure Storage, Inc. Servicing I/O operations in a cloud-based storage system
US10853148B1 (en) 2017-06-12 2020-12-01 Pure Storage, Inc. Migrating workloads between a plurality of execution environments
US10789020B2 (en) 2017-06-12 2020-09-29 Pure Storage, Inc. Recovering data within a unified storage element
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US11016824B1 (en) 2017-06-12 2021-05-25 Pure Storage, Inc. Event identification with out-of-order reporting in a cloud-based environment
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US11422731B1 (en) 2017-06-12 2022-08-23 Pure Storage, Inc. Metadata-based replication of a dataset
EP3612922A1 (en) 2017-06-12 2020-02-26 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
US11340939B1 (en) 2017-06-12 2022-05-24 Pure Storage, Inc. Application-aware analytics for storage systems
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US10613791B2 (en) 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US11561714B1 (en) 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US11477280B1 (en) 2017-07-26 2022-10-18 Pure Storage, Inc. Integrating cloud storage services
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US10671435B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US10452444B1 (en) 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
US11455168B1 (en) 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US10671494B1 (en) * 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
US10484174B1 (en) 2017-11-01 2019-11-19 Pure Storage, Inc. Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices
US10467107B1 (en) 2017-11-01 2019-11-05 Pure Storage, Inc. Maintaining metadata resiliency among storage device failures
US10509581B1 (en) 2017-11-01 2019-12-17 Pure Storage, Inc. Maintaining write consistency in a multi-threaded storage system
US10817392B1 (en) 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US10936238B2 (en) 2017-11-28 2021-03-02 Pure Storage, Inc. Hybrid data tiering
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US11036677B1 (en) 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10992533B1 (en) 2018-01-30 2021-04-27 Pure Storage, Inc. Policy based path management
US10521151B1 (en) 2018-03-05 2019-12-31 Pure Storage, Inc. Determining effective space utilization in a storage system
US11861170B2 (en) 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target
US11150834B1 (en) 2018-03-05 2021-10-19 Pure Storage, Inc. Determining storage consumption in a storage system
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US11972134B2 (en) 2018-03-05 2024-04-30 Pure Storage, Inc. Resource utilization using normalized input/output (‘I/O’) operations
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
US10917471B1 (en) 2018-03-15 2021-02-09 Pure Storage, Inc. Active membership in a cloud-based storage system
US11288138B1 (en) 2018-03-15 2022-03-29 Pure Storage, Inc. Recovery from a system fault in a cloud-based storage system
US10924548B1 (en) 2018-03-15 2021-02-16 Pure Storage, Inc. Symmetric storage using a cloud-based storage system
US11210009B1 (en) 2018-03-15 2021-12-28 Pure Storage, Inc. Staging data in a cloud-based storage system
US11048590B1 (en) 2018-03-15 2021-06-29 Pure Storage, Inc. Data consistency during recovery in a cloud-based storage system
US11171950B1 (en) 2018-03-21 2021-11-09 Pure Storage, Inc. Secure cloud-based storage system management
US11095706B1 (en) 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US10838833B1 (en) 2018-03-26 2020-11-17 Pure Storage, Inc. Providing for high availability in a data analytics pipeline without replicas
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11455409B2 (en) 2018-05-21 2022-09-27 Pure Storage, Inc. Storage layer data obfuscation
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US20190354628A1 (en) 2018-05-21 2019-11-21 Pure Storage, Inc. Asynchronous replication of synchronously replicated data
US10871922B2 (en) 2018-05-22 2020-12-22 Pure Storage, Inc. Integrated storage management between storage systems and container orchestrators
US11416298B1 (en) 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US11632360B1 (en) 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11954238B1 (en) 2018-07-24 2024-04-09 Pure Storage, Inc. Role-based access control for a storage system
US11860820B1 (en) 2018-09-11 2024-01-02 Pure Storage, Inc. Processing data through a storage system in a data pipeline
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US11340837B1 (en) 2018-11-18 2022-05-24 Pure Storage, Inc. Storage system management via a remote console
US11379254B1 (en) 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
US11526405B1 (en) 2018-11-18 2022-12-13 Pure Storage, Inc. Cloud-based disaster recovery
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
US11042452B1 (en) 2019-03-20 2021-06-22 Pure Storage, Inc. Storage system data recovery using data recovery as a service
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11068162B1 (en) 2019-04-09 2021-07-20 Pure Storage, Inc. Storage management in a cloud data store
US11327676B1 (en) 2019-07-18 2022-05-10 Pure Storage, Inc. Predictive data streaming in a virtual storage system
US11126364B2 (en) 2019-07-18 2021-09-21 Pure Storage, Inc. Virtual storage system architecture
US11853266B2 (en) 2019-05-15 2023-12-26 Pure Storage, Inc. Providing a file system in a cloud environment
US11392555B2 (en) 2019-05-15 2022-07-19 Pure Storage, Inc. Cloud-based file services
US11093139B1 (en) 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
US11861221B1 (en) 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11487715B1 (en) 2019-07-18 2022-11-01 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11550514B2 (en) 2019-07-18 2023-01-10 Pure Storage, Inc. Efficient transfers between tiers of a virtual storage system
US11526408B2 (en) 2019-07-18 2022-12-13 Pure Storage, Inc. Data recovery in a virtual storage system
US11086553B1 (en) 2019-08-28 2021-08-10 Pure Storage, Inc. Tiering duplicated objects in a cloud-based object store
US11693713B1 (en) 2019-09-04 2023-07-04 Pure Storage, Inc. Self-tuning clusters for resilient microservices
US11360689B1 (en) 2019-09-13 2022-06-14 Pure Storage, Inc. Cloning a tracking copy of replica data
US11797569B2 (en) 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11573864B1 (en) 2019-09-16 2023-02-07 Pure Storage, Inc. Automating database management in a storage system
US11669386B1 (en) 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
US20210173945A1 (en) 2019-12-06 2021-06-10 Pure Storage, Inc. Replicating data to a storage system that has an inferred trust relationship with a client
US11720497B1 (en) 2020-01-13 2023-08-08 Pure Storage, Inc. Inferred nonsequential prefetch based on data access patterns
US11709636B1 (en) 2020-01-13 2023-07-25 Pure Storage, Inc. Non-sequential readahead for deep learning training
US11733901B1 (en) 2020-01-13 2023-08-22 Pure Storage, Inc. Providing persistent storage to transient cloud computing services
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11321006B1 (en) 2020-03-25 2022-05-03 Pure Storage, Inc. Data loss prevention during transitions from a replication source
US11630598B1 (en) 2020-04-06 2023-04-18 Pure Storage, Inc. Scheduling data replication operations
US11301152B1 (en) 2020-04-06 2022-04-12 Pure Storage, Inc. Intelligently moving data between storage systems
US11494267B2 (en) 2020-04-14 2022-11-08 Pure Storage, Inc. Continuous value data redundancy
US11921670B1 (en) 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies
US11586385B1 (en) 2020-05-06 2023-02-21 Radian Memory Systems, Inc. Techniques for managing writes in nonvolatile memory
US11431488B1 (en) 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11853285B1 (en) 2021-01-22 2023-12-26 Pure Storage, Inc. Blockchain logging of volume-level events in a storage system
US11487449B2 (en) * 2021-02-22 2022-11-01 Western Digital Technologies, Inc. Data storage device and method for enabling higher lane utilization in run time via device hints on workload patterns
US20220365827A1 (en) 2021-05-12 2022-11-17 Pure Storage, Inc. Rebalancing In A Fleet Of Storage Systems Using Data Science
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US11914867B2 (en) 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model
US11893263B2 (en) 2021-10-29 2024-02-06 Pure Storage, Inc. Coordinated checkpoints among storage systems implementing checkpoint-based replication
US11714723B2 (en) 2021-10-29 2023-08-01 Pure Storage, Inc. Coordinated snapshots for data stored across distinct storage environments
US11922052B2 (en) 2021-12-15 2024-03-05 Pure Storage, Inc. Managing links between storage objects
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001184257A (ja) * 1999-10-12 2001-07-06 Sony Computer Entertainment Inc エンタテインメント装置、情報処理装置、及び、可搬型記録装置
JP2003296177A (ja) * 2002-04-03 2003-10-17 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
JP2003308240A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置
JP2005216119A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 記録媒体
JP2006085380A (ja) * 2004-09-15 2006-03-30 Toshiba Corp ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法
JP2006099797A (ja) * 2001-11-28 2006-04-13 Access Co Ltd メモリ制御方法および装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3212960B2 (ja) 1999-02-04 2001-09-25 埼玉日本電気株式会社 フラッシュメモリを利用したデータ管理方法
JP4206688B2 (ja) * 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
KR100528967B1 (ko) * 2002-12-18 2005-11-15 한국전자통신연구원 가변 길이의 패킷 저장을 위한 메모리 관리 장치 및 방법
US20050154851A1 (en) * 2004-01-14 2005-07-14 Charles Andrew A. Fast, high reliability dynamic memory manager
JPWO2005103903A1 (ja) * 2004-04-20 2007-08-30 松下電器産業株式会社 不揮発性記憶システム
US8607016B2 (en) 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
JP4744126B2 (ja) * 2004-11-29 2011-08-10 株式会社日立製作所 光ディスク装置及び光ディスク媒体の交替領域設定方法
KR101105771B1 (ko) * 2006-10-26 2012-01-17 엘지전자 주식회사 방송수신 단말기 및 그 동작 제어방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001184257A (ja) * 1999-10-12 2001-07-06 Sony Computer Entertainment Inc エンタテインメント装置、情報処理装置、及び、可搬型記録装置
JP2006099797A (ja) * 2001-11-28 2006-04-13 Access Co Ltd メモリ制御方法および装置
JP2003296177A (ja) * 2002-04-03 2003-10-17 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
JP2003308240A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置
JP2005216119A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 記録媒体
JP2006085380A (ja) * 2004-09-15 2006-03-30 Toshiba Corp ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法

Also Published As

Publication number Publication date
KR100923990B1 (ko) 2009-10-28
US20080195833A1 (en) 2008-08-14
KR20080075706A (ko) 2008-08-19
CN101271383A (zh) 2008-09-24

Similar Documents

Publication Publication Date Title
JP2008198206A (ja) データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法
TWI720588B (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
TWI704487B (zh) 資料儲存設備及其操作方法
KR101989018B1 (ko) 데이터 저장 장치의 동작 방법
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US20100030948A1 (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
US20100217920A1 (en) Memory system and address allocating method of flash translation layer thereof
TW201939288A (zh) 資料移動方法及儲存控制器
US9304900B2 (en) Data reading method, memory controller, and memory storage device
JP2009048613A (ja) ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法
JP2009099149A (ja) 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
KR20130032157A (ko) 데이터 저장 장치 및 그것의 데이터 쓰기 방법
TW201732832A (zh) 數據儲存裝置及其操作方法
KR20190102781A (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR102595233B1 (ko) 데이터 처리 시스템 및 그것의 동작 방법
US20130275655A1 (en) Memory management method and memory controller and memory storage device using the same
KR20190044873A (ko) 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치
KR20170051563A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP2004295865A (ja) 自動ブーティングシステム及び自動ブーティング方法
KR20170108334A (ko) 메모리 시스템 및 그 동작 방법
US20220269602A1 (en) Storage device and storage system including the same
KR20170076350A (ko) 데이터 저장 장치 및 그것의 동작 방법
TW201342054A (zh) 保護資料的方法、記憶體控制器與記憶體儲存裝置
KR20190006677A (ko) 데이터 저장 장치 및 그것의 동작 방법
TW202038106A (zh) 儲存裝置、儲存裝置的控制方法及記錄媒體

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130318

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507