JP2012533800A5 - - Google Patents

Download PDF

Info

Publication number
JP2012533800A5
JP2012533800A5 JP2012520784A JP2012520784A JP2012533800A5 JP 2012533800 A5 JP2012533800 A5 JP 2012533800A5 JP 2012520784 A JP2012520784 A JP 2012520784A JP 2012520784 A JP2012520784 A JP 2012520784A JP 2012533800 A5 JP2012533800 A5 JP 2012533800A5
Authority
JP
Japan
Prior art keywords
drive
host device
information
gap
patent document
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
JP2012520784A
Other languages
English (en)
Other versions
JP5658250B2 (ja
JP2012533800A (ja
Filing date
Publication date
Priority claimed from US12/505,333 external-priority patent/US8140712B2/en
Application filed filed Critical
Publication of JP2012533800A publication Critical patent/JP2012533800A/ja
Publication of JP2012533800A5 publication Critical patent/JP2012533800A5/ja
Application granted granted Critical
Publication of JP5658250B2 publication Critical patent/JP5658250B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

【0002】
多くのストレージシステムにおいて、ターゲット装置は、フレームをホストに転送しているときにコリジョンが発生した場合の優先順位を有する。これらの場合、コマンドがキュー(待ち行列)に入っているとき(例えば、ファーストパーティ直接メモリアクセス(First Party Direct Memory Access)などを使用して)、いったん前記ターゲットが直接メモリアクセス(party direct memory access:DMA)セットアップフレーム情報構造(frame information structure:FIS)を送信してデータフェーズに入ると、前記ホストは通常いかなるコマンドも前記ターゲット装置に送信できなくなる。
前記ドライブが速くデータをフェッチ(取得)することができる場合、次に前記ホストは最大キュー長と同等の数のいくつかのコマンドを前記ドライブに送信することができ得る。前記ドライブは、次にDMAセットアップ、データ、DMAセットアップ、データなどを前記フレーム間に全くブレークを入れずに戻す。これにより、前記ホストはこれ以上のコマンドを送信することができなくなる。
これらの場合、前記ドライブのキュー長は、最大キュー長からゼロへ、ゼロから最大キュー長に戻り、そして再びゼロへと振動する。これはパフォーマンスに悪影響を及ぼす。このように、従来技術に関連するこれらおよび/またはその他の問題に対処する必要性が存在する。
この出願の発明に関連する先行技術文献情報としては、以下のものがある(国際出願日以降国際段階で引用された文献及び他国に国内移行した際に引用された文献を含む)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】 米国特許第5881229号明細書
【特許文献2】 米国特許第7120729号明細書
【特許文献3】 米国特許第7103732号明細書
【特許文献4】 米国特許第7096313号明細書
【特許文献5】 米国特許第7035967号明細書
【特許文献6】 米国特許第6985992号明細書
【特許文献7】 米国特許第6973531号明細書
【特許文献8】 米国特許第6831865号明細書
【特許文献9】 米国特許第6000006号明細書
【特許文献10】 米国特許第5956473号明細書
【特許文献11】 米国特許第5621687号明細書
【特許文献12】 米国特許第5568423号明細書
【特許文献13】 米国特許第7032087号明細書
【特許文献14】 米国特許第7000063号明細書
【特許文献15】 米国特許第6948026号明細書
【特許文献16】 米国特許第6925523号明細書
【特許文献17】 米国特許第6914853号明細書
【特許文献18】 米国特許第6732221号明細書
【特許文献19】 米国特許第6694402号明細書
【特許文献20】 米国特許第6539453号明細書
【特許文献21】 米国特許第6405295号明細書
【特許文献22】 米国特許第6230233号明細書
【特許文献23】 米国特許第6154808号明細書
【特許文献24】 米国特許第5963970号明細書
【特許文献25】 米国特許第5835935号明細書
【特許文献26】 米国特許第5819307号明細書
【特許文献27】 米国特許第5568626号明細書
【特許文献28】 米国特許第5544356号明細書
【特許文献29】 米国特許第5485595号明細書
【特許文献30】 米国特許第7747813号明細書
【特許文献31】 米国特許第7809900号明細書
【特許文献32】 米国特許第7849275号明細書
【特許文献33】 米国特許第7903486号明細書
【特許文献34】 米国特許第7620747号明細書
【特許文献35】 米国特許第7904619号明細書
【特許文献36】 米国特許第7549013号明細書
【特許文献37】 米国特許第7904672号明細書
【特許文献38】 米国特許第7003623号明細書
【特許文献39】 米国特許第7904764号明細書
【特許文献40】 米国特許第7222214号明細書
【特許文献41】 米国特許第6600614号明細書
【特許文献42】 米国特許第7827320号明細書
【特許文献43】 米国特許第6085248号明細書
【特許文献44】 米国特許第6928494号明細書
【特許文献45】 米国特許第7631128号明細書
【特許文献46】 米国特許第7827320号明細書
【特許文献47】 米国特許出願公開第2005/0166014号明細書
【特許文献48】 米国特許出願公開第2006/0218437号明細書
【特許文献49】 米国特許出願公開第2008/0294801号明細書
【特許文献50】 米国特許出願公開第2003/0041214号明細書
【特許文献51】 米国特許出願公開第2008/0282031号明細書
【特許文献52】 米国特許出願公開第2008/0090021号明細書
【特許文献53】 米国特許出願公開第2010/0250830号明細書
【特許文献54】 米国特許出願公開第2008/0233798号明細書
【特許文献55】 米国特許出願公開第2008/0294813号明細書
【特許文献56】 米国特許出願公開第2011/0041039号明細書
【特許文献57】 米国特許出願公開第2009/0094409号明細書
【特許文献58】 米国特許出願公開第2011/0041005号明細書
【特許文献59】 米国特許出願公開第2011/0016239号明細書
【特許文献60】 米国特許出願公開第2009/0125645号明細書
【特許文献61】 米国特許出願公開第2008/0282031号明細書
【特許文献62】 米国特許出願公開第2011/0022765号明細書
【特許文献63】 米国特許出願公開第2010/0115189号明細書
【特許文献64】 米国特許出願公開第2009/0300259号明細書
【特許文献65】 米国特許出願公開第2003/0041214号明細書
【特許文献66】 米国特許出願公開第2011/0083047号明細書
【特許文献67】 米国特許出願公開第2010/0106905号明細書
【特許文献68】 米国特許出願公開第2010/0017650号明細書
【特許文献69】 米国特許出願公開第2008/0294801号明細書
【特許文献70】 米国特許出願公開第2011/0125956号明細書
【特許文献71】 米国特許出願公開第2010/0067133号明細書
【特許文献72】 米国特許出願公開第2010/0037001号明細書
【特許文献73】 米国特許出願公開第2006/0218437号明細書
【特許文献74】 米国特許出願公開第2009/0138671号明細書
【特許文献75】 米国特許出願公開第2010/0017588号明細書
【特許文献76】 米国特許出願公開第2010/0017807号明細書
【特許文献77】 米国特許出願公開第2010/0017566号明細書
【特許文献78】 米国特許出願公開第2011/0004722号明細書
【特許文献79】 米国特許出願公開第2010/0064093号明細書
【特許文献80】 米国特許出願公開第2010/0146236号明細書
【特許文献81】 米国特許出願公開第2010/0251009号明細書
【特許文献82】 米国特許出願公開第2008/0141054号明細書
【特許文献83】 米国特許出願公開第2011/0167199号明細書
【特許文献84】 米国特許出願公開第2010/0064096号明細書
【特許文献85】 米国特許出願公開第2008/0005398号明細書
【特許文献86】 米国特許出願公開第2006/0209684号明細書
【特許文献87】 米国特許出願公開第2005/0166014号明細書
【特許文献88】 米国特許出願公開第2010/0250829号明細書
【特許文献89】 米国特許出願公開第2010/0250830号明細書
【特許文献90】 米国特許出願公開第2011/0041039号明細書
【特許文献91】 米国特許出願公開第2011/0004722号明細書
【特許文献92】 米国特許出願公開第2010/0017650号明細書
【特許文献93】 米国特許出願公開第2009/0094409号明細書
【特許文献94】 米国特許出願公開第2008/0294813号明細書
【特許文献95】 米国特許出願公開第2008/0294801号明細書
【特許文献96】 米国特許出願公開第2008/0005398号明細書
【特許文献97】 米国特許出願公開第2006/0218437号明細書
【特許文献98】 米国特許出願公開第2005/0166014号明細書
【特許文献99】 国際公開第2011/008963号
【特許文献100】 国際公開第2011/008963号
【非特許文献】
【0004】
【非特許文献1】 International Search Report for PCTlUS2010/042147, mailed March 24, 2011,9 pages
【非特許文献2】 Intel X25−E SATA Solid State Drive, May 2009, Document Order No. 319984−005US, Intel, as cited by the Examiner in a June 7, 2011 office action in U.S. Patent Application Serial No. 12573792, 24 pages
【非特許文献3】 REN, Jin and YANG, Qing; "I−CASH: Intelligently Coupled Array of SSD and HDD" in The 17th IEEE International
【非特許文献4】 Symposium on High Performance Computer Architecture, 2011 (HPCA'II), San Antonio, TX, USA Feb 2011, 12 pages, pp 278−298
【非特許文献5】 Serial ATA NSSD (NAND based Solid State Drive), July 2008, Samsung,as cited by the Examiner in a June 7,2011 office action in U.S. Patent Application Serial No. 12573792 Revision 1.0, 39 pages
【非特許文献6】 HUFFMAN, Amber and CLARK, Joni; "Serial ATA Native Command Queuing, An Exciting New Performance Feature for Serial ATA", A Joint Whitepaper By: Intel Corporation and Seagate Technology, July 2003, United States, 12 pages
【非特許文献7】 OLSON. Alan Rand Denis J Langlois. Solid State Drives Data Reliability and Lifetime, April 7, 2008, Imation, 27 pages
【非特許文献8】 "Serial ATA II Native Command Queuing Overview", Application Note, April 2003, Order No. 252664−002, Intel Corporation, United States, 21 pages
【非特許文献9】 October 7,2011 List of Art Rejections in Cases Related to Docket No. SAFI P031, 1 page
【発明の概要】
【課題を解決するための手段】

Claims (21)

  1. 方法であって、
    ドライブが、1若しくはそれ以上のコマンドをホスト装置から受信する工程であって、前記ホスト装置と前記ドライブは直接メモリアクセス(DMA)データフェーズを有するストレージプロトコルを介して通信するものであり、前記ドライブは前記ホスト装置による追加のコマンドの送信を阻止することを可能とするものである、前記受信する工程と、
    前記ホスト装置に送信する情報をキューに入れる工程と、
    ドライブの状態関数として、現在のホストの信号に依存せずに、前記ホスト装置に送信する前記情報にギャップを挿入するかを決定する工程であって、前記ギャップは連続する2つのDMAデータフェーズの各データ間に挿入され、それにより、前記ホスト装置はドライブに追加のコマンドを送信することができるものである、前記決定する工程と、
    前記決定する工程の決定に基づいて、ギャップを挿入する、またはギャップを挿入しない工程と、
    を有し、
    前記ドライブの状態関数は、前記ドライブの現在のキュー長の関数を含むものである
    方法。
  2. 請求項記載の方法において、前記ホストに送信する情報は、セットアップ情報および前記1若しくはそれ以上のコマンドのうちの少なくとも1つに関連付けられたデータを含むものである方法。
  3. 請求項記載の方法において、前記セットアップ情報は、直接メモリアクセス(direct memory access:DMA)フレーム情報構造(frame information structure:FIS)を含むものである方法。
  4. 請求項記載の方法において、前記セットアップ情報は、セット・デバイス・ビットFISを含むものである方法。
  5. 請求項記載の方法において、時間遅延、前記セットアップ情報を送信する前に挿入されるものである方法。
  6. 請求項記載の方法において、時間遅延、前記セットアップ情報を送信した後に挿入されるものである方法。
  7. 請求項記載の方法において、さらに、
    前記ドライブが、時間遅延の間に前記追加のコマンドを前記ホスト装置から受信する工程を有するものである方法。
  8. 請求項記載の方法において、前記ギャップを挿入する工程は、前記情報が前記ホスト装置に送信されている間に時間遅延を挿入する工程を含むものである方法。
  9. 請求項記載の方法において、前記ギャップは、現在のキュー長がゼロと等しい時には挿入されないものである方法。
  10. 請求項記載の方法において、前記ドライブの状態関数は、前のコマンドを受信してからの経過時間の関数を含むものである方法。
  11. 請求項記載の方法において、前記時間遅延の時間長は、前記ドライブの現在のキュー長に基づくものである方法。
  12. 請求項記載の方法において、前記時間遅延の時間長は、前記ドライブが前のコマンドを受信してからの経過時間に基づくものである方法。
  13. 請求項記載の方法において、時間遅延の時間長または前記時間遅延が挿入される時点のうちの少なくとも1つは、リアルタイムで決定されるものである方法。
  14. 請求項記載の方法において、時間遅延の時間長または前記時間遅延が挿入される時点のうちの少なくとも1つは、所定値である方法。
  15. 請求項記載の方法において、前記ホストに送信する前記情報はセットアップ情報を含み、このセットアップ情報は時間遅延が当該セットアップ情報に後続することを示す追加の情報を含むものである方法。
  16. 請求項記載の方法において、ホストに送信する前記情報はステータス情報を含み、時間遅延当該ステータス情報を送信する前に挿入されるものである方法。
  17. 請求項1記載の方法において、前記ギャップを挿入する工程は、追加情報を挿入する工程を含むものである方法。
  18. 請求項1記載の方法において、前記ホスト装置は、前記ギャップに先立って前記ギャップについて通知されるものである方法。
  19. 請求項1記載の方法において、前記ドライブはシリアルATA(Serial ATA:SATA)ドライブを含むものである方法。
  20. コンピュータ可読媒体に組み込まれたコンピュータプログラム製品であって、
    ドライブが、1若しくはそれ以上のコマンドをホスト装置から受信するコンピュータコードであって、前記ホスト装置と前記ドライブがDMAデータフェーズを有するストレージプロトコルを介して通信するものであり、前記ドライブは前記ホスト装置による追加のコマンドの送信を阻止することができるものである、前記受信するコンピュータコードと、
    前記ホスト装置に送る情報をキュー(待ち行列)に入れるコンピュータコードと、
    ドライブの現在のキュー長の関数として、現在のホストの信号に依存せずに、前記ホスト装置に送信する前記情報にギャップを挿入するかを決定するコンピュータコードであって、前記ギャップは連続する2つのDMAデータフェーズの各データ間に挿入され、それにより、前記ホスト装置はドライブに追加のコマンドを送信することができるものである、前記決定するコンピュータコードと、
    前記決定される条件に基づいて、ギャップを挿入する、またはギャップを挿入しないコンピュータコードと
    を有するコンピュータプログラム製品。
  21. 1若しくはそれ以上のコマンドをホスト装置から受信することができるものであるドライブであって、前記ホスト装置と前記ドライブはDMAデータフェーズを有するストレージプロトコルを介して通信することができるものであり、前記ドライブは前記ホスト装置による追加のコマンドの送信を阻止することができるものである、前記ドライブと、
    前記ホスト装置に送る情報をキュー(待ち行列)に入れることができるものであるバッファーと、
    前記バッファーの現在のキュー長の関数として、現在のホストの信号に依存せずに、前記ホスト装置に送信する前記情報にギャップを挿入するかを決定することができるものであるコントローラであって、前記ギャップは連続する2つのDMAデータフェーズの各データ間に挿入され、それにより、前記ホスト装置はドライブに追加のコマンドを送信することができるものであり、前記コントローラは、さらに、前記決定される条件に基づいて、ギャップを挿入する、またはギャップを挿入しないことができるものであるコントローラと
    を有する装置。
JP2012520784A 2009-07-17 2010-07-15 ドライブからホスト装置に送信される情報にギャップを挿入する方法 Expired - Fee Related JP5658250B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/505,333 2009-07-17
US12/505,333 US8140712B2 (en) 2009-07-17 2009-07-17 System, method, and computer program product for inserting a gap in information sent from a drive to a host device
PCT/US2010/042147 WO2011008963A2 (en) 2009-07-17 2010-07-15 Inserting a gap in information sent from a drive to a host device

Publications (3)

Publication Number Publication Date
JP2012533800A JP2012533800A (ja) 2012-12-27
JP2012533800A5 true JP2012533800A5 (ja) 2013-08-29
JP5658250B2 JP5658250B2 (ja) 2015-01-21

Family

ID=43450212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012520784A Expired - Fee Related JP5658250B2 (ja) 2009-07-17 2010-07-15 ドライブからホスト装置に送信される情報にギャップを挿入する方法

Country Status (7)

Country Link
US (4) US8140712B2 (ja)
EP (1) EP2454671A4 (ja)
JP (1) JP5658250B2 (ja)
KR (1) KR101281480B1 (ja)
CN (1) CN102713873B (ja)
TW (2) TWI447586B (ja)
WO (1) WO2011008963A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110004718A1 (en) 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US8140712B2 (en) 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
US8516166B2 (en) 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
KR102238650B1 (ko) 2014-04-30 2021-04-09 삼성전자주식회사 저장 장치, 상기 저장 장치를 포함하는 컴퓨팅 시스템 및 상기 저장 장치의 동작 방법
US9817777B2 (en) * 2015-03-31 2017-11-14 Toshiba Memory Corporation Multi-operating state serial ATA devices and methods of operation therefor
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03250499A (ja) 1990-02-27 1991-11-08 Nec Corp データ記憶回路
GB2251324B (en) 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5485595A (en) 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
JPH08124393A (ja) 1994-10-20 1996-05-17 Fujitsu Ltd データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置
US5568423A (en) 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
US5805809A (en) 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5621687A (en) 1995-05-31 1997-04-15 Intel Corporation Programmable erasure and programming time for a flash memory
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US5956473A (en) 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
US5963970A (en) 1996-12-20 1999-10-05 Intel Corporation Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields
US6085248A (en) * 1997-02-11 2000-07-04 Xaqtu Corporation Media access control transmitter and parallel network management system
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
JP3898305B2 (ja) 1997-10-31 2007-03-28 富士通株式会社 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
US5924120A (en) * 1998-02-03 1999-07-13 Digital Equipment Corporation Method and apparatus for maximizing utilization of an internal processor bus in the context of external transactions running at speeds fractionally greater than internal transaction times
EP1027653B1 (de) 1998-09-04 2004-09-15 Hyperstone AG Zugriffssteuerung eines speichers beschränkter löschhäufigkeit
FR2787601A1 (fr) 1998-12-22 2000-06-23 Gemplus Card Int Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire
US6301639B1 (en) * 1999-07-26 2001-10-09 International Business Machines Corporation Method and system for ordering priority commands on a commodity disk drive
US7628622B2 (en) 1999-08-04 2009-12-08 Super Talent Electronics, Inc. Multi-level cell (MLC) slide flash memory
US6405295B1 (en) 1999-09-07 2002-06-11 Oki Electric Industry, Co., Ltd. Data storage apparatus for efficient utilization of limited cycle memory material
JP2001100935A (ja) * 1999-09-28 2001-04-13 Internatl Business Mach Corp <Ibm> ディスク装置およびその制御方法
US6928494B1 (en) * 2000-03-29 2005-08-09 Intel Corporation Method and apparatus for timing-dependant transfers using FIFOs
US6600614B2 (en) 2000-09-28 2003-07-29 Seagate Technology Llc Critical event log for a disc drive
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
EP1280063A3 (en) 2001-07-27 2005-03-30 Fujitsu Limited Cache control methods and apparatus for hard disk drives
US6948026B2 (en) 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US20030058681A1 (en) 2001-09-27 2003-03-27 Intel Corporation Mechanism for efficient wearout counters in destructive readout memory
US7000063B2 (en) 2001-10-05 2006-02-14 Matrix Semiconductor, Inc. Write-many memory device and method for limiting a number of writes to the write-many memory device
US7130933B2 (en) * 2002-07-24 2006-10-31 Intel Corporation Method, system, and program for handling input/output commands
KR101174308B1 (ko) 2002-10-28 2012-08-16 쌘디스크 코포레이션 비휘발성 저장 시스템들에서 자동 웨어 레벨링
US6831865B2 (en) 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
US7035967B2 (en) 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US7096313B1 (en) 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
US7103732B1 (en) 2002-10-28 2006-09-05 Sandisk Corporation Method and apparatus for managing an erase count block
US6973531B1 (en) 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most frequently erased blocks in non-volatile memory systems
US6985992B1 (en) 2002-10-28 2006-01-10 Sandisk Corporation Wear-leveling in non-volatile storage systems
TW555100U (en) 2002-11-27 2003-09-21 Power Quotient Int Co Ltd High speed of data transfer of solid state disk on module
JP4550439B2 (ja) * 2003-02-28 2010-09-22 東芝メモリシステムズ株式会社 Ecc制御装置
US6925523B2 (en) 2003-03-03 2005-08-02 Agilent Technologies, Inc. Managing monotonically increasing counter values to minimize impact on non-volatile storage
JP4460867B2 (ja) * 2003-09-26 2010-05-12 東芝ストレージデバイス株式会社 インターフェース装置及びパケット転送方法
US7032087B1 (en) 2003-10-28 2006-04-18 Sandisk Corporation Erase count differential table within a non-volatile memory system
JP2005215729A (ja) * 2004-01-27 2005-08-11 Hitachi Global Storage Technologies Netherlands Bv データ伝送制御方法及び記憶装置
US7222214B2 (en) 2004-03-25 2007-05-22 Lucent Technologies Inc. Device-level address translation within a programmable non-volatile memory device
JP2006164012A (ja) * 2004-12-09 2006-06-22 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのパワー・セーブ・モードの制御方法
US7318962B2 (en) * 2005-01-28 2008-01-15 The United States Of America As Represented By The Secretary Of The Navy Magnetically directed self-assembly of molecular electronic junctions comprising conductively coated ferromagnetic microparticles
US20060209684A1 (en) 2005-03-18 2006-09-21 Via Technologies, Inc. Data rate controller, and method of control thereof
JP4679943B2 (ja) 2005-03-23 2011-05-11 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法
US7620747B1 (en) 2005-10-12 2009-11-17 Nvidia Corporation Software based native command queuing
US20070260756A1 (en) * 2006-01-05 2007-11-08 Pao-Ching Tseng Method for Processing Command via SATA Interface
US7694026B2 (en) 2006-03-31 2010-04-06 Intel Corporation Methods and arrangements to handle non-queued commands for data storage devices
US7739470B1 (en) * 2006-10-20 2010-06-15 Emc Corporation Limit algorithm using queue depth to control application performance
US7904764B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. Memory lifetime gauging system, method and computer program product
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US7747813B2 (en) 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7809900B2 (en) 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US8090980B2 (en) 2006-12-08 2012-01-03 Sandforce, Inc. System, method, and computer program product for providing data redundancy in a plurality of storage devices
US7861139B2 (en) * 2007-01-26 2010-12-28 Micron Technology, Inc. Programming management data for NAND memories
JP2008226040A (ja) * 2007-03-14 2008-09-25 Hitachi Ltd 情報処理装置及びコマンド多重度制御方法
JP2008250961A (ja) 2007-03-30 2008-10-16 Nec Corp 記憶媒体の制御装置、データ記憶装置、データ記憶システム、方法、及び制御プログラム
KR20080090021A (ko) 2007-04-03 2008-10-08 삼성테크윈 주식회사 데이터 전송 속도가 다른 인터페이스들을 갖는 데이터 저장모듈 및 이의 데이터 전송방법
JP4400650B2 (ja) 2007-05-23 2010-01-20 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US20080294813A1 (en) 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US7631128B1 (en) * 2007-06-28 2009-12-08 Emc Corporation Protocol controller for a data storage system
US7840751B2 (en) * 2007-06-29 2010-11-23 Seagate Technology Llc Command queue management of back watered requests
US7945727B2 (en) * 2007-07-27 2011-05-17 Western Digital Technologies, Inc. Disk drive refreshing zones in segments to sustain target throughput of host commands
TWI373772B (en) 2007-10-04 2012-10-01 Phison Electronics Corp Wear leveling method and controller using the same
US8209465B2 (en) * 2007-10-30 2012-06-26 Hagiwara Sys-Com Co., Ltd. Data writing method
US20090125645A1 (en) 2007-11-12 2009-05-14 Gemalto Inc System and method for supporting multiple tokens having a smart card to control parameters of a flash memory device
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US9183133B2 (en) 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
US7827320B1 (en) * 2008-03-28 2010-11-02 Western Digital Technologies, Inc. Serial ATA device implementing intra-command processing by detecting XRDY primitive while in the XRDY state
US7970978B2 (en) 2008-05-27 2011-06-28 Initio Corporation SSD with SATA and USB interfaces
US20100017588A1 (en) 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for providing an extended capability to a system
US20100017566A1 (en) 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer
US20100017807A1 (en) 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for transparent communication between a storage device and an application
US20100017650A1 (en) 2008-07-19 2010-01-21 Nanostar Corporation, U.S.A Non-volatile memory data storage system with reliability management
US8140739B2 (en) 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
US20100064093A1 (en) 2008-09-09 2010-03-11 Radoslav Danilak System, method, and computer program product for converting data in a binary representation to a non-power of two representation
US8131921B2 (en) 2008-09-17 2012-03-06 Intel Corporation Command suspension in response, at least in part, to detected acceleration and/or orientation change
JP4399021B1 (ja) 2008-10-29 2010-01-13 株式会社東芝 ディスクアレイ制御装置および記憶装置
US8285970B2 (en) 2008-11-06 2012-10-09 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
US20100146236A1 (en) 2008-12-08 2010-06-10 Radoslav Danilak System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command
US20100250830A1 (en) 2009-03-27 2010-09-30 Ross John Stenfort System, method, and computer program product for hardening data stored on a solid state disk
US8090905B2 (en) 2009-03-27 2012-01-03 Sandforce, Inc. System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format
US8230159B2 (en) 2009-03-27 2012-07-24 Lsi Corporation System, method, and computer program product for sending logical block address de-allocation status information
US8291131B2 (en) 2009-07-06 2012-10-16 Micron Technology, Inc. Data transfer management
US8140712B2 (en) 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
US8516166B2 (en) 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US20110022765A1 (en) 2009-07-23 2011-01-27 Ross John Stenfort System, method, and computer program product for maintaining a direct connection between an initiator and a drive
US20110041039A1 (en) 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110041005A1 (en) 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US8108737B2 (en) 2009-10-05 2012-01-31 Sandforce, Inc. System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device

Similar Documents

Publication Publication Date Title
CN110119248B (zh) 数据读写命令的控制方法、存储设备和系统
JP2012533800A5 (ja)
US7162550B2 (en) Method, system, and program for managing requests to an Input/Output device
CN107203337B (zh) 用户可配置的被动后台操作
JP4395111B2 (ja) データ・ペイロードを第1のセクタ・フォーマットから第2のセクタ・フォーマットに変換するための装置及び方法
KR101209918B1 (ko) 반도체 저장 장치를 위한 프로그램 가능한 인터페이스를 가지는 raid 컨트롤러
US10067685B2 (en) Identifying disk drives and processing data access requests
US9910800B1 (en) Utilizing remote direct memory access (‘RDMA’) for communication between controllers in a storage array
KR101134069B1 (ko) 멀티 레벨 raid 구조를 위한 하이브리드 저장 시스템
US20160034188A1 (en) Input/output interceptor with intelligent flush control logic
JP2011023016A5 (ja)
TW201243605A (en) Selective enablement of operating modes or features via host transfer rate detection
KR101200998B1 (ko) 멀티 pci 버스 스위칭을 갖는 하이브리드 raid 컨트롤러
US8924610B1 (en) SAS/SATA store-and-forward buffering for serial-attached-SCSI (SAS) storage network
JP2012532397A5 (ja)
CN105404596A (zh) 一种数据传输方法、装置及系统
JP5658250B2 (ja) ドライブからホスト装置に送信される情報にギャップを挿入する方法
KR101196878B1 (ko) 하이브리드 raid 컨트롤러
JP6088837B2 (ja) ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム
CN101997861B (zh) 一种数据存储方法和设备
KR101200997B1 (ko) 멀티 pci 버스 스위칭을 갖는 raid 컨트롤러
US20030172203A1 (en) Automated transfer of a data unit comprising a plurality of fundamental data units between a host device and a storage medium
KR20130021339A (ko) 반도체 저장 장치를 위한 네트워크 사용 가능 raid 컨트롤러
US10133513B1 (en) Cache management system and method
US20200125435A1 (en) Data storage device with deadlock recovery capabilities