JP2010532061A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2010532061A5 JP2010532061A5 JP2010515079A JP2010515079A JP2010532061A5 JP 2010532061 A5 JP2010532061 A5 JP 2010532061A5 JP 2010515079 A JP2010515079 A JP 2010515079A JP 2010515079 A JP2010515079 A JP 2010515079A JP 2010532061 A5 JP2010532061 A5 JP 2010532061A5
- Authority
- JP
- Japan
- Prior art keywords
- priority
- host command
- flash memory
- host
- operations
- 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
Links
- 230000005055 memory storage Effects 0.000 claims 11
- 125000002057 carboxymethyl group Chemical group [H]OC(=O)C([H])([H])[*] 0.000 claims 5
- 238000000034 method Methods 0.000 claims 3
- 230000003111 delayed Effects 0.000 claims 2
- 125000003545 alkoxy group Chemical group 0.000 claims 1
- 150000007942 carboxylates Chemical class 0.000 claims 1
- 235000003642 hunger Nutrition 0.000 claims 1
- 230000037351 starvation Effects 0.000 claims 1
Claims (29)
- フラッシュメモリストレージシステムの利用率を向上させる方法であって、
前記システムのフラッシュメモリモジュールに求められる操作をキューに入れるステップと、
前記操作の優先順位に従い操作のスケジュールを組み、前記スケジュールが組まれた操作を前記キューから取り出すステップであって、ホストコマンドに必要のない少なくとも1つのハウスキーピング操作は、少なくとも1つのホストコマンドより高い優先順位に設定され、前記ホストコマンドより前に処理されるようにスケジュールが組まれる、ステップと、
を含む方法。 - 請求項1記載の方法において、
前記フラッシュメモリの1つ以上のブロックの中で書き込みバッファを実装するステップをさらに含む方法。 - 請求項2記載の方法において、
前記キューを蓄積するために前記書き込みバッファブロックを利用するステップをさらに含む方法。 - フラッシュメモリストレージ装置を操作する方法であって、
ホスト装置からホストコマンドを受信するステップと、
前記受信済みホストコマンドを正常に実行するため、予め前記受信済みホストコマンドにガーベッジコレクションが必要であるか否かをチェックするステップと、
前記受信済みホストコマンドを正常に実行するにあたってガーベッジコレクションが必要である場合に、処理スケジュールが組まれた他のコマンドより前に前記受信済みホストコマンドを処理するステップと、前記受信済みホストコマンドを正常に実行するにあたってガーベッジコレクションが必要でない場合に、前記ホストコマンドより優先順位が高い別の操作を前記ホストコマンドより前に処理するようにスケジュールを組むステップと、
を含む方法。 - 請求項4記載の方法において、
前記受信済みホストコマンドを処理するステップは、前記所要のガーベッジコレクションを実行するステップと、その後に前記ホストコマンドを遂行するステップとを含む方法。 - 請求項4記載の方法において、
前記受信済みホストコマンドを正常に実行するにあたってガーベッジコレクションが必要でない場合に、保留になっている他の操作がそれぞれの優先順位に従い処理される方法。 - メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの性能を向上させる方法であって、
統一優先順位方式にてホストコマンドと前記システムの内部操作とを含む1群の操作に優先順位を設定するステップを含み、
少なくとも1つのホストコマンドの優先順位は、少なくとも1つのガーベッジコレクションコマンドより低く設定される方法。 - 請求項7記載の方法において、
既存ハウスキーピング操作を完了するために少なくとも1つのホストコマンドの実行を遅延するステップをさらに含む方法。 - 請求項7記載の方法において、
前記内部操作は、ハウスキーピング操作と、アプリケーションファームウェアによって生成される操作と、前記システムのキャッシュメモリにある保留項目とを含む方法。 - 請求項9記載の方法において、
前記操作と保留項目は、書き込みバッファブロックに蓄積される方法。 - 請求項9記載の方法において、
前記ハウスキーピング操作は、ガーベッジコレクション操作を含む方法。 - 請求項7記載の方法において、
優先順位が設定された操作のスケジューリングは、前記システムのメモリコントローラによって実行されるファームウェアによって制御される方法。 - 請求項7記載の方法において、
優先順位が設定された操作のスケジューリングは、前記システムのハードウェアに実装された状態マシンによって制御される方法。 - フラッシュメモリストレージシステムを操作する方法であって、
ホストコマンドの正常処理にあたって必要とされるハウスキーピングコマンドに第1の優先度を割り当てるステップと、
ホストコマンドに第2の優先度を割り当てるステップと、
第1の優先度が割り当てられていない1つ以上のハウスキーピングコマンドに第3の優先度を割り当てるステップと、
優先度の順に前記コマンドを処理するステップと、
を含む方法。 - 請求項14記載の方法において、
内部アプリケーションコマンドに第2の優先度を割り当てるステップをさらに含む方法。 - ホストコンピュータへ結合されたフラッシュメモリストレージシステムを操作する方法であって、
前記ホストコンピュータに対して前記システムがアイドル状態にあることを示しながら、前記システムの操作を実行するステップと、
前記システムにてホストコマンドを受信するステップと、
前記受信済みホストコマンドの優先順位を実行中の前記操作の優先順位と比較するステップと、
前記比較するステップの最中にビジー信号をアサートするステップと、
を含む方法。 - 請求項16記載の方法において、
前記比較するステップの後に、前記受信済みホストコマンドの優先順位が実行中の前記操作の優先順位より高いことが前記比較するステップから判明する場合に、前記受信済みホストコマンドを実行するステップと、そうでなければ、既に進行中の前記操作の実行を継続するステップと、
をさらに含む方法。 - メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの利用率を極大化する方法であって、
前記システムへ結合されたホストから受信される1種類以上のコマンドの優先度より高い優先度を、1種類以上のハウスキーピング操作に割り当てるステップと、
ホストコマンドを受信するステップと、
前記コマンドの優先度をハウスキーピング操作の優先度と比較するステップと、
前記受信済みホストコマンドを処理する前に、前記受信済みホストコマンドより優先度が高いと判断された1つのハウスキーピング操作の少なくとも一部分を実行するステップと、
を含む方法。 - メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの利用率を極大化する方法であって、
前記システムの書き込みバッファブロックを前記システムの操作キューとして利用するステップと、
前記書き込みバッファブロックの利用度を評価するステップと、
前記評価済み利用度に基づき前記フラッシュメモリモジュールを利用する操作のスケジュールを組むステップと、
を含む方法。 - 請求項19記載の方法において、
前記評価済み利用度がしきい値を上回ると判断される場合に、ハウスキーピング操作の処理に使用可能な時間が配分される方法。 - 請求項19記載の方法において、
前記評価済み利用度がしきい値を下回ると判断される場合に、
使用可能な時間がまずホストコマンドに配分され、かつ
前記ホストコマンドに要する時間枠の直後に、1つ以上のハウスキーピング操作に短い時間が配分される方法。 - 請求項21記載の方法において、
前記評価済み利用度がしきい値を下回ると判断される場合に、1つ以上のハウスキーピング操作のバックグラウンド実行スケジュールが組まれる方法。 - 請求項19記載の方法において、
前記評価済み利用度が第1のしきい値を下回ると判断される場合に、着信ホストコマンドは遅延されない方法。 - 請求項23記載の方法において、
前記評価済み利用度が第1のしきい値を上回るが、第2のしきい値を下回ると判断される場合に、
着信ホストコマンドは遅延され、かつ
使用可能な時間がまず前記着信ホストコマンド遅延中のハウスキーピング操作に配分される方法。 - 請求項24記載の方法において、
前記評価済み利用度が第2のしきい値を上回ると判断される場合に、ホストコマンド前後の配分可能・使用可能最大時間がハウスキーピング操作に配分される方法。 - フラッシュメモリストレージシステムであって、
メモリコントローラと、
フラッシュメモリモジュールと、
前記フラッシュメモリモジュールのデータ蓄積操作に優先順位を設定するバックエンドマネージャと、を備え、
前記バックエンドマネージャは、前記フラッシュメモリモジュールに求められる1群の前記データ蓄積操作を解析するように構成され、かつ
ホストコマンドの優先順位が前記システムの内部操作より低いか否かを判断し、低いと判断する場合に、前記内部操作の少なくとも一部分を前記ホストコマンドより前に実行するように構成されるフラッシュメモリストレージシステム。 - 請求項26記載のシステムにおいて、
前記バックエンドマネージャは、前記システムのファームウェアを備えるシステム。 - 請求項26記載のシステムにおいて、
前記バックエンドマネージャは、状態マシンを備えるシステム。 - フラッシュメモリストレージシステムであって、
メモリコントローラと、
フラッシュメモリモジュールと、を備え、
前記メモリコントローラは、
前記システムへ結合されたホストから受信される1種類以上のコマンドの優先度より高い優先度を、1種類以上のハウスキーピング操作に割り当て、
ホストコマンドを受信し、
前記コマンドの優先度をハウスキーピング操作の優先度と比較し、かつ
前記フラッシュメモリモジュールにより前記受信済みホストコマンドを処理する前に、前記受信済みホストコマンドより優先度が高いと判断された1つのハウスキーピング操作の少なくとも一部分を前記フラッシュメモリモジュールにより処理するように構成されるフラッシュメモリストレージシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/769,038 | 2007-06-27 | ||
US11/769,038 US20090006720A1 (en) | 2007-06-27 | 2007-06-27 | Scheduling phased garbage collection and house keeping operations in a flash memory system |
US11/769,033 | 2007-06-27 | ||
US11/769,033 US8504784B2 (en) | 2007-06-27 | 2007-06-27 | Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system |
PCT/US2008/068187 WO2009003038A2 (en) | 2007-06-27 | 2008-06-25 | Phased garbage collection and house keeping operations in a flash memory system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010532061A JP2010532061A (ja) | 2010-09-30 |
JP2010532061A5 true JP2010532061A5 (ja) | 2011-08-04 |
JP5449152B2 JP5449152B2 (ja) | 2014-03-19 |
Family
ID=39711028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010515079A Expired - Fee Related JP5449152B2 (ja) | 2007-06-27 | 2008-06-25 | フラッシュメモリシステムにおける段階的ガーベッジコレクションおよびハウスキーピング操作 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2160686B1 (ja) |
JP (1) | JP5449152B2 (ja) |
KR (1) | KR101505395B1 (ja) |
TW (1) | TWI369633B (ja) |
WO (1) | WO2009003038A2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4802762B2 (ja) * | 2006-02-28 | 2011-10-26 | 株式会社日立製作所 | 多コイル系超伝導マグネット |
US8504784B2 (en) | 2007-06-27 | 2013-08-06 | Sandisk Technologies Inc. | Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system |
TWI484334B (zh) * | 2009-12-24 | 2015-05-11 | Univ Nat Taiwan | 非揮發記憶體的區域式管理方法 |
TWI399643B (zh) * | 2009-12-31 | 2013-06-21 | Phison Electronics Corp | 快閃記憶體儲存系統及其控制器與資料寫入方法 |
TWI409633B (zh) * | 2010-02-04 | 2013-09-21 | Phison Electronics Corp | 快閃記憶體儲存裝置、其控制器與資料寫入方法 |
KR101332774B1 (ko) * | 2012-02-08 | 2013-11-25 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 및 이의 데이터 전송 제어 방법 |
WO2013145029A1 (en) * | 2012-03-30 | 2013-10-03 | Hitachi, Ltd. | Data storage system and control method therefor |
US9128615B2 (en) | 2013-05-15 | 2015-09-08 | Sandisk Technologies Inc. | Storage systems that create snapshot queues |
US9710326B2 (en) | 2014-07-28 | 2017-07-18 | SK Hynix Inc. | Encoder by-pass with scrambler |
EP3680786B1 (en) * | 2017-10-09 | 2022-08-10 | Huawei Technologies Co., Ltd. | Garbage data cleaning method and equipment |
KR20210001414A (ko) | 2019-06-28 | 2021-01-06 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5640529A (en) * | 1993-07-29 | 1997-06-17 | Intel Corporation | Method and system for performing clean-up of a solid state disk during host command execution |
US7089349B2 (en) * | 2003-10-28 | 2006-08-08 | Sandisk Corporation | Internal maintenance schedule request for non-volatile memory system |
US7188219B2 (en) * | 2004-01-30 | 2007-03-06 | Micron Technology, Inc. | Buffer control system and method for a memory system having outstanding read and write request buffers |
JP3908760B2 (ja) * | 2004-10-26 | 2007-04-25 | 株式会社東芝 | 情報端末装置とそのプログラム |
US7523251B2 (en) | 2005-01-18 | 2009-04-21 | Cisco Technology, Inc. | Quaternary content-addressable memory |
US7315917B2 (en) | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
-
2008
- 2008-06-24 TW TW097123547A patent/TWI369633B/zh not_active IP Right Cessation
- 2008-06-25 KR KR1020107001754A patent/KR101505395B1/ko active IP Right Grant
- 2008-06-25 WO PCT/US2008/068187 patent/WO2009003038A2/en active Application Filing
- 2008-06-25 EP EP08771928A patent/EP2160686B1/en not_active Not-in-force
- 2008-06-25 JP JP2010515079A patent/JP5449152B2/ja not_active Expired - Fee Related
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010532061A5 (ja) | ||
JP2013541765A5 (ja) | ||
CN106681661B (zh) | 一种固态硬盘中读写调度方法及装置 | |
US20120159016A1 (en) | Memory system and data transfer method | |
JP2013542494A5 (ja) | ||
CN104536701A (zh) | 一种nvme协议多命令队列的实现方法及系统 | |
WO2013119195A1 (en) | Multicore computer system with cache use based adaptive scheduling | |
US20150253992A1 (en) | Memory system and control method | |
CN107967224A (zh) | 一种固态硬盘提升性能一致性的方法 | |
TW200506608A (en) | Read/write command buffer pool resource management using read-path prediction of future resources | |
JP2010532061A (ja) | フラッシュメモリシステムにおける段階的ガーベッジコレクションおよびハウスキーピング操作 | |
CN112749102B (zh) | 一种内存空间垃圾回收处理方法、装置、设备及介质 | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
CN103823636A (zh) | Io调度方法及装置 | |
CN107391392A (zh) | 一种基于闪存存储设备并行特征的垃圾回收优化方法 | |
US10372379B2 (en) | Command processing method and storage controller using the same | |
CN107728953B (zh) | 一种提升固态硬盘混合读写性能的方法 | |
US20120278544A1 (en) | Flash memory controller | |
CN109814811B (zh) | 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法 | |
CN106681660B (zh) | Io调度方法及io调度装置 | |
KR101481898B1 (ko) | Ssd의 명령어 큐 스케줄링 장치 및 방법 | |
WO2019136967A1 (zh) | 一种应用在存储系统中的任务调度优化方法 | |
US20120260058A1 (en) | Memory management apparatus, memory management method, and control program | |
CN112840309B (zh) | 命令调度方法、装置及存储介质 | |
CN115576876A (zh) | 一种应用于NVMe SSD的DMA分配与管理方法 |