JP2012521032A - Ssdコントローラおよびssdコントローラの動作方法 - Google Patents
Ssdコントローラおよびssdコントローラの動作方法 Download PDFInfo
- Publication number
- JP2012521032A JP2012521032A JP2012500705A JP2012500705A JP2012521032A JP 2012521032 A JP2012521032 A JP 2012521032A JP 2012500705 A JP2012500705 A JP 2012500705A JP 2012500705 A JP2012500705 A JP 2012500705A JP 2012521032 A JP2012521032 A JP 2012521032A
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- data
- buffer
- representative
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System (AREA)
- Information Transfer Systems (AREA)
- Read Only Memory (AREA)
Abstract
【課題】ソリッドステートドライブ(SSD)に含まれるDRAMバッファの管理において、SSDに含まれた複数のメモリによる複数のポインタのうち代表ポインタを選定して代表ポインタに対するアクセスのみを管理することによって、ポインタ管理の複雑性を減らすこと。
【解決手段】SSDコントローラが開示される。当該SSDコントローラは、ホストからデータの読み出し命令が送信される場合に、少なくとも1つのメモリによってデータがバッファに記録完了する時点をチェックして少なくとも1つの第1ポインタのうち代表ポインタを選定し、前記代表ポインタに基づいて第2ポインタを参照して前記バッファから前記データを読み出してホストに送信する。
【選択図】図1
【解決手段】SSDコントローラが開示される。当該SSDコントローラは、ホストからデータの読み出し命令が送信される場合に、少なくとも1つのメモリによってデータがバッファに記録完了する時点をチェックして少なくとも1つの第1ポインタのうち代表ポインタを選定し、前記代表ポインタに基づいて第2ポインタを参照して前記バッファから前記データを読み出してホストに送信する。
【選択図】図1
Description
ソリッドステートドライブ(Solid State Drive:SSD)コントローラおよび該SSDコントローラの動作方法が開示される。特に、SSDに含まれた複数のメモリがバッファにアクセスするときに参照するポインタを効率よく管理できるSSDコントローラおよびSSDコントローラの動作方法が開示される。
データを格納するストレージ装置として磁気ディスクおよび半導体メモリなどがある。ストレージ装置は、種類ごとに互いに異なる物理的な特性を有するため物理的な特性に対応する管理方法が求められる。
従来におけるストレージ装置として、磁気ディスクが広く使用された。磁気ディスクは平均的にキロバイト当たり数ミリ秒の読み出しおよび書き込み時間を特性として有する。また、磁気ディスクはデータが格納された物理的な位置に応じてアーム(arm)が達する時間が異なるため、読み出しおよび書き込み時間が変わる特性を有する。
最近では磁気ディスクに比べて読み出しおよび書き込み時間が短く、小さい電力を消耗し、かつ小さい体積を占める不揮発性メモリが急速に磁気ディスクを代替している。これは不揮発性メモリの大容量化が可能になった結果である。
不揮発性メモリは、電気的に読み出し(read)、書き込み(write)、および消去(erase)が可能であり、供給電源のない状態でも格納されたデータを維持することのできる半導体記憶装置である。不揮発性メモリ装置に対するデータの格納過程は、書き込みの他にもプログラミングと呼んでもよい。
不揮発性メモリの代表的なものとしてフラッシュメモリが挙げられ、フラッシュメモリは従来におけるハードディスクドライブ(Hard Disk Drive:HDD)に比較すると、その大きさが小さくて電力消費量が小さい。さらに、読み出し速度を高めることができる利点を有する。最近では大容量のフラッシュメモリを用いてHDDを代替するためのSSDも提案されている。
フラッシュメモリの種類として代表的なものは、NAND方式のフラッシュメモリおよびNORフラッシュメモリなどが挙げられる。NAND方式およびNOR方式はセルアレイの構成および動作方式によって区別され得る。
フラッシュメモリは複数のメモリセルの配列からなり、1つのメモリセルは1つ以上のデータビットを格納してもよい。1つのメモリセルは、コントロールゲートおよびフローティングゲートを含み、コントロールゲートとフローティングゲートとの間には絶縁体が挿入され、フローティングゲートと基板との間にも絶縁体が挿入される。
このような不揮発性メモリは、所定のコントローラによって管理される。そして、このようなコントローラの性能に応じて不揮発性メモリ全体の性能が決定されてもよい。
したがって、メモリを効率よく管理および制御できる方案に関する研究が求められる。
本発明の目的は、ソリッドステートドライブ(Solid State Drive:SSD)に含まれるDRAMバッファの管理において、SSDに含まれた複数のメモリによる複数のポインタのうち代表ポインタを選定して代表ポインタに対するアクセスのみを管理することによって、ポインタ管理の複雑性を減らすことのできるSSDコントローラおよびSSDコントローラの動作方法を提供することにある。
本発明の一実施形態に係るソリッドステートドライブコントローラは、ホストからデータの読み出し命令が送信される場合に、少なくとも1つのメモリにデータの読み出し命令を送信する命令部と、前記少なくとも1つのメモリによってデータがバッファに記録完了する時点をチェックして少なくとも1つの第1ポインタのうち代表ポインタを選定するポインタ選定部と、前記代表ポインタに基づいて第2ポインタを参照して前記バッファから前記データを読み出し、前記読み出されたデータを前記ホストに送信する送信部とを備え、前記少なくとも1つのメモリは前記少なくとも1つの第1ポインタを参照して前記データを前記バッファに記録する。
また、本発明の他の一実施形態に係るソリッドステートドライブコントローラは、ホストからデータの書き込み命令が送信される場合に、少なくとも1つのメモリにデータの書き込み命令を送信する命令部と、バッファから前記少なくとも1つのメモリがデータを読み出す時点をチェックして少なくとも1つの第1ポインタのうち代表ポインタを選定するポインタ選定部と、前記ホストから前記データを受信し、前記代表ポインタに基づいて第2ポインタを参照して前記データを前記バッファに記録する記録部とを備え、前記少なくとも1つのメモリは、前記少なくとも1つの第1ポインタを参照して前記バッファから前記データを読み出す。
また、本発明の一実施形態に係るソリッドステートドライブコントローラの動作方法は、ホストからデータの読み出し命令が送信される場合に、少なくとも1つのメモリにデータの読み出し命令を送信するステップと、前記少なくとも1つのメモリによってデータがバッファに記録完了する時点をチェックして少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定するステップと、前記代表ポインタに基づいて第2ポインタを参照して前記バッファから前記データを読み出し、前記読み出されたデータを前記ホストに送信するステップとを含み、前記少なくとも1つのメモリは、前記少なくとも1つの第1ポインタを参照して前記データを前記バッファに記録する。
また、本発明の他の一実施形態に係るソリッドステートドライブコントローラの動作方法は、ホストからデータの書き込み命令が送信される場合、少なくとも1つのメモリにデータの書き込み命令を送信するステップと、バッファから前記少なくとも1つのメモリがデータを読み出す時点をチェックして少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定するステップと、前記ホストから前記データを受信し、前記代表ポインタに基づいて第2ポインタを参照して前記データを前記バッファに記録するステップとを含み、前記少なくとも1つのメモリは、前記少なくとも1つの第1ポインタを参照して前記バッファから前記データを読み出す。
本発明によれば、ソリッドステートドライブに含まれるDRAMバッファの管理において、SSDに含まれた複数のメモリによる複数のポインタのうち代表ポインタを選定して代表ポインタに対するアクセスのみを管理するSSDコントローラおよびSSDコントローラの動作方法を開示することによって、ポインタ管理の複雑性を減らすことができる。
以下は、添付する図面を参照しながら本発明に係る実施形態を詳説する。しかし、本発明が実施形態によって制限されたり限定されたりすることはない。また、各図面に提示された同一の参照符号は同一の部材を示す。
一般的に、不揮発性メモリに対するプログラミングはページ単位で行われてもよく、消去はブロック単位で行われてもよい。このとき、ブロックは複数のページを含んでもよい。
また、不揮発性メモリを管理するメモリコントローラは、外部のホストまたはプロセッサに論理アドレスを提供し、不揮発性メモリに対して物理アドレスを提供してもよい。
このとき、メモリコントローラは物理アドレスを用いて不揮発性メモリを管理し、物理アドレスを論理アドレスに変換してもよい。
ここで、物理アドレスおよび論理アドレスの変換が行われる階層はフラッシュ変換階層(Flash Translation Layer:FTL)とも呼ばれ得る。
一般的にソリッドステートドライブは、複数のフラッシュメモリチップとバス、FTLを行うコントローラおよびホストシステムの要請をバッファリングするメモリで構成されている。このような構造によってSSDは、複数のチップとバスを並列に動作させることで高い性能を取得できる。SSD内に含まれているFTLは、複数のチップで論理的に同じブロックナンバを有するブロックと、論理的に同じページナンバを有するページをそれぞれブロックグループとページグループという論理的な単位で構成して演算を行う。このとき、FTLは、ページグループに対する読み出しおよび書き込み演算を全てのチップにて並列的に行うことによってSSD全般の性能向上に寄与し得る。また、FTLは、ブロックグループに対する消去演算の場合にも全てのチップのブロックに対して並列的に行うことでSSDの性能向上に寄与できる。
最近、SSDはDRAMを含み、フラッシュメモリからデータが読み出されたりフラッシュメモリにデータが記録されたりするときDRAMがバッファとして用いられる場合もある。
従来のハードディスクでDRAMバッファが用いられる方式は、ホストがDRAMバッファを向いている第1ポインタ(pointer)を管理し、ハードディスクがDRAMバッファを向いている第2ポインタを管理し、ホストからデータ要請信号が送信されると、ハードディスクが第1ポインタを参照してDRAMバッファにデータを記録し、ホストは第2ポインタを参照してDRAMバッファからデータを読み出す。
一方、SSDは従来のハードディスクとは異なって、複数のフラッシュメモリを含み、複数のフラッシュメモリの数に応じて複数のフラッシュメモリがDRAMバッファを向いているポインタの数も増加する。
したがって、SSDにおいてDRAMバッファを用いる場合に管理しなければならないポインタの数が増加し、SSDコントローラがポインタを管理するためには困難があり、SSD全般にわたる性能低下の問題が発生することがある。
これに関連して、本発明の一実施形態に係るSSDコントローラは、複数のフラッシュメモリがDRAMバッファにデータを記録したりDRAMバッファからデータを読み出すときに用いる複数のポインタのうちいずれか1つのポインタを代表ポインタとして選定し、代表ポインタとホストがDRAMバッファにデータを記録したりDRAMバッファからデータを読み出すとき用いるポインタに対するアクセスのみを管理することによって、ポインタ管理の複雑性を減らすことができる。
以下において、図1および図2を参照して本発明の一実施形態に係るSSDコントローラを詳説する。
図1は、本発明の一実施形態に係るSSDコントローラの構造を示す図である。
図1を参照すると、ホスト110、SSDコントローラ120、バッファ130、および少なくとも1つのメモリ141,142,143が図示されている。
本発明の一実施形態に係るSSDコントローラ120は、命令部121、ポインタ選定部122、および送信部123を備える。
本発明の一実施形態によると、バッファ130はDRAMバッファであってもよい。
また、本発明の一実施形態によると、バッファ130は環状(circular)バッファ(リングバッファ)であってもよい。
また、本発明の一実施形態によると、少なくとも1つのメモリ141,142,143は少なくとも1つのフラッシュメモリであってもよい。
命令部121は、ホスト110からデータの読み出し命令が送信される場合、少なくとも1つのメモリ141,142,143にデータの読み出し命令を送信する。
このとき、少なくとも1つのメモリ141,142,143は、少なくとも1つのメモリ141,142,143がデータをバッファ130に記録するときに参照する少なくとも1つの第1ポインタを参照してデータをバッファ130に記録する。
ポインタ選定部122は、少なくとも1つのメモリ141,142,143によってデータがバッファ130に記録完了される時点を続けてチェックし、少なくとも1つの第1ポインタのうち代表ポインタを選定する。
本発明の一実施形態によると、ポインタ選定部122は、少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定してもよい。
送信部123は、代表ポインタに基づいてバッファ130からデータを読み出してホスト110に送信するときに参照する第2ポインタを参照してバッファ130からデータを読み出し、読み出されたデータをホスト110に送信する。
本発明の一実施形態によると、送信部123は、代表ポインタのポインタ値が第2ポインタのポインタ値よりも大きい場合、第2ポインタのポインタ値と代表ポインタのポインタ値とが同一になるまで、バッファ130上に第2ポインタを移動させてデータを読み出してもよい。
結局、本発明の一実施形態に係るSSDコントローラ120は、少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定し、代表ポインタに対するアクセスのみを管理することで、ポインタ管理による複雑性を減らすことができる。
図2は、本発明の他の一実施形態に係るSSDコントローラの構造を示す図である。
図2を参照すると、ホスト210、SSDコントローラ220、バッファ230、および少なくとも1つのメモリ241,242,243が図示されている。
本発明の一実施形態に係るSSDコントローラ220は、命令部221、ポインタ選定部222、および記録部223を備える。
本発明の一実施形態によると、バッファ230はDRAMバッファであってもよい。
また、本発明の一実施形態によると、バッファ230は環状バッファであってもよい。
また、本発明の一実施形態によると、少なくとも1つのメモリ241,242,243は少なくとも1つのフラッシュメモリであってもよい。
命令部221は、ホスト210からデータの書き込み命令が送信される場合、少なくとも1つのメモリ241,242,243にデータの書き込み命令を送信する。
ポインタ選定部222は、バッファ230から少なくとも1つのメモリ241,242,243がデータを読み出す時点を続けてチェックし、少なくとも1つのメモリ241,242,243がバッファ230にデータを記録するときに参照する少なくとも1つの第1ポインタのうち代表ポインタを選定する。
本発明の一実施形態によると、ポインタ選定部222は、少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定してもよい。
記録部223はホスト210からデータを受信し、代表ポインタに基づいてホスト210から送信されたデータをバッファ230に記録するときに参照する第2ポインタを参照してデータをバッファ230に記録する。
本発明の一実施形態によると、記録部223は、代表ポインタのポインタ値が第2ポインタのポインタ値よりも小さい場合、第2ポインタのポインタ値と代表ポインタのポインタ値とが同一になるまで、バッファ230上に第2ポインタを移動させてデータを記録してもよい。
このとき、少なくとも1つのメモリ241,242,243は、少なくとも1つの第1ポインタを参照してバッファ230からデータを読み出す。
結局、本発明の一実施形態に係るSSDコントローラ220は、少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定し、代表ポインタに対するアクセスのみを管理することで、ポインタ管理による複雑性を減らすことができる。
以上、図1および図2を参照してSSDに含まれている少なくとも1つのメモリからデータが読み出される場合と、少なくとも1つのメモリでデータが記録される場合に対するSSDコントローラの実施形態を詳説した。
本発明の一実施形態によると、図1および図2を用いて説明したSSDコントローラの実施形態は、1つのSSDコントローラで実現されてもよい。
言い換えれば、本発明の一実施形態に係るSSDコントローラは、図1および図2に示された実施形態のように、別個のSSDコントローラで実現されてもよく、図1および図2に示された実施形態を統合して1つのSSDコントローラで実現されてもよい。
図3は、本発明の一実施形態に係るSSDコントローラの動作方法を示すフローチャートである。
ステップS310において、ホストからデータの読み出し命令が送信される場合、少なくとも1つのメモリにデータの読み出し命令を送信する。
このとき、少なくとも1つのメモリは、少なくとも1つのメモリがデータをバッファに記録するときに参照する少なくとも1つの第1ポインタを参照してデータをバッファに記録する。
本発明の一実施形態によると、バッファはDRAMバッファであってもよい。
また、本発明の一実施形態によると、バッファは環状バッファであってもよい。
また、本発明の一実施形態によると、少なくとも1つのメモリは少なくとも1つのフラッシュメモリであってもよい。
ステップS320において、少なくとも1つのメモリによってデータがバッファに記録完了する時点をチェックし、少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定する。
ステップS330において、代表ポインタに基づいてバッファからデータを読み出してホストに送信するときに参照する第2ポインタを参照してバッファからデータを読み出し、読み出されたデータをホストに送信する。
本発明の一実施形態によると、ステップS330では、代表ポインタのポインタ値が第2ポインタのポインタ値よりも大きい場合、第2ポインタのポインタ値と代表ポインタのポインタ値とが同一になるまで、バッファ上で第2ポインタを移動させてデータを読み出してもよい。
図4は、本発明の他の一実施形態に係るSSDコントローラの動作方法を示すフローチャートである。
ステップS410において、ホストからデータの書き込み命令が送信される場合、少なくとも1つのメモリにデータの書き込み命令を送信する。
ステップS420において、バッファから少なくとも1つのメモリがデータを読み出す時点をチェックし、少なくとも1つのメモリがバッファにデータを記録するときに参照する少なくとも1つの第1ポインタのうち代表ポインタを選定する。
本発明の一実施形態によると、バッファはDRAMバッファであってもよい。
また、本発明の一実施形態によると、バッファは環状バッファであってもよい。
また、本発明の一実施形態によると、少なくとも1つのメモリは少なくとも1つのフラッシュメモリであってもよい。
ステップS430において、ホストからデータを受信し、代表ポインタに基づいてホストから送信されたデータをバッファに記録するときに参照する第2ポインタを参照してデータをバッファに記録する。
本発明の一実施形態によると、ステップS430では、代表ポインタのポインタ値が第2ポインタのポインタ値よりも小さい場合、第2ポインタのポインタ値と代表ポインタのポインタ値とが同一になるまで、バッファ上で第2ポインタを移動させてデータを記録してもよい。
以上、図3および図4を参照して本発明の一実施形態に係るSSDコントローラの動作方法について説明した。ここで、本発明の一実施形態に係るSSDコントローラの動作方法は、図1および図2を用いて説明したSSDコントローラの構成と対応することができるため、これに関する詳説は省略する。
本発明の一実施形態に係るSSDコントローラの動作方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などの単独または組み合わせたものを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コード(machine code)だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード(higher level code)を含む。上述したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアのレイヤで動作するように構成されてもよい。
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
したがって、本発明の範囲は、開示された実施形態に限定して定められるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
Claims (11)
- ソリッドステートドライブ(SSD)コントローラにおいて、
ホストからデータの読み出し命令が送信される場合に、少なくとも1つのメモリでデータの読み出し命令を送信する命令部と、
前記少なくとも1つのメモリによってデータがバッファに記録完了する時点をチェックし、少なくとも1つの第1ポインタのうち代表ポインタを選定するポインタ選定部と、
前記代表ポインタに基づいて第2ポインタを参照して前記バッファから前記データを読み出し、前記読み出されたデータを前記ホストに送信する送信部と、
を備え、
前記少なくとも1つのメモリは、前記少なくとも1つの第1ポインタを参照して前記データを前記バッファに記録することを特徴とするSSDコントローラ。 - 前記ポインタ選定部は、前記少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを前記代表ポインタとして選定することを特徴とする請求項1に記載のSSDコントローラ。
- 前記送信部は、前記代表ポインタのポインタ値が前記第2ポインタのポインタ値よりも大きい場合、前記第2ポインタのポインタ値と前記代表ポインタのポインタ値とが同一になるまで、前記バッファ上で前記第2ポインタを移動させて前記データを読み出すことを特徴とする請求項2に記載のSSDコントローラ。
- 前記バッファは、環状バッファであることを特徴とする請求項1に記載のSSDコントローラ。
- ソリッドステートドライブ(SSD)コントローラにおいて、
ホストからデータの書き込み命令が送信される場合に、少なくとも1つのメモリにデータの書き込み命令を送信する命令部と、
バッファから前記少なくとも1つのメモリがデータを読み出す時点をチェックし、少なくとも1つの第1ポインタのうち代表ポインタを選定するポインタ選定部と、
前記ホストから前記データを受信し、前記代表ポインタに基づいて第2ポインタを参照して前記データを前記バッファに記録する記録部と、
を備え、
前記少なくとも1つのメモリは、前記少なくとも1つの第1ポインタを参照して前記バッファから前記データを読み出すことを特徴とするSSDコントローラ。 - 前記ポインタ選定部は、前記少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを前記代表ポインタとして選定することを特徴とする請求項5に記載のSSDコントローラ。
- 前記記録部は、前記代表ポインタのポインタ値が前記第2ポインタのポインタ値よりも小さい場合、前記第2ポインタのポインタ値と前記代表ポインタのポインタ値とが同一になるまで、前記バッファ上で前記第2ポインタを移動させて前記データを記録することを特徴とする請求項6に記載のSSDコントローラ。
- 前記バッファは環状バッファであることを特徴とする請求項5に記載のSSDコントローラ。
- ソリッドステートドライブ(SSD)コントローラの動作方法において、
ホストからデータの読み出し命令が送信される場合に、少なくとも1つのメモリでデータの読み出し命令を送信するステップと、
前記少なくとも1つのメモリによってデータがバッファに記録完了する時点をチェックし、少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定するステップと、
前記代表ポインタに基づいて第2ポインタを参照して前記バッファから前記データを読み出し、前記読み出されたデータを前記ホストに送信するステップと、
を含み、
前記少なくとも1つのメモリは、前記少なくとも1つの第1ポインタを参照して前記データを前記バッファに記録することを特徴とするSSDコントローラの動作方法。 - ソリッドステートドライブ(SSD)コントローラの動作方法において、
ホストからデータの書き込み命令が送信される場合に、少なくとも1つのメモリでデータの書き込み命令を送信するステップと、
バッファから前記少なくとも1つのメモリがデータを読み出す時点をチェックし、少なくとも1つの第1ポインタのうちポインタ値が最小であるポインタを代表ポインタとして選定するステップと、
前記ホストから前記データを受信し、前記代表ポインタに基づいて第2ポインタを参照して前記データを前記バッファに記録するステップと、
を含み、
前記少なくとも1つのメモリは、前記少なくとも1つの第1ポインタを参照して前記バッファから前記データを読み出すことを特徴とするSSDコントローラの動作方法。 - 請求項9または請求項10のいずれか1項の方法における各ステップをコンピュータに実行させるプログラムを記録したコンピュータで読み出し可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090023989A KR101070511B1 (ko) | 2009-03-20 | 2009-03-20 | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 |
KR10-2009-0023989 | 2009-03-20 | ||
PCT/KR2009/007517 WO2010107173A1 (ko) | 2009-03-20 | 2009-12-16 | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012521032A true JP2012521032A (ja) | 2012-09-10 |
Family
ID=42739816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012500705A Pending JP2012521032A (ja) | 2009-03-20 | 2009-12-16 | Ssdコントローラおよびssdコントローラの動作方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8954662B2 (ja) |
EP (1) | EP2410434A4 (ja) |
JP (1) | JP2012521032A (ja) |
KR (1) | KR101070511B1 (ja) |
CN (1) | CN102362263A (ja) |
WO (1) | WO2010107173A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9575669B2 (en) | 2014-12-09 | 2017-02-21 | Western Digital Technologies, Inc. | Programmable solid state drive controller and method for scheduling commands utilizing a data structure |
CN105204786B (zh) * | 2015-10-22 | 2016-10-12 | 湖南国科微电子股份有限公司 | 一种pcie ssd阵列的数据写方法及系统 |
US10481799B2 (en) | 2016-03-25 | 2019-11-19 | Samsung Electronics Co., Ltd. | Data storage device and method including receiving an external multi-access command and generating first and second access commands for first and second nonvolatile memories |
KR20180041898A (ko) | 2016-10-17 | 2018-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10261876B2 (en) * | 2016-11-08 | 2019-04-16 | Micron Technology, Inc. | Memory management |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014912A (ja) * | 2000-04-28 | 2002-01-18 | Sony Corp | メモリ制御方法、データ受信装置、データ送受信方法およびデータ送受信システム |
JP2009054209A (ja) * | 2007-08-23 | 2009-03-12 | Hitachi Global Storage Technologies Netherlands Bv | 不揮発性半導体メモリ装置を有するディスク・ドライブ装置及びそのディスク・ドライブ装置において不揮発性半導体メモリ装置にデータを格納する方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5553267A (en) * | 1992-07-01 | 1996-09-03 | Digital Equipment Corporation | Method and apparatus for coordinating access to and modifying multiple element data objects in a shared memory |
US6173307B1 (en) * | 1998-08-20 | 2001-01-09 | Intel Corporation | Multiple-reader multiple-writer queue for a computer system |
KR100865828B1 (ko) * | 2002-05-07 | 2008-10-28 | 주식회사 하이닉스반도체 | 플래시 메모리의 뱅크 분할 방법 및 플래시 메모리의 뱅크분할 장치 |
JP2007122221A (ja) * | 2005-10-26 | 2007-05-17 | Sony Corp | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US9137179B2 (en) * | 2006-07-26 | 2015-09-15 | Hewlett-Packard Development Company, L.P. | Memory-mapped buffers for network interface controllers |
US20080107396A1 (en) * | 2006-11-08 | 2008-05-08 | Tsung-Ning Chung | Systems and methods for playing back data from a circular buffer by utilizing embedded timestamp information |
KR100874441B1 (ko) * | 2007-01-09 | 2008-12-17 | 삼성전자주식회사 | 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템 |
US7716396B1 (en) * | 2007-02-09 | 2010-05-11 | Juniper Networks, Inc. | Multi-reader multi-writer circular buffer memory |
KR101424782B1 (ko) * | 2007-07-19 | 2014-08-04 | 삼성전자주식회사 | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 |
CN101122886B (zh) * | 2007-09-03 | 2010-06-09 | 杭州华三通信技术有限公司 | 分配缓存空间的方法和装置以及缓存控制器 |
-
2009
- 2009-03-20 KR KR1020090023989A patent/KR101070511B1/ko not_active IP Right Cessation
- 2009-12-16 JP JP2012500705A patent/JP2012521032A/ja active Pending
- 2009-12-16 CN CN2009801582168A patent/CN102362263A/zh active Pending
- 2009-12-16 EP EP09841957.5A patent/EP2410434A4/en not_active Withdrawn
- 2009-12-16 WO PCT/KR2009/007517 patent/WO2010107173A1/ko active Application Filing
- 2009-12-16 US US13/257,458 patent/US8954662B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014912A (ja) * | 2000-04-28 | 2002-01-18 | Sony Corp | メモリ制御方法、データ受信装置、データ送受信方法およびデータ送受信システム |
JP2009054209A (ja) * | 2007-08-23 | 2009-03-12 | Hitachi Global Storage Technologies Netherlands Bv | 不揮発性半導体メモリ装置を有するディスク・ドライブ装置及びそのディスク・ドライブ装置において不揮発性半導体メモリ装置にデータを格納する方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2010107173A1 (ko) | 2010-09-23 |
US20120011334A1 (en) | 2012-01-12 |
EP2410434A1 (en) | 2012-01-25 |
KR20100105127A (ko) | 2010-09-29 |
KR101070511B1 (ko) | 2011-10-05 |
EP2410434A4 (en) | 2013-05-01 |
CN102362263A (zh) | 2012-02-22 |
US8954662B2 (en) | 2015-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8738987B2 (en) | Memory controller and memory management method | |
JP5612514B2 (ja) | 不揮発性メモリコントローラ及び不揮発性記憶装置 | |
US9183132B2 (en) | Storage device, computer system, and storage system | |
JP4956922B2 (ja) | 記憶装置 | |
KR101300657B1 (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
US20160231941A1 (en) | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm | |
KR101014040B1 (ko) | 디램 버퍼 관리 장치 및 방법 | |
KR20210001898A (ko) | 존 네임스페이스에 대한 존 형성 | |
US9123443B2 (en) | Memory device, memory management device, and memory management method | |
US8489805B2 (en) | Memory devices operated within a communication protocol standard timeout requirement | |
KR102233400B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US8819350B2 (en) | Memory system | |
JP2011118469A (ja) | メモリ管理装置およびメモリ管理方法 | |
US11537305B1 (en) | Dissimilar write prioritization in ZNS devices | |
JP5300496B2 (ja) | 半導体記憶装置、ホスト機器及び半導体記憶システム | |
KR20120054502A (ko) | 반도체 기억 장치 | |
KR102544162B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
JP2012521032A (ja) | Ssdコントローラおよびssdコントローラの動作方法 | |
US20220229775A1 (en) | Data storage device and operating method thereof | |
US11847337B2 (en) | Data parking for ZNS devices | |
JP5264459B2 (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131015 |