TWI480732B - 使用非揮發性記憶體來增進效能的方法及系統 - Google Patents

使用非揮發性記憶體來增進效能的方法及系統 Download PDF

Info

Publication number
TWI480732B
TWI480732B TW101110178A TW101110178A TWI480732B TW I480732 B TWI480732 B TW I480732B TW 101110178 A TW101110178 A TW 101110178A TW 101110178 A TW101110178 A TW 101110178A TW I480732 B TWI480732 B TW I480732B
Authority
TW
Taiwan
Prior art keywords
volatile memory
data
storage medium
memory
computer system
Prior art date
Application number
TW101110178A
Other languages
English (en)
Other versions
TW201227293A (en
Inventor
Cenk Ergan
Clark D Nicholson
Dan Teodosiu
Dean L Dewhitt
Emily Nicole Hill
Hanumantha R Kodavalla
Michael J Zwilling
John M Parchem
Michael R Fortin
Nathan Steven Obr
Rajeev Y Nagar
Surendra Verma
Therron Powell
William J Westerinen
Mark Joseph Zbikowski
Patrick L Stemen
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW201227293A publication Critical patent/TW201227293A/zh
Application granted granted Critical
Publication of TWI480732B publication Critical patent/TWI480732B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/88Separating or stopping elements, e.g. fingers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/281Single cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/305Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Mechanical Engineering (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

使用非揮發性記憶體來增進效能的方法及系統
本發明概言之關於電腦系統,尤指關於藉由使用非揮發性記憶體配合一長期儲存單元來增進電腦系統之效能。
某些儲存裝置用於電腦系統中是為了提供該電腦系統之功能的持久性記憶體。舉例而言,在本技術中所熟知的一磁性硬碟機組件。但是,這種持久性記憶體有一些缺點。要預備磁性硬碟機來讀取或寫入資料相當地耗時。為此原因,在大部份例子中,其必須實質地啟始該碟片的旋轉,並定位一讀取/寫入頭在適當的位置上。
讀取或寫入該儲存裝置的預備是非常耗時且耗力的。此外,這種磁性硬碟機記憶體及其組件會造成雜訊。因此,對於電腦系統有需要一種改善的記憶體來彌補一些這些缺點。
持久性儲存裝置之新的組成及組態可以提供關於儲存效能的某些增進。但是,僅使用傳統的技術來存取持久性儲存將無法完全得到這些新的組成或組態之優點。概言之,使用一作業系統來控制該電腦系統之操作。該作業系統亦居中協調該電腦系統中的其它應用與該硬碟機。因此,有需要一種方法,例如應用程式介面(API,application programming interface)來提供增強的效能。類似地,有需要一種系統可產生新的組態及新的控制技術來提供用於電腦系統的儲存。
一種持久性儲存裝置,其中包括一或多種長期儲存媒體,以及用於一作業系統的非揮發性記憶體,其可提供或回應於應用程式介面、命令及中斷,而允許作業系統或一應用程式來有效地使用該非揮發性記憶體,藉以增加效能時間及效率。當其考慮到該非揮發性記憶體是實體上包含於該長期儲存媒體時,該非揮發性記憶體亦可能與該長期儲存媒體分離,但與它一起工作來提供持久性的儲存。
在一具體實施例中,揭示應用程式介面(API),其可允許請求該長期儲存媒體來轉快或轉慢。其它的API允許請求該非揮發性記憶體可以由該長期儲存媒體之特定的位址來釋放(flush)或填入資料。還有其它的則允許直接寫入資料到該長期儲存媒體,允許資料以一原子性(atomic)寫入來寫入、或允許寫入到該非揮發性記憶體快取記憶體之資料被忽略,而非被儲存來寫入到該長期儲存媒體。此外,提供一種請求來尋找及提供可用於這種儲存之既有的非揮發性記憶體。
在一具體實施例中,該非揮發性記憶體可用於兩種方式之一。在第一種方式中,在非揮發性記憶體中提供一快取記憶體。此快取記憶體做為一讀取快取記憶體,用於自該長期儲存媒體中讀取資料,亦做為一寫入緩衝器,用於寫入到該長期儲存媒體之資料。依此方式,讀取及寫入到該長期儲存媒體,除了零星地發生,亦會叢集在一起,其需要該長期儲存媒體之較少的讀取、寫入及準備。
該非揮發性記憶體之一部份可由該作業系統會另一個應用程式直接地擁有。由該長期儲存媒體之某個邏輯扇區位址(LSA,logical sector address)可映射到該非揮發性記憶體,並自這些LSA讀取或寫入,其皆將在該非揮發性記憶體中執行。此映射將是隨著在上述之一非揮發性記憶體部份中的快取記憶體來發生。
本發明的其它特徵將在以下說明。
在以下的說明中,將使用名詞「NV記憶體」來代表固態非揮發性記憶體。NV記憶體代表任何種類的記憶體,其在當移除其電力時可維持它的資料,且可用新的資料來抹除及重新程式化。該NV記憶體可包括電池備援的記憶體。該NV記憶體可位於電腦中成為該電腦之一獨立的組件,例如個人電腦插槽卡或做為系統記憶體中的一組件。另外,其可為一持久性儲存裝置(例如一硬碟機)的一組件,其可在一筆記型裝置及類似者之一攜行電腦塢。在行動式系統中,可使用硬碟機所具有的該軌跡緩衝記憶體(即本發明亦可使用該軌跡緩衝器記憶體來實施)。
行動系統的未來碟片可從電池提取電力來保持其記憶體運作,而實際上不提取電力來維持該碟片旋轉。該NV記憶體可儲存檔案資料、檔案元資料,以及熟知的碟片扇區,例如該開機扇區及分割表。在關閉電力或進入到一休眠模式期間,該電腦系統基於先前使用的歷史來決定要儲存在NV記憶體中的靜態及動態組態資料。資料在系統操作期間亦儲存在NV記憶體中,以降低該磁碟機加快旋轉之次數。對於行動式PC及類似者,降低該磁碟機加快旋轉之次數可以改進使用者由於電力降低之經驗,藉此允許較小及較輕的行動PC及類似者,其可在一給定的電池容量下維持地更久。其亦降低了要運轉吵雜及高速風扇的需要,其會很大聲且干擾到使用者。
現在回到圖面,其中類似的參考編號代表類似的元件,本發明係以實施在一適當的運算環境中來例示。雖然並非必要,本發明可用電腦可執行之指令的一般性方式來描述,例如由一個人電腦執行的程式模組。概言之,程式模組包括常式、程式、物件、組件、資料結構等,其可執行特定的工作、或實施特定的摘要資料型態。再者,本技術專業人士將可瞭解到本發明可實施於其它的電腦系統組態,包括掌上型裝置、多處理器系統、微處理器為主或可程式化的消費性電子產品、網路PC、迷你級電腦、主機型電腦及類似者。本發明亦可實施於分散式運算環境中,其中工作係由遠端處理裝置所執行,其係透過一通訊網路所鏈結。在一分散式運算環境中,程式模組可同時位在本地或遠端記憶體儲存裝置中。
第1圖所示為在其上實施本發明之一適當運算系統環境100的範例。該運算系統環境100僅為一適當運算環境的一個範例,其並非要建立對於本發明使用或功能範圍的限制。本運算環境100不應被解釋為關於在該範例性運算環境100中所述的組件中任何一個或其組合具有任何的相關性或需求。
本發明可由許多其它泛用型、或特定目的之運算系統環境或組態來操作。可以適用於本發明的熟知之運算系統、環境及/或組態之範例,其包括但不限於個人電腦、伺服器電腦、掌上型或膝上型裝置、多處理器系統、微處理器為主的系統、機上盒、可程式化消費性電子,網路PC、迷你型電腦、主機型電腦、分散式運算環境,其中可包括任何上述的系統或裝置及類似者。
本發明可用電腦可執行之指令的一般性方式來描述,例如程式模組。概言之,程式模組包括常式、程式、物件、組件、資料結構等,其可執行特定的工作、或實施特定的摘要資料型態。本發明亦可實施於分散式運算環境中,其中工作係由遠端處理裝置所執行,其係透過一通訊網路所鏈結。在一分散式運算環境中,程式模組可以同時位在本地及遠端電腦儲存媒體中,包括有記憶體儲存裝置。
請參考第1圖,用於實施本發明之一範例性系統包括以電腦110為型式之泛用型運算裝置。電腦110之組件可包括但不限於一處理單元120、一系統記憶體130、及一系統匯流排121,其耦合了包括系統記憶體到處理單元120之多個系統組件。該系統匯流排121可為數種匯流排結構中的任何一種,其中包括有一記憶體匯流排、或記憶體控制器、一周邊匯流排、及使用了多種匯流排架構中任一種的一本地匯流排。例如(但並非限制)這些架構包括工業標準架構(ISA)匯流排、微通道架構(MCA)匯流排、增強型ISA(EISA)匯流排、視訊電子標準協會(VESA)本機匯流排及週邊組件互連(PCI)匯流排(亦稱之為中間匯流排)。
電腦110基本上包括多種電腦可讀取媒體。電腦可讀取媒體可為任何可由電腦110存取使用的媒體,並同時包括揮發性及非揮發性媒體,可移除及非可移除媒體。例如(但非限制)電腦可讀取媒體可以包括電腦儲存媒體及通訊媒體。電腦儲存媒體同時包括揮發性及非揮發性、可移除及非可移除媒體,其可用儲存資訊的任何方法或技術來實施,例如儲存了電腦可讀取指令、資料結構、程式模組或其它資料。電腦儲存媒體包括但不限於RAM,ROM,EEPROM,快閃記憶體或其它記憶體技術,CD-ROM,數位多功能碟片(DVD)、或其它光碟儲存、磁碟匣、磁帶、磁碟儲存或其它磁性儲存裝置、或任何可以用來儲存想要的資訊之其它媒體,以及可由電腦110存取者。通訊媒體基本上包含了電腦可讀取指令、資料結構、程式模組、或其它為模組化的資料信號之資料,例如載波或其它輸送機制,並可包括任何資訊傳遞媒體。該名詞「模組化資料信號」代表具有一或多個特性組合之信號,或其改變方式為編碼該信號中的資訊。例如(並非限制)通訊媒體可包括有線媒體,例如一有線網路或直接線路連接,及無線媒體,例如聲波、RF、紅外線及其它無線媒體。任何上述之組合必須亦包括在電腦可讀取媒體之範圍內。
該系統記憶體130包括形式為揮發性及/或非揮發性記憶體之電腦儲存媒體,例如唯讀記憶體(ROM) 131及隨機存取記憶體(RAM) 132。包含有基本的常式來協助在電腦110內的元件之間傳輸資訊的一基本輸入/輸出系統133(BIOS),例如在開啟時,基本上即儲存在ROM 131中。RAM 132基本上包含有資料及/或程式模組,其皆可立即被存取及/或目前正由處理單元120所操作。例如(但非限制)第1圖例示了作業系統134、應用程式135、其它程式模組136及程式資料137。
該電腦110亦可包括其它可移除/非可移除、揮發性/非揮發性電腦儲存媒體。僅藉由範例,第1圖例示了一硬碟機141,其可由讀取或寫入到非可移除、非揮發性磁性媒體中,一磁碟機151,其可讀取或寫入到一可移除、非揮發性磁碟片152上,及一光碟機155,其可讀取或寫入到一可移除、非揮發性光碟片156,例如CD-ROM或其它光學媒體。其它可用於該範例性操作環境中的可移除/非可移除、揮發性/非揮發性電腦儲存媒體者包括但不限於磁帶匣、快閃記憶卡、數位多功能碟片、數位視訊帶、固態RAM、固態ROM、及類似者。基本上該硬碟機141係透過像是介面140的一非可移除記憶體介面來連接到該系統匯流排121,而磁碟機151及光碟機155基本上是由像是介面150的一可移除記憶體介面來連接到該系統匯流排121。
在第1圖中討論及例示的驅動器及其相關的電腦儲存媒體即提供了電腦110之電腦可讀取指令、資料結構、程式模組與其它資料的儲存。在第1圖中,例如硬碟機141例示為儲存了作業系統144、應用程式145、其它程式模組146、及程式資料147。請注意到這些組件可以相同或相異於作業系統134、應用程式135、其它程式模組136及程式資料137。在此對於作業系統144、應用程式145、其它程式模組146及程式資料147提供了不同的編號,來表示至少它們為不同的複本。一使用者可以透過像是鍵盤162、指向裝置161(通常稱之為滑鼠)、軌跡球或觸控墊的輸入裝置來輸入命令及資訊到電腦110中,其它輸入裝置(未示出)可以包括一麥克風、搖桿、游戲墊、衛星碟、掃描器等等。這些及其它的輸入裝置通常係透過耦合到該系統匯流排之一使用者輸入介面160來連接到該處理單元120,但亦可由其它介面及匯流排結構來連接,例如一平行埠、遊戲埠或一通用序列匯流排(USB)。一監視器191或其它種顯示裝置亦可透過一介面來連接到該系統匯流排121,例如一視訊介面190。除了該監視器之外,電腦亦可包括其它的周邊輸出裝置,例如喇叭197及印表機196,其亦可透過一輸出周邊介面195來連接。
該電腦110可在一使用了邏輯連接到一或多個遠端電腦的網路化環境中來操作,例如一遠端電腦180。該遠端電腦180可為一個人電腦、一伺服器、一路由器、一網路PC、一端點裝置或其它常用網路節點、並基本上包括了上述對於電腦110所提到的許多或所有的組件,雖然在第1圖中僅例示了一種記憶體儲存裝置181。在第1圖中所述的邏輯連接包括一區域網路(LAN)171、及一廣域網路(WAN) 173,但其亦可包括其它網路。這種網路化環境在辦公室中很常見,即企業內的電腦網路、企業內網路及網際網路。
當用於一LAN網路化環境中,該個人電腦110即透過一網路介面或配接器170來連接到LAN 171。當用於一WAN網路化環境中,該電腦110基本上包括一數據機、或其它可在WAN 173之上建立通訊之手段,例如網際網路。該數據機172可為內部或外部裝置,其可透過使用者輸入介面160或其它適當的機制來連接到系統匯流排121。在一網路化環境中,程式模組相對於個人電腦110或其部份而言,可以儲存在該遠端記憶體儲存裝置中。例如(但非限制),第1圖例示存在於記憶體裝置181上的遠端應用程式185。其將可瞭解到所示的網路連接為範例性質,其可使用其它用以在電腦之間建立一通訊鏈結的手段。
在以下的說明中,本發明將參考由一或多部電腦所執行之操作的動作及符號性代表,除非另有述明。因此,其將可瞭解到這些動作及操作,其中有數次提到為由電腦執行,包括了由代表了以一結構化型式中的資料之電子信號的電腦處理單元所操縱。此操縱轉換該資料或將其維持在該電腦之記憶體系統中的位置處,其可重新配置或另外以本技術專業人士所熟知的方式來改變該電腦之運作。該電腦所維持之資料結構為該記憶體之實體位置,其具有由該資料格式所定義的特定性質。但是,本發明以上述之文字來說明,其並不代表為一種限制,本技術專業人士將可瞭解到以下所述的多種動作及操作亦可實施在硬體當中。
電腦110中包括NV記憶體
現在請參考第2圖,該NV記憶體200可位於該電腦110中做為該電腦110之一獨立的組件202,例如要放置在一PC插槽中的卡片,或做為系統記憶體中的一組件204。另外,其可為一持久性儲存裝置300(例如一硬碟機141)的一組件206,其可在一筆記型裝置及類似者之一攜行電腦塢。NV記憶體200之另一個可選擇的位置為一可移除式固態非揮發性記憶體裝置的型式,其可插入到該電腦系統中,例如根據由CompactFlash組織所維護的CompactFlash規格,或類似者。該NV記憶體200做為一獨立的組件202,其有能力來改善目前不具有NV記憶體200之遺留系統,而不需要安裝具有NV記憶體之硬碟機。
現在請參考第3圖,該持久性儲存裝置300具有一碟片組件302,其中包括一非揮發性記憶體儲存媒體(一長期儲存媒體),例如一或多個碟片304、一讀取/寫入頭306,用於讀取及寫入到該碟片304、及一轉軸/轉子組件308,用於移動該讀取/寫入頭306到該碟片304上的位置。一碟片組件302顯示於第3圖中,並用於以下的說明,本發明技術之好處可於使用另一種長期儲存媒體時發現到,並且對於本發明的應用實例並不受限於將一碟片組件做為一長期儲存媒體。該控制器310命令該碟片組件由該儲存媒體讀取資料或寫入資料到該儲存媒體。一快取記憶體記憶體312用於緩衝化由該儲存媒體讀取中或寫入中的資料。本發明之NV記憶體200係位在該控制器310內,或做為該持久性儲存裝置300之獨立組件。在一具體實施例中,該NV記憶體200係暴露給該電腦110而出現在包含一或多個連續扇區之碟片304的至少一個大區域。其不需要對IDE(整合裝置電子)或SCSI(小電腦系統介面)規格進行改變。該NV記憶體200暴露到該作業系統,所以該作業系統與其它組件能夠查詢該NV記憶體200之大小、控制該NV記憶體200之狀態、使用一交換程序來寫入資料到該NV記憶體200,並如上所述,使用該NV記憶體做為一寫入緩衝器。在另一具體實施例中,該電腦110可以藉由觀察到對於該碟片304之大區域的存取時間為小於500微秒而非典型的大約10毫秒的方式來偵測該NV記憶體的存在。
作業系統與NV記憶體之主控應用程式用途
請再次參考第2圖,為了取得NV記憶體200之好處來改善效能,根據本發明一具體實施例,該作業系統(OS)134具有多種介面來提供NV記憶體200之改善的用途。
首先提供一偵測介面。OS 134能夠偵測是否具有一NV記憶體200,以及該NV記憶體之大小。此功能係做為該應用程式135與其它程式模組136可以使用的一介面來判定是否NV記憶體200中存在於該電腦110中。此外,OS組件(例如檔案系統或其它物件儲存)可以使用該偵測介面來決定在該電腦110上NV記憶體200之存在與大小。其它關於NV記憶體200之資訊亦可提供出來,例如用量資訊或種類資訊。此資訊很有用,因為某些NV記憶體具有有限的壽命,此在某些狀況下會影響的NV記憶體200之使用。
為了自碟片組件302中讀取或寫入到一碟片304,該碟片必須加快旋轉,且該讀取/寫入頭306必須由轉軸/轉子組件移動到適當的位置。此準備動作需要時間,並造成了在該資料能夠由碟片組件302讀取或寫入之前的延遲。在寫入到碟片304之準備動作將稱之為加速旋轉該碟片,甚至其亦包含了移動該讀取/寫入頭306。實際上,當該碟片圖示為一旋轉媒體時,其可視為在一持久性儲存裝置300中,可包含一NV記憶體200以及另一種型式的長期儲存媒體(除了碟片組件302之外),其會在資料可以寫入到記憶體之前需要準備動作。在該持久性儲存裝置300上使用長期儲存媒體之任何準備動作將稱之為「加快旋轉」("spin up"或"spinning up")該記憶體,甚至其可視為可有額外的準備動作,或甚至不會牽涉到一旋轉媒體的實際旋轉。因為一應用或作業系統134本身可以在寫入到該持久性儲存裝置300之前認知到存有顯著的可能性在該裝置300上需要長期儲存媒體之加快旋轉的寫入將會發生,延遲即造成了需要等待長期儲存媒體之加快旋轉可透過使用一介面來允許一應用或作業系統134請求該長期儲存媒體的加快旋轉方式來排除。
類似地,亦可提供一降低旋轉介面。為了節省電力消耗,如果對於持久性儲存裝置300之碟片組件302未進行寫入,則可暫停該碟片304之旋轉。再次地,當該持久性儲存裝置300顯示成包括一旋轉媒體,其中一實際的降低旋轉將可降低電力消耗,其可考慮除了NV記憶體200之外而在該持久性儲存裝置300上其它型式的長期儲存媒體,且此長期儲存媒體可做動作類比至碟片組件302之降低旋轉,並且這種長期儲存媒體可由停止允許立即性或相對快速讀取及寫入該記憶體的動作來得到某種好處。這種動作的停止實際上可不包括一旋轉媒體之實質降低旋轉,但是這種停止可視為此處所稱之「降低旋轉」("spin down"或"spinning down")。
此降低旋轉及加快旋轉動作可以在小於它們的最高速率下來進行。在較低速率下執行這些作業可以減少關於這些動作之雜音,並減少在功率消耗中任何相關的突然變化。因為該加速旋轉及降低旋轉(或對於長期儲存媒體之其它準備動作)可以在絕對性需要這些動作之前來執行,這些好處可在不影響效能之下來達到。當一碟片緩慢地加快旋轉時,而非快速進行,該碟片將可在其完全加速旋轉時來使用,但可最小化對該使用者及系統其它部份的影響。
某些或全部的NV記憶體200可做為一持久性儲存裝置300之碟片組件302之寫入快取記憶體。在這種狀況下,對此提供一介面,其中一應用程式或作業系統134可以為了效能的理由而決定該NV記憶體200必須釋放到在該持久性儲存裝置300中的其它記憶體。此介面會釋放該NV記憶體200到該長期儲存媒體。
NV記憶體200的不同部份可以標示為不同優先性。舉例而言,NV記憶體200的一區域可為"釘住"或標示為高優先性,其必須維持在NV記憶體200中,而非釋放到長期儲存媒體,較佳地是到NV記憶體200的其它區域,其並未被釘住或依此方式標示。本發明一具體實施例允許一些優先性中的一個被指定到NV記憶體200中的區域。舉例而言,其可有三種優先性,一最高優先性(或「釘住的」記憶體或「優先性1」記憶體)、一第二優先性(「優先性2」)、及一最低優先性(或「優先性3」)。當在NV記憶體200中需要空間時,該最低優先性記憶體即在將最高優先性記憶體被釋放之前而被釋放到長期儲存媒體。因此,根據本發明一具體實施例,用於釋放該NV記憶體200快取記憶體之數個介面選擇即可產生,例如一個為釋放整個快取記憶體、一個為僅釋放該快取記憶體之較低優先性區域、或一個為釋放該快取記憶體中具有等於或小於在呼叫該介面時所指定的優先性之所有區域。
對於另一種效能改善,因為寫入到NV記憶體200之資料在稍後會被刪除,其提供一介面而允許OS 134或一應用來發信到該NV記憶體200,其中不再需要將某些資料寫入到NV記憶體200,並可由NV記憶體200寫入快取記憶體中丟棄。依此方式,當釋放該記憶體時,該丟棄的區域將不會寫入到該長期儲存媒體,且當在該丟棄的區域上執行一讀取時,會回傳一錯誤或隨機資料。
此介面可以用來例如管理交換。通常交換記錄包含中繼性資料,其不需要長期儲存。舉例而言,在一種狀況中,當發生交換時,關於該交換的元資料即首先提交到該記錄。如果此記錄儲存在NV記憶體200中,該寫入將不需要該碟片的加快旋轉。當完成該交換並提交這些改變時,關於該交換所儲存的元資料即會改變或刪除來反應該完成的交換。但是,如果該交換在其被完成及提交之前被中斷時,在NV記憶體200中的資料將存留,因此可用來決定發生了那個交換,並解決了關於這種中斷交換之問題。
在另一範例中,此介面可用來避免釋放任何關於臨時檔案之資料或元資料到碟片。初始時,這些檔案及它們的元資料係在NV記憶體200中產生。當刪除該等檔案時,該OS 134或一應用程式可以發信NV記憶體200該檔案資料及寫入到該NV記憶體200之元資料不再需要,並可由NV記憶體200之寫入快取記憶體中丟棄。
亦可提供一NVM繞行介面。在某些狀況下,使用NV記憶體無法有效用於讀取或寫入作業。請再參考第3圖,例如當一應用程式係寫入相對於NV記憶體200大小為較大的資料到持久性儲存裝置300中,通常寫入一些資料到NV記憶體300是沒有用的,因為NV記憶體200將會填滿,然後該資料將需要由NV記憶體200釋放到該長期儲存媒體。因此,該NVM繞行介面允許該作業系統或一應用使用該介面來指定要自該持久性儲存裝置300讀取或寫入之資料必須直接地讀取或寫入到該長期儲存媒體上實體記憶體位址,而非到該NV記憶體200。
在一具體實施例中,當在該持久性儲存裝置300中的碟片控制器正預備或實際上加速旋轉該碟片組件302時,由該持久性儲存裝置300傳送一中斷到該主控電腦110。此中斷可以傳送到該作業系統134或其組件或到一應用中。在收到這樣一個中斷時,被適當地程式化來隨機性動作的一接收者可比保證資料由該NV記憶體200移動到該長期儲存媒體,或由該長期儲存媒體到該NV記憶體200,因為長期儲存媒體很快地加速旋轉,並預備好這樣的移動。此可降低長期儲存媒體加速旋轉之次數,因此而降低磁碟機之電力消耗。此外,在收到代表該記憶體正在旋轉或加速旋轉的中斷時,該OS可以使用NVM繞行介面來直接釋放任何非持久性的寫入緩衝器或快取記憶體到該長期儲存媒體。
此外,OS組件及應用可使用一原子性(atomic)寫入介面,其可允許寫入到該持久性儲存裝置300被處理為原子性。所有要原子性寫入的資料即儲存在NV記憶體200中。當此完成時,該持久性儲存裝置可保證所有要原子性寫入的資料即寫入到長期儲存媒體。如果在所有要原子性寫入的資料被儲存在NV記憶體200之前發生一失敗時,即回傳一錯誤,且丟棄已經接收到的資料。如果在完成於NV記憶體200上的儲存之後,由於一系統或電力失效造成的原子性寫入失敗,當系統重新啟動時即偵測到該失敗,且儲存在該NV記憶體中的資料原子性組合即重新寫入到該長期儲存媒體。此允許改善了應用中的效能,並設定大資料的原子性寫入為較佳,例如在資料庫應用中,因為其不需要這些應用來處理在本技術中稱之為「分裂寫入」("torn writes")之問題。
在一具體實施例中,該作業系統134、其組件或應用程式使用該NV記憶體200來儲存經常使用的特定檔案或物件。因此,可以避免自長期儲存媒體中更為昂貴的寫入/讀取。舉例而言,資料庫交換記錄、檔案系統元資料、及其它元資料可以儲存在NV記憶體200中。當一優先性方式用於指定不同優先性給NV記憶體200中不同區域來儲存資料時,在一具體實施例中,這種經常存取的檔案即視為一高優先性,其另可協助來避免由該長期儲存媒體之昂貴的寫入/讀取。
NV記憶體的分區
在一具體實施例中,該NV記憶體200包括一分區,其可允許該NV記憶體200中一部份可專門由作業系統所使用。此種方式的一種實施為允許該作業系統134來劃分該NV記憶體200為分區,並使該NV記憶體200之一OS分區利用來自該作業系統之輸入來直接由該碟片控制器韌體來控制。
因此,經由該碟片控制器,該OS 134請求該NV記憶體200快取記憶體中具有可能在下次需要的特定扇區之移住。舉例而言,這些扇區為需要或有可能視為在下一次啟動時需要的扇區,或當該系統由休眠中恢復時。在另一個範例中,這些扇區為OS 134預測其將在近期內需要的扇區。
因此,在這樣的具體實施例中,每次加速旋轉該長期儲存媒體時,該OS可藉由傳送一邏輯扇區位址(LSA,logical sector address)的表列到該磁碟機控制器來重新移住該NV記憶體200中讀取快取記憶體的OS分區。此表列可包括上述根據一優先性方式來使用的優先性資訊,用以代表該磁碟機控制器將多快會藉由寫入緩衝化的資料來覆寫該讀取快取記憶體資料。
在OS 134中,提供一機制來映射一特定的LSA組合到該NV記憶體200。此可允許該NV記憶體200之一區段來直接受控於OS 134。然後讀取及寫入到這些LSA將永遠存取NV記憶體200。在這些LSA中的資料將不會釋放到該儲存單元,除非該NV記憶體由作業系統重新設置。在一具體實施例中,於NV記憶體200的此區段中,OS 134儲存了「黑箱記錄器資訊」("black box recorder information"),即用來診斷系統失敗之作業的最近歷史。該OS 134儲存了該開機恢復主控台,安全開機所需要的檔案,所以該系統仍可開機及診斷機械性碟片失效。其亦可儲存下一次開機所需要的檔案之一可能壓縮的包裝,其用於取代或附加於系統檔案的例行性代表。
表1用於一持久性儲存裝置之介面及命令
寫入時複製的功能
在許多其它應用程式及產品中,資料庫及資料庫產品可使用寫入時複製的功能來降低資源消耗,例如時間及記憶體。寫入時複製允許先前版本的資料可以使用。此會有用處,因為除了例如儲存在一資料庫中目前版本的資訊之外,對於使用者而言先前版本的資訊也會有用處。
若沒有寫入時複製,一種提供先前版本資料的資訊係要在對於使用者有興趣時即時性地進行資料庫的完整複製。當此發生時,所有關於該資料庫的檔案皆要儲存。但是,此技術非常需要空間,因為對於一資料庫係儲存在儲存空間中的某個數量,每次複製亦需要同樣數量的儲存空間。此方式亦非常耗時,因為複製本身牽涉到許多資料的移動。
因此,可另外儲存與原始版本的變化。當可使用NV記憶體200時,其可用來執行寫入時複製的動作。在寫入時複製的第一實施中,要改變的原始資料即儲存在該系統記憶體130中。在其更新之前,必須寫入一複本到穩定的儲存,藉此使其可使用該資料的未改變版本。當可使用NV記憶體200時,這種儲存可用於NV記憶體200。此可允許更為快速地執行該未改變複本的儲存。如上所述,此複本可以在稍後移動到該碟片儲存。使用區塊導向的快取記憶體之資料庫系統可使用此方式來降低由於記憶體寫入之時間。
在一第二寫入時複製的實施中,該原始版本可以儲存在一長期儲存媒體中。在這種狀況下,如果該資料要位在NV記憶體200中,在發生該寫入之前可在NV記憶體200中製作一額外的複本。如果該資料並未儲存在NV記憶體中,則該原始儲存的複本可以視為該歸檔複本-即儲存了未改變之版本的複本。該NV記憶體200儲存了改變的版本。當此版本由NV記憶體200釋放或另外移動到該碟片時,該版本將被寫入到記憶體200中一新的位置,因為在碟片上原始儲存的複本現在為改變之前該資料的歸檔複本。
使用NV記憶體的反碎片化(Defragmentation)
透過固定的儲存及刪除資料之大資料儲存(例如檔案系統及資料庫)會呈現出一種稱之為碎片化的狀況。此會發生在當在一儲存裝置上自由記憶體之大範圍變得愈來愈稀疏時,並會造成效能的降低。為了修正這種現象,即使用反碎片化。反碎片化處理可在連續的位址空間中重新整合檔案。為了執行反碎片化,資料檔案被移動到該碟片上實體記憶體位置內來產生連續性儲存的檔案。因此,使用了臨時的儲存位置;因為由一第一檔案所佔據的空間由一第二檔案所使用,該第一檔案必須儲存在某個位置,所以其並未消失。
在一具體實施例中,使用NV記憶體做為反碎片化期間的一臨時儲存位置。資料係寫入到NV記憶體。其它資料的位置被改變,藉以增加其它資料之儲存的連續性。然後來自該NV記憶體之資料即寫入到正在反碎片化之儲存裝置。當已經臨時性儲存的資料被重新存到該儲存裝置(例如一電腦系統的硬碟機)時,該臨時性複本即由NV記憶體中移除。因此,反碎片化可以不需要使用長期儲存媒體來發生,以及不需要用於儲存臨時性資料用途之相關的成本。
對於持久性儲存裝置的控制
由第4圖中顯示及如上述,一持久性儲存裝置300可同時包括一長期儲存媒體430(例如第3圖中的碟片組件302)。在這種狀況下,來自CPU 120之資料即在該主控電腦110與該持久性儲存裝置300之間移動。此流動即由在主控電腦110中的主控電腦介面400及在該持久性儲存裝置300中的主控電腦介面420來協調。裝置控制韌體440可直接或間接地控制在NV記憶體200及長期儲存媒體430中的儲存。
為了開始使用該持久性儲存裝置300,該作業系統134查詢該儲存單元組態,如上所述,以決定是否可使用一NV記憶體200,如果是的話,並決定該NV記憶體200的大小及其它參數,例如種類、利用歷史等。然後做出關於該NV記憶體200將如何利用之決定。
NV記憶體200的利用可用兩種方式來控制。首先,NV記憶體200的某些部份可在該儲存單元的控制之下。第二,該NV記憶體200的某些部份可以在OS 134的直接控制之下。如上所述,當該NV記憶體200的一部份在該OS的直接控制之下時,該部份即用來映射一特定的LSA組合。然後讀取及寫入到這些LSA將永遠在該映射的部份處存取該NV記憶體200。在這些LSA中的資料將不會釋放到該儲存單元,除非該NV記憶體由該作業系統重新設置。
該NV記憶體200中不受到作業系統直接控制的該部份即做為一快取記憶體。此快取記憶體部份做為一讀取快取記憶體及一寫入快取緩衝器來受到雙重負荷。當該寫入緩衝器被釋放到該碟片時,該OS即機會性地重新移住具有來自該碟片之資料的NV記憶體200來做為一讀取快取記憶體。此快取記憶體資料即由寫入緩衝器資料所覆寫。最終該讀取快取記憶體即由該寫入緩衝器資料完全地寫入,當時該緩衝器即飽和,該儲存單元控制器加速旋轉該碟片,釋放該緩衝器資料到該碟片,重新移住該讀取快取記憶體,並降低旋轉該碟片。
同時具有快取記憶體部份與一映射部份之NV記憶體的使用係示於第5圖。NV記憶體200即區分為一快取記憶體部份500及一映射部份510。如箭頭520所示,由LSA讀取或寫入之資料,並未映射到該映射部份510者即寫入到該快取記憶體部份500;如箭頭530所示,如果正由一LSA讀取的資料並未出現在該快取記憶體部份,則其由該長期儲存媒體430中讀取。如所述,該快取記憶體部份500同時做為一讀取快取記憶體及一寫入快取記憶體,箭頭540顯示在該快取記憶體部份540中的資料被釋放到該長期儲存媒體430,且當有空間來使用該快取記憶體部份500做為一寫入緩衝器時,資料即由該長期儲存媒體430複製到該快取記憶體部份500。
該映射部份510即映射到特定的LSA。因此,如箭頭550所示,當這些LSA被讀取或寫入時,這些讀取及寫入將直接來自該映射的部份510。在該映射部份510中的資料並不會被釋放到該長期儲存媒體430,也不會由長期儲存媒體430提供資料到該映射部份。對此唯一的例外是在重新映射時。如箭頭560所示,當產生一新的映射時,來自先前映射的資料即複製到該長期儲存媒體430,而來自新的LSA所映射之碟片的資料即複製到該NV記憶體200(特別是到該映射部份510)。
快取記憶體部份500之控制
該快取記憶體部份之控制即由第6圖所示的狀態圖來定義。如第6圖所示,可在初始化(603)期間或在關機之後的重新開機期間(625)來進入一開機狀態600。在該開機狀態之後,如轉換605所示,當該作業系統移動到一運行狀態610時,並傳送一命令來釋放該快取記憶體,並與具有初始時移住該快取記憶體之一表列的邏輯扇區位址來重新移住。由轉換613所示,每次此命令要釋放該快取記憶體及重新移住時,即由該作業系統134所接收,並再次執行該運行狀態610之操作。為了移到關機狀態620,即發生轉換615。當發生一關機時,根據一具體實施例,即傳送一命令來釋放及重新移住該快取記憶體以及一LSA表列。
該磁碟機控制器韌體440可降低電力消耗,並藉由在某些例子中使用NV記憶體200而非使用較慢的碟片430來改善可靠度及效能。該磁碟機控制器440自OS 136接收命令來將來自一特定表列的邏輯扇區位址(LSA)的資料移住到該NV記憶體200之快取記憶體部份500。該LSA表列亦包括該等扇區的優先性,其中最高優先性扇區最不可能由該快取記憶體中移除,而最低優先性扇區最有可能被移除。一旦移住了該快取記憶體500,該碟片430即降低旋轉,且使用該快取記憶體500做為一寫入緩衝器。為讀取所快取記憶體的扇區即根據它們的優先性來在緩衝器填滿時被覆寫。該碟片僅在當有一讀取快取記憶體錯失時才加快旋轉,或當該寫入緩衝器充滿時,或當自OS 134接收到一明確的加速旋轉命令時。在此方式該碟片430在相對時間其開啟下長期維持關閉,藉此降低電力及增進可靠性。該最高優先性LSA係永久釘住在NV記憶體200快取記憶體中,直到另由OS 134告知。
在開機狀態600中的操作即示於第7圖。如第7圖所示,步驟700中提供來自該NV記憶體200之開機狀態區塊,其由BIOS及作業系統134所請求。同時,亦加速旋轉該長期儲存媒體430(如碟片)。
在完成此狀態之後,即進入該運行狀態610,且該OS傳送一命令來以指定的LSA釋放及重新移住該快取記憶體。該運行狀態610之操作即示於第8圖。如第8圖所示,在該運行狀態中,如果該碟片尚未加速旋轉,該碟片即加速旋轉,步驟800。在步驟810中,如NV記憶體200中任何修改的扇區即被釋放到該碟片/長期儲存媒體430。在步驟820中,由OS所指定的LSA即由該碟片讀取到該NV記憶體200給該讀取快取記憶體。然後步驟830中降低旋轉該碟片。在步驟840中,該NV記憶體200即做為一讀取快取記憶體及一寫入緩衝器。快取記憶體的扇區即依請求來提供;寫入的扇區即儲存在該NV記憶體緩衝器中,並根據優先性來寫入讀取快取記憶體扇區。當該寫入緩衝器超過充滿臨界值時,步驟850中該NV記憶體被釋放及重新移住,如步驟800到830。
當接收到一命令來關機時,即進入到該關機狀態620。該關機狀態620之操作即示於第9圖。該碟片即加速旋轉,如步驟900。在步驟910中,在NV記憶體200中的任何修正的扇區即釋放到該碟片/長期儲存媒體430中。然後在步驟920中由OS指定的LSA即由該碟片讀取到NV記憶體200來做為讀取快取記憶體。此可允許NV記憶體來使得資料可以使用,其將在啟動時由BIOS及作業系統134所請求。
其它形式的關機或功能上類似的暫停(例如待機及休眠)亦會根據第6圖到第9圖所示之方法來操作。重新恢復功能所需要的資訊即儲存在NV記憶體200中,其可允許更快地重新恢復。
再次如上所述,該OS 134及應用程式(透過OS 134)可提供其它提示給該裝置控制器440來協助其決定何時來加速或降低該碟片的旋轉,相反地,如果該控制器FW必須無論如何皆要加速旋轉,其即傳送一中斷給該OS 134來代表該碟片正在加速旋轉。然後該作業系統與應用程式可使用此狀況的好處來寫入已經快取記憶體在該非揮發性工作中記憶體內的非關鍵性資料到該儲存單元。
在一具體實施例中,該控制器440韌體亦利用了由NV記憶體200所實現的好處來降低在硬碟機儲存單元中的雜音。藉由設定該寫入緩衝器臨界值到足夠低,該控制器440能夠更為緩慢地加速旋轉,並需要較長的時間來釋放該寫入緩衝器到該碟片430,以降低來自轉軸及讀寫頭尋找伺服器之雜音。此技術亦可降低由電源供應器發出的尖峰電流。該控制器440韌體的好處亦有利用緩衝器中相當大量的資料來放置資料在該碟片上連續區塊中,並當釋放該資料到碟片時避免碎片化。
該快取記憶體500之實際狀態僅有該控制器440知道。該作業系統可藉由查詢該控制器440來得知。在任何時候該作業系統134皆可選擇來釋放該快取記憶體500,藉由傳送一命令(第6圖中的轉換613),並開始其相信將會在近期內需要的一全新的扇區組合。
在一具體實施例中,若缺少來自OS 134之特定命令來移住具有檔案之快取記憶體部份500,其可藉由提出一LSA表列(如那些在轉換615上開機或由休眠恢復所需要的檔案,或概言之為在由開機狀態600轉換時,或在運行狀態610中時),該控制器可以在開機或S4重新恢復之後立即監視碟片I/O來進行其本身由碟片預交付到NV記憶體200。這些I/O代表在下次開機或S4重新恢復時最有可能需要的資料。一旦此資料由控制器440收集時,即儲存在NV記憶體200中的一表格中。在下一次關機或休眠時,該控制器440使用此資料來在關機或休眠之前來由碟片移住該NV記憶體200。
映射部份510之控制
該作業系統直接控制NV記憶體200之映射部份510。對此部份,該作業系統定義了必須映射到該映射部份510之特定邏輯扇區位址。此可提供該作業系統直接控制儲存在NV記憶體200中的資料。在一具體實施例中,這種控制亦會提供給其它應用。
可以達到此目的之一種方法為作業系統134產生NV記憶體200之一部份可映射或遮影一特定但不需要連續的LSA組合。為了產生此部份,該OS傳送一命令到該碟片控制器來釋放整個NV記憶體200,其會移動在該寫入緩衝器中所有修正的資料,並在先前映射中移動到該長期儲存媒體430中。然後其傳送一命令來映射一系列的LSA到該NV記憶體200之映射的部份510。該控制器440自該碟片複製扇區到NV記憶體200,並將其維持在那裏,直到另由該作業系統136所告知。如果傳送到該持久性儲存裝置300來用於映射之該邏輯扇區位址延伸超過了該碟片430之目前定址空間,則這些即可附加到該碟片之位址空間的末端。當發生一重新映射時,該OS 134將需要複製在這些延伸位址中的資料到該碟片的位址空間中的位址來避免遺失資料。該作業系統由NV記憶體200中這些映射的扇區直接控制。
該OS 134可定期地釋放該映射部份510到碟片430,並映射一新的LSA組合到該映射的部份510。此發生如第10圖所示。在步驟1000中,該碟片430即預備好讀取/寫入。在步驟1010中,來自該NV記憶體200之映射部份510中的資料即被釋放到該碟片430。在步驟1020中,該快取記憶體部份500亦釋放到該碟片。在步驟1030中,要映射的新LSA即由該碟片430複製到該NV記憶體200之映射部份510。雖然未示出,在一具體實施例中的快取記憶體部份500即填入來自碟片430之資料,藉以做為一讀取快取記憶體。然後該碟片430即降低旋轉,在步驟1040中。
對此映射的另一選擇為,該NV記憶體亦可設置成該持久性儲存裝置300之一獨立的分區或邏輯磁卷。然後連續的邏輯扇區即在該作業系統163的直接控制之下,如上述。
持久性儲存裝置300的自我描述記憶體部份
除了在第5圖中所示的一快取記憶體部份500及一映射部份510之外,在一具體實施例中,該NV記憶體的一部份即設置來儲存關於該持久性儲存裝置300之某些資訊,其將可允許診斷或維持其它資訊。
在一具體實施例中,這種描述資訊包括標記資訊、在該長期儲存媒體430中不良扇區之數目、關於寫入到或在某段時間中的扇區數目的統計資料、在某段時間中加速或降低磁片旋轉之次術,及已經運行該長期儲存媒體之小時數。
在一具體實施例中,此自我描述記憶體部份由特定介面讀取,其可允許OS組件或一應用來存取該記憶體。在另一具體實施例中,該持久性儲存裝置300包括一顯示器。舉例而言,一LCD顯示器可以包括在該持久性儲存裝置300中。當對該持久性儲存裝置300進行某個查詢時,無論透過該電腦110或直接方式(例如藉由壓下在該持久性儲存裝置300上的一按鈕),即可顯示來自該自我描述記憶體部份之資料。
在一具體實施例中,該OS或一應用程式使用儲存在該自我描述記憶體中的資料來決定何時該儲存裝置300較接近其預期壽命,且儲存在該儲存裝置300上的資料需要被轉送到一新的儲存裝置。
資訊亦可被儲存來允許該NV記憶體200做為一「黑箱」記錄器,其可儲存關於該電腦運作之資料。如果有失效,例如一異常關機,關於該電腦運作之資訊即被儲存,並可重新擷取來來分析該失效。這種資訊可包括關於在該電腦系統中運行之處理的處理資訊;關於在該電腦系統中運行的執行緒之執行緒資訊;資料存取;及裝置存取。類似於飛機中的一黑箱記錄器,可配置一有限的空間給此操作資訊,且當收集更多的資訊時可以符合於該空間,先前儲存的操作資訊即以較新的資訊來覆寫。
損耗調整
某些NV記憶體結構會在太多次抹除循環之後磨損。為了延遲這種磨損之開始,在一具體實施例中,該控制器440可平衡在該NV記憶體200之所有區域中的抹除,藉以保證對每個區域大致為相等的使用量。該控制器440改變了在NV記憶體內使用之實體位置來避免磨損了關於會時常寫入之碟片扇區的NV記憶體區塊。在一具體實施例中,此需要使用某種負擔來保證其在映射部份中永遠有可用的空間來進行磨損調整。舉例而言,如果設定了1 MB的扇區來用於映射部份510,該碟片控制器可實際設置1.5 MB來允許磨損調整來適當地工作。
結論
其可注意到前述範例係僅提供做為解釋的目的,其不能夠視為本發明之限制。當本發明參考多種具體實施例來說明時,其要瞭解到在此處用到的用語為描述及例示的用語,而非限制性的用語。另外,雖然本發明在此參考特定手段、材料及具體實施例來說明,本發明並非受限於此處所揭示的特例;而是本發明可延伸到所有功能上同等之結構、方法及用途,例如在所附申請專利範圍之範圍之內。本技術專業人士在取得此說明書教示的好處之後,可以由其產生多種修正,即進行變化,其皆不背離本發明在其各方面之下的範圍及精神。
100...運算系統環境
110...主控電腦
120...處理單元
121...系統匯流排
130...系統記憶體
131...唯讀記憶體
132...隨機存取記憶體
133...基本輸入輸出系統
134...作業系統
135...應用程式
136...其它程式模組
137...程式資料
140...非可移除非揮發性記憶體介面
141...硬碟機
144...作業系統
145...應用程式
146...其它程式模組
147...程式資料
150...可移除非揮發性記憶體介面
151...磁碟機
152...非揮發性磁碟
155...光碟機
156...可移除非揮發性光碟
160...使用者輸入介面
161...滑鼠
162...鍵盤
170...網路介面
171...區域網路
172...數據機
173...廣域網路
180...遠端電腦
181...記憶體儲存裝置
185...遠端應用程式
190...視訊介面
191...監視器
195...輸出周邊介面
196...印表機
197...喇叭
200...非揮發性快取記憶體
202...獨立組件
204...組件
206...組件
300...持久性儲存裝置
302...碟片組件
304...碟片
306...讀寫頭
308...轉軸/轉子組件
310...控制器
312...揮發性快取記憶體
400...主控電腦介面
420...主控電腦介面
430...長期儲存媒體
440...裝置控制
500...快取記憶體部份
510...映射部份
520...箭頭
530...箭頭
540...箭頭
550...箭頭
560...箭頭
600...啟動狀態
610...運行狀態
620...關機狀態
上述的發明內容以及以下較佳具體實施例的詳細描述最好是配合所附之圖面而更加瞭解。為了解明本發明的目的,在圖面中顯示出本發明的範例架構;但是,本發明並不限於所揭示的特定方法與架構。在圖面中有:
第1圖為概略例示了其上存在有一範例性電腦系統之方塊圖;
第2圖為概略例示了可實施本發明之位置之第1圖的範例性電腦系統之方塊圖;
第3圖為根據本發明一方面之持久性儲存裝置的方塊圖;
第4圖為根據本發明一方面之持久性儲存裝置的方塊圖;
第5圖為例示了根據本發明一具體實施例的作業系統、非揮發性記憶體與一長期儲存媒體之間資料流動的方塊圖;
第6圖為根據本發明一具體實施例的非揮發性記憶體之快取記憶體部份的狀態之狀態圖;
第7圖為根據本發明一具體實施例的開機狀態的操作之流程圖;
第8圖為根據本發明一具體實施例的運作狀態的操作之流程圖;
第9圖為根據本發明一具體實施例的關機狀態的操作之流程圖;及
第10圖為根據本發明一具體實施例的非揮發性記憶體之映射部份的釋放期間之操作的流程圖。
134...作業系統
200...非揮發性快取記憶體
430...長期儲存媒體
500...快取記憶體部份
510...映射部份
520...箭頭
530...箭頭
540...箭頭
550...箭頭
560...箭頭

Claims (46)

  1. 一種操作具有一非揮發性記憶體與一長期儲存媒體之一電腦系統的方法,該方法包含以下步驟:在該非揮發性記憶體中定義一映射部份,該映射部份映射到至少一邏輯扇區位址,藉由一作業系統選擇以使用該至少一邏輯扇區位址,以存取在該非揮發性記憶體中之該映射部份;使用該至少一邏輯扇區位址,以用於將一第一開機資料儲存在該映射部份中,該第一開機資料初始化該電腦系統;利用儲存在該非揮發性記憶體中之該第一開機資料來初始化該電腦系統;以及在該非揮發性記憶體中定義一快取部份,該快取部份不在該作業系統之直接控制下且與該映射部份不同,該映射部份係專門在該作業系統之直接控制下。
  2. 如請求項第1項所述之方法,更包含以下步驟:接收一請求來轉換該電腦系統到一關機狀態;以及將一第二開機資料儲存在該非揮發性記憶體之該映射部份中,該第二開機資料用於該電腦系統的一後續初始化。
  3. 一種具有電腦可執行指令的電腦可讀取媒體,該等電腦可執行指令能執行如請求項第1項所述之方法。
  4. 如請求項第1項所述之方法,更包含以下步驟: 在下一次開機之該時間,填入可能需要之特定扇區至該快取部份。
  5. 如請求項第1項所述之方法,更包含以下步驟:當該電腦系統在休眠之後回復時,填入可能需要之特定扇區至該快取部份。
  6. 如請求項第1項所述之方法,其中該長期儲存媒體包含一硬碟,且其中該第一開機資料允許該電腦系統於一安全模式下開啟,以診斷該硬碟之機械故障,該第一開機資料儲存在該非揮發性記憶體之該映射部份中。
  7. 一種操作具有一非揮發性記憶體與一長期儲存媒體之一電腦系統的方法,該方法包含以下步驟:將關於該電腦系統之操作的操作性資料儲存在該非揮發性記憶體中;在該電腦系統的一異常關機之後,使用該操作性資料來分析該長期儲存媒體中之一故障;以及在該非揮發性記憶體中定義一第一部份,該第一部份不在該電腦系統之一作業系統之直接控制下且與該非揮發性記憶體之一第二部份不同,該第二部份係專門在該作業系統之直接控制下。
  8. 如請求項第7項所述之方法,其中該操作性資料儲存在該非揮發性記憶體之一第三部份,該非揮發性記憶體之該第三部份不同於該非揮發性記憶體之該第一與第二部份。
  9. 如請求項第7項所述之方法,其中該操作性資料係儲存 在該非揮發性記憶體之該第二部份。
  10. 如請求項第7項所述之方法,其中該長期儲存媒體係為一機械式磁碟,且該故障係在該機械式磁碟中之一機械故障。
  11. 一種具有電腦可執行指令的電腦可讀取媒體,該等電腦可執行指令能執行如請求項第7項所述之方法。
  12. 一種在具有一非揮發性記憶體與一長期儲存媒體之一電腦系統中儲存資料的方法,該方法包含以下步驟:儲存在該非揮發性記憶體中之資料的一第一版本;儲存在該非揮發性記憶體中之資料的一第二版本,其中該第二版本係為該第一版本之一複本;利用至少一資料改變來更新資料的該第二版本;以及在該非揮發性記憶體中定義一第一部份,該第一部份不在該電腦系統之一作業系統之直接控制下且與該非揮發性記憶體之一第二部份不同,該第二部份係專門在該作業系統之直接控制下。
  13. 如請求項第12項所述之方法,更包含以下步驟:提供一指示,以指示資料的該第一版本係為資料的一現行版本;以及當資料的該第二版本更新後,即改變該指示,以指示該第一版本係為資料的一歸檔版本。
  14. 一種具有電腦可執行指令的電腦可讀取媒體,該等電腦可執行指令係執行如請求項第12項所述之方法。
  15. 一種利用一非揮發性記憶體與一長期儲存媒體之電腦系統,該系統包含:一定義邏輯,該定義邏輯用於在該非揮發性記憶體中定義一映射部份,該映射部份映射到至少一邏輯扇區位址,藉由一作業系統選擇以使用該至少一邏輯扇區位址,以存取在該非揮發性記憶體中之該映射部份;一使用邏輯,該使用邏輯用於使用該至少一邏輯扇區位址,用於將一第一開機資料儲存在該映射部份中,該第一開機資料初始化該電腦系統;一利用邏輯,該利用邏輯用於利用儲存在該非揮發性記憶體中之該第一開機資料來初始化該電腦系統;以及一定義邏輯,該定義邏輯用於在該非揮發性記憶體中定義一快取部份,該快取部份不在該作業系統之直接控制下且與該映射部份不同,該映射部份係專門在該作業系統之直接控制下。
  16. 如請求項第15項所述之電腦系統,更包含:一接收邏輯,該接收邏輯用於接收一請求來轉換該電腦系統到一關機狀態;以及一儲存邏輯,該儲存邏輯用於將一第二開機資料儲存在該非揮發性記憶體之該映射部份中,該第二開機資料用於該電腦系統的一後續初始化。
  17. 如請求項第16項所述之電腦系統,其中儲存之該第二開機資料包含: 一執行邏輯,該執行邏輯用於對該長期儲存媒體執行一預備動作,以讓該長期儲存媒體預備好動作;以及一寫入邏輯,該寫入邏輯用於將來自該非揮發性記憶體之其它資料寫入到該長期儲存媒體。
  18. 一種利用一非揮發性記憶體與一長期儲存媒體之電腦系統,包括:一儲存邏輯,該儲存邏輯用於將關於該電腦系統之操作的操作性資料儲存在該非揮發性記憶體中;一使用邏輯,該使用邏輯用於在該電腦系統的一故障之後,使用該操作性資料來分析該長期儲存媒體中之一故障;以及一定義邏輯,該定義邏輯用於在該非揮發性記憶體中定義一第一部份,該第一部份不在該電腦系統之一作業系統之直接控制下且與該非揮發性記憶體之一第二部份不同,該第二部份係專門在該作業系統之直接控制下。
  19. 如請求項第18項所述之電腦系統,其中該長期儲存媒體係為一機械式磁碟,且該故障係在該機械式磁碟中之一機械故障。
  20. 如請求項第18項所述之電腦系統,其中該操作性資料係儲存在該非揮發性記憶體之該第二部份。
  21. 如請求項第18項所述之電腦系統,其中該操作性資料儲存在該非揮發性記憶體之一第三部份,該非揮發性記 憶體之該第三部份不同於該非揮發性記憶體之該第一與第二部份。
  22. 一種利用一非揮發性記憶體與一長期儲存媒體之電腦系統,該電腦系統包含:一儲存邏輯,該儲存邏輯用於儲存在該非揮發性記憶體中之資料的一第一版本;一儲存邏輯,該儲存邏輯用於儲存在該非揮發性記憶體中之資料的一第二版本,其中該第二版本係為該第一版本之一複本;一更新邏輯,該更新邏輯用於利用至少一資料改變來更新資料的該第二版本;以及一定義邏輯,該定義邏輯用於在該非揮發性記憶體中定義一第一部份,該第一部份不在該電腦系統之一作業系統之直接控制下且與該非揮發性記憶體之一第二部份不同,該第二部份係專門在該作業系統之直接控制下。
  23. 如請求項第22項所述之電腦系統,更包含:一提供邏輯,該提供邏輯用於提供一指示,以指示資料的該第一版本係為資料的一現行版本;以及一改變邏輯,該改變邏輯用於改變該指示,以指示該第一版本係為資料的一歸檔版本。
  24. 一種操作具有一非揮發性記憶體與一長期儲存媒體之一電腦系統的方法,該方法包含以下步驟:在該非揮發性記憶體中定義一映射部份,該映射部 份自該長期儲存媒體映射到至少一邏輯扇區位址,該至少一邏輯扇區位址藉由一作業系統而被選擇以用於存取在該非揮發性記憶體中之該映射部份;在該非揮發性記憶體中定義一快取部份,該快取部份不在該作業系統之直接控制下且與該映射部份不同,該映射部份係專門在該作業系統之直接控制下,該資料儲存在該揮發性記憶體之一第一部份中,其中該第一部份係為該映射部份或該快取部份;決定不再需要寫入至非揮發性記憶體之資料;以及基於該決定來限制該資料,使得該資料的任何部份沒有被釋放(flush)至一長期儲存媒體。
  25. 如請求項第24項所述之方法,更包含覆寫(overwrite)在該非揮發性記憶體中之該資料之步驟。
  26. 如請求項第24項所述之方法,更包含以下步驟:建立用於忽略之邏輯扇區位址之一清單。
  27. 如請求項第26項所述之方法,其中決定不再請求寫入至該非揮發性記憶體之資料之該步驟係基於邏輯扇區位址之該清單。
  28. 如請求項第24項所述之方法,其中該資料包含暫時檔案。
  29. 如請求項第28項所述之方法,其中該等暫時檔案與該等暫時檔案之元資料(metadata)係初始建立在該非揮發性記憶體中。
  30. 如請求項第24項所述之方法,更包含以下步驟: 由於該檔案係為一暫時檔案,故在該映射部份中儲存檔案資料,該資料包含該檔案資料。
  31. 如請求項第30項所述之方法,更包含以下步驟:基於為一暫時檔案之該檔案而在該映射部份中儲存與該檔案資料相關之元資料,且該資料包含該元資料。
  32. 一種電腦系統,該電腦系統包含:一非揮發性記憶體;一長期儲存媒體;以及一處理器,該處理器與一作業系統或應用程式一同配置,該作業系統或應用程式經配置以:在該非揮發性記憶體中定義一映射部份,該映射部份自該長期儲存媒體映射到至少一邏輯扇區位址,該至少一邏輯扇區位址藉由一作業系統而被選擇以用於存取在該非揮發性記憶體中之該映射部份;在該非揮發性記憶體中定義一快取部份,該快取部份不在該作業系統之直接控制下且與該映射部份不同,該映射部份係專門在該作業系統之直接控制下,該資料儲存在該揮發性記憶體之一第一部份中,其中該第一部份係為該映射部份或該快取部份;為了寫入至該非揮發性記憶體之一第一資料,傳達一限制,該限制包括不釋放該第一資料的任何部份至該長期儲存媒體。
  33. 如請求項第32項所述之電腦系統,該作業系統或應用程式更經配置以:預期一應用程式之一第二資料之一大小係大於該非揮發性記憶體;以及基於該預期,自該長期儲存媒體讀取該第二資料或寫入該第二資料至該長期儲存媒體,以防止自該非揮發性記憶體讀取該第二資料或寫入該第二資料至該非揮發性記憶體。
  34. 如請求項第32項所述之電腦系統,該作業系統或應用程式更經配置以覆寫該非揮發性記憶體之該第一資料。
  35. 如請求項第32項所述之電腦系統,該作業系統或應用程式更經配置以建立用於該限制之邏輯扇區位址之一清單。
  36. 如請求項第32項所述之電腦系統,該作業系統或應用程式更經配置以建立以下條件:寫入至該非揮發性記憶體之該第一資料應基於邏輯扇區位址之該清單而具有該限制。
  37. 如請求項第32項所述之電腦系統,其中由於一檔案為一暫時檔案,故該第一資料包含該檔案。
  38. 如請求項第37項所述之電腦系統,其中該暫時檔案與該暫時檔案之元資料係初始建立在該非揮發性記憶體中。
  39. 一種包含可執行指令之電腦可讀取儲存媒體,當藉由一計算裝置執行時,使該計算裝置執行該等指令,該等指 令包含:在該非揮發性記憶體中定義一映射部份,該映射部份自該長期儲存媒體映射到至少一邏輯扇區位址,該至少一邏輯扇區位址藉由一作業系統而被選擇以用於存取在該非揮發性記憶體中之該映射部份;在該非揮發性記憶體中定義一快取部份,該快取部份不在該作業系統之直接控制下且與該映射部份不同,該映射部份係專門在該作業系統之直接控制下,該資料儲存在該揮發性記憶體之一第一部份中,其中該第一部份係為該映射部份或該快取部份;決定不再需要寫入至非揮發性記憶體之資料;以及基於該決定來限制該資料,使得該資料的任何部份沒有被釋放至一長期儲存媒體。
  40. 如請求項第39項所述之電腦可讀取儲存媒體,該等指令進一步包含覆寫該非揮發性記憶體之該第一資料。
  41. 如請求項第39項所述之電腦可讀取儲存媒體,該等指令進一步包含建立用於忽略之邏輯扇區位址之一清單。
  42. 如請求項第41項所述之電腦可讀取儲存媒體,其中基於邏輯扇區位址之該清單而確定不再需要寫入至該非揮發性記憶體之該資料。
  43. 如請求項第39項所述之電腦可讀取儲存媒體,其中該資料包含暫時檔案。
  44. 如請求項第43項所述之電腦可讀取儲存媒體,其中該等暫時檔案與該等暫時檔案之元資料係初始建立在該非 揮發性記憶體中。
  45. 如請求項第39項所述之電腦可讀取儲存媒體,該等指令進一步包含由於該檔案係為一暫時檔案,故在該映射部份中儲存檔案資料,該資料包含該檔案資料。
  46. 如請求項第39項所述之電腦可讀取儲存媒體,該等指令進一步包含基於為一暫時檔案之該檔案而在該映射部份中儲存與該檔案資料相關之元資料,且該資料包含該元資料。
TW101110178A 2004-05-03 2005-05-02 使用非揮發性記憶體來增進效能的方法及系統 TWI480732B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/837,986 US7644239B2 (en) 2004-05-03 2004-05-03 Non-volatile memory cache performance improvement

Publications (2)

Publication Number Publication Date
TW201227293A TW201227293A (en) 2012-07-01
TWI480732B true TWI480732B (zh) 2015-04-11

Family

ID=34939672

Family Applications (2)

Application Number Title Priority Date Filing Date
TW101110178A TWI480732B (zh) 2004-05-03 2005-05-02 使用非揮發性記憶體來增進效能的方法及系統
TW094114140A TWI370359B (en) 2004-05-03 2005-05-02 Method and system for non-volatile memory performance improvement

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW094114140A TWI370359B (en) 2004-05-03 2005-05-02 Method and system for non-volatile memory performance improvement

Country Status (6)

Country Link
US (5) US7644239B2 (zh)
EP (1) EP1594064B1 (zh)
JP (2) JP2006004407A (zh)
KR (1) KR101044220B1 (zh)
CN (1) CN100470508C (zh)
TW (2) TWI480732B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI760880B (zh) * 2020-10-07 2022-04-11 瑞昱半導體股份有限公司 與儲存裝置相關的傳輸控制電路、資料傳輸系統及操作資料傳輸系統的方法
CN114372009A (zh) * 2020-10-15 2022-04-19 瑞昱半导体股份有限公司 传输控制电路、数据传输系统及操作数据传输系统的方法

Families Citing this family (257)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103574B1 (en) * 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
JP5592594B2 (ja) 2004-03-23 2014-09-17 グーグル インコーポレイテッド デジタルマッピングシステム
US7831387B2 (en) 2004-03-23 2010-11-09 Google Inc. Visually-oriented driving directions in digital mapping system
US7599790B2 (en) * 2004-03-23 2009-10-06 Google Inc. Generating and serving tiles in a digital mapping system
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US7644239B2 (en) * 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7962576B2 (en) * 2004-07-22 2011-06-14 Sap Ag Quantity conversion interface for external program calls
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US20060089917A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation License synchronization
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US20060230226A1 (en) 2005-04-12 2006-10-12 M-Systems Flash Disk Pioneers, Ltd. Hard disk drive with optional cache memory
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9436804B2 (en) * 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US20060265758A1 (en) * 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8353046B2 (en) * 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US7370143B1 (en) * 2005-06-20 2008-05-06 Network Appliance, Inc. Controlling write request access to a non-volatile log
US20060294339A1 (en) * 2005-06-27 2006-12-28 Trika Sanjeev N Abstracted dynamic addressing
JP2007059014A (ja) * 2005-08-26 2007-03-08 Sony Corp 情報記録装置、および情報記録方法、並びにコンピュータ・プログラム
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7917286B2 (en) 2005-12-16 2011-03-29 Google Inc. Database assisted OCR for street scenes and other images
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
KR100755702B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
JP2007293987A (ja) * 2006-04-24 2007-11-08 Toshiba Corp 情報記録装置及びその制御方法
KR20070105779A (ko) * 2006-04-27 2007-10-31 엠텍비젼 주식회사 프로세스 기능을 갖는 메모리 장치 및 그 프로세스 방법
US7558913B2 (en) * 2006-06-20 2009-07-07 Microsoft Corporation Atomic commit of cache transfer with staging area
US7783956B2 (en) * 2006-07-12 2010-08-24 Cronera Systems Incorporated Data recorder
KR100782594B1 (ko) 2006-07-14 2007-12-06 엠텍비젼 주식회사 데이터 처리 기능을 구비한 메모리 장치
KR100876841B1 (ko) * 2006-08-22 2009-01-07 엘지전자 주식회사 캐쉬 메모리 탑재형 컴퓨터 및 그 제어 방법
US7669044B2 (en) * 2006-09-29 2010-02-23 Microsoft Corporation Accelerated system boot
US7568068B2 (en) * 2006-11-13 2009-07-28 Hitachi Global Storage Technologies Netherlands B. V. Disk drive with cache having volatile and nonvolatile memory
US8010407B1 (en) 2006-11-14 2011-08-30 Google Inc. Business finder for locating local businesses to contact
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
KR20090087498A (ko) 2006-12-06 2009-08-17 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 고-용량, 비-휘발성 스토리지를 위한 캐시로서의 솔리드-스테이트 스토리지 장치, 시스템 및 방법
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US8074011B2 (en) 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US7921258B1 (en) 2006-12-14 2011-04-05 Microsoft Corporation Nonvolatile disk cache for data security
TW200828273A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Hard disk cache device and method
US20080209198A1 (en) * 2007-02-26 2008-08-28 Majni Timothy W Boot Acceleration For Computer Systems
CN101256535B (zh) * 2007-03-01 2011-03-09 创惟科技股份有限公司 硬盘资料读写快取装置及方法
JP4874844B2 (ja) * 2007-03-26 2012-02-15 株式会社東芝 情報記録装置及びその制御方法
JP2008250718A (ja) * 2007-03-30 2008-10-16 Toshiba Corp 不揮発性キャッシュメモリを用いた記憶装置とその制御方法
US9207876B2 (en) 2007-04-19 2015-12-08 Microsoft Technology Licensing, Llc Remove-on-delete technologies for solid state drive optimization
US8478515B1 (en) 2007-05-23 2013-07-02 Google Inc. Collaborative driving directions
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US8078648B2 (en) * 2007-06-15 2011-12-13 Microsoft Corporation Data structure for supporting a single access operation
US7945728B1 (en) 2007-06-18 2011-05-17 Marvell International Ltd. Storage device cache
US8266391B2 (en) * 2007-06-19 2012-09-11 SanDisk Technologies, Inc. Method for writing data of an atomic transaction to a memory device
US20080320253A1 (en) * 2007-06-19 2008-12-25 Andrew Tomlin Memory device with circuitry for writing data of an atomic transaction
JP2009043030A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd ストレージシステム
US7965532B2 (en) * 2007-08-28 2011-06-21 Micron Technology, Inc. Enhanced performance memory systems and methods
JP5124217B2 (ja) * 2007-09-18 2013-01-23 株式会社日立製作所 ストレージ装置
KR20090035938A (ko) * 2007-10-08 2009-04-13 삼성전자주식회사 하이브리드 디스크의 조각 모음 장치 및 방법
US8495276B2 (en) * 2007-10-12 2013-07-23 HGST Netherlands B.V. Power saving optimization for disk drives with external cache
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US8195912B2 (en) 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8024515B2 (en) * 2007-12-07 2011-09-20 Hitachi Global Storage Technologies Netherlands B.V. Non-volatile cache in disk drive emulation
US8631203B2 (en) * 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8775758B2 (en) * 2007-12-28 2014-07-08 Sandisk Technologies Inc. Memory device and method for performing a write-abort-safe firmware update
EP2243085A1 (en) * 2008-02-10 2010-10-27 Rambus Inc. Segmentation of flash memory for partial volatile storage
US8229945B2 (en) 2008-03-20 2012-07-24 Schooner Information Technology, Inc. Scalable database management software on a cluster of nodes using a shared-distributed flash memory
US8732386B2 (en) * 2008-03-20 2014-05-20 Sandisk Enterprise IP LLC. Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory
US8464021B2 (en) * 2008-05-28 2013-06-11 Spansion Llc Address caching stored translation
US20090327577A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Hybrid storage
US20100049931A1 (en) * 2008-08-20 2010-02-25 Jacobson Michael B Copying Logical Disk Mappings Between Arrays
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) * 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US20110167214A1 (en) * 2008-09-15 2011-07-07 Leonard Russo Method And Apparatus To Manage Non-Volatile Disk Cache
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
EP2180408B1 (en) * 2008-10-23 2018-08-29 STMicroelectronics N.V. Method for writing and reading data in an electrically erasable and programmable nonvolatile memory
US8529346B1 (en) * 2008-12-30 2013-09-10 Lucasfilm Entertainment Company Ltd. Allocating and managing software assets
US8806101B2 (en) * 2008-12-30 2014-08-12 Intel Corporation Metaphysical address space for holding lossy metadata in hardware
US9785462B2 (en) 2008-12-30 2017-10-10 Intel Corporation Registering a user-handler in hardware for transactional memory event handling
US8627014B2 (en) 2008-12-30 2014-01-07 Intel Corporation Memory model for hardware attributes within a transactional memory system
US8627017B2 (en) * 2008-12-30 2014-01-07 Intel Corporation Read and write monitoring attributes in transactional memory (TM) systems
KR101618634B1 (ko) * 2009-01-07 2016-05-09 삼성전자주식회사 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법
US20100185806A1 (en) * 2009-01-16 2010-07-22 Arvind Pruthi Caching systems and methods using a solid state disk
US8195901B2 (en) * 2009-02-05 2012-06-05 International Business Machines Corporation Firehose dump of SRAM write cache data to non-volatile memory using a supercap
US8195891B2 (en) * 2009-03-30 2012-06-05 Intel Corporation Techniques to perform power fail-safe caching without atomic metadata
US8171219B2 (en) * 2009-03-31 2012-05-01 Intel Corporation Method and system to perform caching based on file-level heuristics
US8225042B1 (en) * 2009-05-05 2012-07-17 Micron Technology, Inc. Method and apparatus for preventing foreground erase operations in electrically writable memory devices
US9881039B2 (en) * 2009-05-26 2018-01-30 International Business Machines Corporation Rebalancing operation using a solid state memory device
KR20100133710A (ko) * 2009-06-12 2010-12-22 삼성전자주식회사 메모리 시스템 및 그것의 코드 데이터 로딩 방법
US8812796B2 (en) * 2009-06-26 2014-08-19 Microsoft Corporation Private memory regions and coherence optimizations
US8356166B2 (en) * 2009-06-26 2013-01-15 Microsoft Corporation Minimizing code duplication in an unbounded transactional memory system by using mode agnostic transactional read and write barriers
US20100332768A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Flexible read- and write-monitored and buffered memory blocks
US8250331B2 (en) 2009-06-26 2012-08-21 Microsoft Corporation Operating system virtual memory management for hardware transactional memory
US8370577B2 (en) * 2009-06-26 2013-02-05 Microsoft Corporation Metaphysically addressed cache metadata
US8489864B2 (en) * 2009-06-26 2013-07-16 Microsoft Corporation Performing escape actions in transactions
US8229907B2 (en) * 2009-06-30 2012-07-24 Microsoft Corporation Hardware accelerated transactional memory system with open nested transactions
JP5999645B2 (ja) * 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
WO2011031903A2 (en) * 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US8533440B2 (en) * 2009-12-15 2013-09-10 Microsoft Corporation Accelerating parallel transactions using cache resident transactions
US8539465B2 (en) 2009-12-15 2013-09-17 Microsoft Corporation Accelerating unbounded memory transactions using nested cache resident transactions
US9092253B2 (en) * 2009-12-15 2015-07-28 Microsoft Technology Licensing, Llc Instrumentation of hardware assisted transactional memory system
US8402218B2 (en) 2009-12-15 2013-03-19 Microsoft Corporation Efficient garbage collection and exception handling in a hardware accelerated transactional memory system
CN102792289B (zh) * 2010-03-08 2015-11-25 惠普发展公司,有限责任合伙企业 数据存储装置
US8850151B2 (en) * 2010-03-24 2014-09-30 Apple Inc. Hybrid-device storage based on environmental state
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
CN102844745A (zh) 2010-04-12 2012-12-26 惠普发展公司,有限责任合伙企业 非易失性缓存
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US8725951B2 (en) * 2010-04-12 2014-05-13 Sandisk Enterprise Ip Llc Efficient flash memory-based object store
WO2011143628A2 (en) 2010-05-13 2011-11-17 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8954385B2 (en) 2010-06-28 2015-02-10 Sandisk Enterprise Ip Llc Efficient recovery of transactional data stores
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
EP2598996B1 (en) 2010-07-28 2019-07-10 SanDisk Technologies LLC Apparatus, system, and method for conditional and atomic storage operations
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US8751714B2 (en) * 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
TWI421764B (zh) * 2010-10-15 2014-01-01 Inventec Corp 在中斷管理模式下顯示畫面的方法
US8578100B1 (en) * 2010-11-08 2013-11-05 Western Digital Technologies, Inc. Disk drive flushing write data in response to computed flush time
US8489829B2 (en) * 2010-12-01 2013-07-16 International Business Machines Corporation Reduction of communication and efficient failover processing in distributed shared memory-based application
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8694733B2 (en) 2011-01-03 2014-04-08 Sandisk Enterprise Ip Llc Slave consistency in a synchronous replication environment
US9213594B2 (en) 2011-01-19 2015-12-15 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing out-of-service conditions
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
ES2824782T3 (es) * 2011-04-12 2021-05-13 Amadeus Sas Estructura y método de memoria caché
US20120303942A1 (en) * 2011-05-25 2012-11-29 Eric Peacock Caching of boot data in a storage device
US20120311279A1 (en) * 2011-06-02 2012-12-06 Toshiba America Information Systems, Inc. Data recovery and backup system and process
US8849777B1 (en) 2011-06-30 2014-09-30 Emc Corporation File deletion detection in key value databases for virtual backups
US9286079B1 (en) * 2011-06-30 2016-03-15 Western Digital Technologies, Inc. Cache optimization of a data storage device based on progress of boot commands
US9229951B1 (en) 2011-06-30 2016-01-05 Emc Corporation Key value databases for virtual backups
US9311327B1 (en) * 2011-06-30 2016-04-12 Emc Corporation Updating key value databases for virtual backups
US8843443B1 (en) 2011-06-30 2014-09-23 Emc Corporation Efficient backup of virtual data
US9158632B1 (en) 2011-06-30 2015-10-13 Emc Corporation Efficient file browsing using key value databases for virtual backups
US9417794B2 (en) 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
KR101824295B1 (ko) * 2011-08-12 2018-01-31 샌디스크 테크놀로지스 엘엘씨 솔리드 스테이트 장치 가상화를 포함하는 캐시 관리
US8627036B2 (en) * 2011-09-12 2014-01-07 Microsoft Corporation Memory management techniques
US20130067289A1 (en) * 2011-09-14 2013-03-14 Ariel Maislos Efficient non-volatile read cache for storage system
JP2013089067A (ja) * 2011-10-19 2013-05-13 Sony Corp メモリ管理装置、メモリ管理方法、制御プログラム、および、記録媒体
EP2771785B1 (en) 2011-10-26 2022-12-21 Hewlett-Packard Development Company, L.P. Load boot data
CN102567490B (zh) 2011-12-21 2013-12-04 华为技术有限公司 数据库内的描述信息的恢复和数据的缓存方法及设备
WO2013091192A1 (zh) * 2011-12-21 2013-06-27 华为技术有限公司 提供多设备镜像和条带功能的磁盘缓存方法、设备和系统
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9275096B2 (en) 2012-01-17 2016-03-01 Apple Inc. Optimized b-tree
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US8527462B1 (en) 2012-02-09 2013-09-03 Microsoft Corporation Database point-in-time restore and as-of query
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
TWI584120B (zh) * 2012-03-23 2017-05-21 Lsi公司 用於動態調適快取的方法及系統
US8996768B2 (en) * 2012-05-31 2015-03-31 Sandisk Technologies Inc. Method and storage device for assessing execution of trim commands
KR101404129B1 (ko) * 2012-06-26 2014-06-10 인텔렉추얼디스커버리 주식회사 데이터 저장 시스템 및 데이터 관리 방법
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
KR20140007990A (ko) 2012-07-09 2014-01-21 삼성전자주식회사 불휘발성 램을 포함하는 사용자 장치 및 그것의 데이터 관리 방법
US9035961B2 (en) * 2012-09-11 2015-05-19 Apple Inc. Display pipe alternate cache hint
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US8984267B2 (en) * 2012-09-30 2015-03-17 Apple Inc. Pinning boot data for faster boot
US10489295B2 (en) * 2012-10-08 2019-11-26 Sandisk Technologies Llc Systems and methods for managing cache pre-fetch
US20140129758A1 (en) * 2012-11-06 2014-05-08 Spansion Llc Wear leveling in flash memory devices with trim commands
JP5597266B2 (ja) * 2013-01-15 2014-10-01 株式会社日立製作所 ストレージシステム
US9239610B2 (en) * 2013-02-28 2016-01-19 Sandisk Technologies Inc. Systems and methods for managing data in a system for hibernation states
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
WO2014158168A1 (en) 2013-03-28 2014-10-02 Hewlett-Packard Development Company Data flush of group table
WO2014158166A1 (en) 2013-03-28 2014-10-02 Hewlett-Packard Development Company Address range transfer from first node to second node
US9477557B2 (en) 2013-03-28 2016-10-25 Microsoft Technology Licensing, Llc Transaction processing using torn write detection
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
WO2015030679A1 (en) * 2013-08-27 2015-03-05 Agency For Science, Technology And Research Raid parity stripe reconstruction
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
JP5627754B2 (ja) * 2013-10-28 2014-11-19 株式会社東芝 仮想記憶管理装置及び記憶管理装置
US9323467B2 (en) * 2013-10-29 2016-04-26 Western Digital Technologies, Inc. Data storage device startup
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
JP6299169B2 (ja) 2013-11-14 2018-03-28 富士通株式会社 ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム
KR102219288B1 (ko) 2013-12-09 2021-02-23 삼성전자 주식회사 캐시 모드 및 메모리 모드 동작을 지원하는 메모리 장치 및 이의 동작 방법
US9436408B2 (en) * 2013-12-20 2016-09-06 Seagate Technology Llc Direct hinting for a memory device
US9436606B2 (en) 2014-01-02 2016-09-06 Qualcomm Incorporated System and method to defragment a memory
KR102168169B1 (ko) 2014-01-07 2020-10-20 삼성전자주식회사 비휘발성 메모리 시스템의 메모리 맵핑 방법 및 이를 제공하는 시스템
US10002077B2 (en) 2014-01-31 2018-06-19 Hewlett Packard Enterprise Development Lp Persistent memory controller based atomicity assurance
WO2015130314A1 (en) 2014-02-28 2015-09-03 Hewlett-Packard Development Company, L.P. Mapping mode shift
US10489161B2 (en) 2014-03-26 2019-11-26 Hewlett Packard Enterprise Development Lp NVM object
KR102248915B1 (ko) * 2014-03-26 2021-05-07 삼성전자주식회사 하이브리드 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 데이터 처리 방법
US20150310128A1 (en) * 2014-04-28 2015-10-29 Elwha Llc Methods, systems, and devices for machines and machine states that manage relation data for modification of documents based on various corpora and/or modification data
US20150310079A1 (en) * 2014-04-28 2015-10-29 Elwha Llc Methods, systems, and devices for machines and machine states that analyze and modify documents and various corpora
US9478274B1 (en) 2014-05-28 2016-10-25 Emc Corporation Methods and apparatus for multiple memory maps and multiple page caches in tiered memory
US9471955B2 (en) 2014-06-19 2016-10-18 Apple Inc. Multiple display pipelines driving a divided display
US9535844B1 (en) * 2014-06-30 2017-01-03 EMC IP Holding Company LLC Prioritization for cache systems
CN106233274B (zh) 2014-08-27 2020-01-07 惠普发展公司有限责任合伙企业 一种在计算装置之间同步文件的方法、系统和计算装置
US9952805B2 (en) 2014-09-11 2018-04-24 Hitachi, Ltd. Storage system and data write method using a logical volume to either store data successfully onto a first memory or send a failure response to a server computer if the storage attempt fails
JP5795418B2 (ja) * 2014-09-25 2015-10-14 株式会社東芝 キャッシュ装置、及び記憶システム
CA2962123C (en) 2014-10-03 2022-12-13 Ezuniverse Inc. Data management system
US10235054B1 (en) 2014-12-09 2019-03-19 EMC IP Holding Company LLC System and method utilizing a cache free list and first and second page caches managed as a single cache in an exclusive manner
US20160188414A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Fault tolerant automatic dual in-line memory module refresh
US9348529B1 (en) 2015-01-27 2016-05-24 HGST Netherlands B.V. Peak power efficient data storage drives
US10353816B2 (en) 2015-01-28 2019-07-16 Hewlett-Packard Development Company, L.P. Page cache in a non-volatile memory
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US20160283385A1 (en) * 2015-03-27 2016-09-29 James A. Boyd Fail-safe write back caching mode device driver for non volatile storage device
WO2016159930A1 (en) 2015-03-27 2016-10-06 Hewlett Packard Enterprise Development Lp File migration to persistent memory
CN107209720B (zh) 2015-04-02 2020-10-13 慧与发展有限责任合伙企业 用于页面高速缓存的系统及方法以及存储介质
US20160299844A1 (en) * 2015-04-08 2016-10-13 Sandisk Enterprise Ip Llc Mapping Logical Groups of Data to Physical Locations In Memory
CN106294189B (zh) * 2015-05-25 2020-09-25 中兴通讯股份有限公司 内存碎片整理方法及装置
US10078448B2 (en) * 2015-07-08 2018-09-18 Samsung Electronics Co., Ltd. Electronic devices and memory management methods thereof
US10037163B2 (en) * 2015-07-29 2018-07-31 Sandisk Technologies Llc Self-describing cluster association
US9778879B2 (en) 2015-10-23 2017-10-03 Microsoft Technology Licensing, Llc Flushless transactional layer
CN105353989B (zh) * 2015-11-19 2018-12-28 华为技术有限公司 存储数据访问方法及相关的控制器、设备、主机和系统
CN105589812B (zh) * 2015-12-16 2018-10-30 成都华为技术有限公司 磁盘碎片整理方法、装置及主机
US10402101B2 (en) 2016-01-07 2019-09-03 Red Hat, Inc. System and method for using persistent memory to accelerate write performance
US20170351447A1 (en) * 2016-06-03 2017-12-07 Scale Computing, Inc. Data protection implementation for block storage devices
US10318175B2 (en) * 2017-03-07 2019-06-11 Samsung Electronics Co., Ltd. SSD with heterogeneous NVM types
US10795836B2 (en) * 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator
US20180309826A1 (en) * 2017-04-24 2018-10-25 EITR Systems, Inc. Fault-tolerant storage system using an alternate network
KR102387461B1 (ko) * 2017-07-24 2022-04-15 삼성전자주식회사 스토리지 장치, 스토리지 시스템 및 이의 동작 방법
US10936441B2 (en) 2017-12-15 2021-03-02 Microsoft Technology Licensing, Llc Write-ahead style logging in a persistent memory device
KR102566635B1 (ko) 2017-12-18 2023-08-14 삼성전자주식회사 비휘발성 메모리 시스템 및 그 동작 방법
US10929033B2 (en) * 2018-04-25 2021-02-23 Micron Technology, Inc. Allocating variable media types of memory devices in a memory system
US11194588B2 (en) * 2018-07-09 2021-12-07 Dell Products L.P. Information handling systems and method to provide secure shared memory access at OS runtime
US10732892B2 (en) 2018-09-24 2020-08-04 Micron Technology, Inc. Data transfer in port switch memory
TWI684860B (zh) * 2018-10-15 2020-02-11 慧榮科技股份有限公司 用來進行讀取加速之方法以及資料儲存裝置及其控制器
KR102588143B1 (ko) 2018-11-07 2023-10-13 삼성전자주식회사 메모리 컨트롤러를 포함하는 스토리지 장치 및 메모리를 포함하는 전자 시스템을 동작시키는 방법
EP3973513A4 (en) * 2019-05-21 2023-06-28 Magic Leap, Inc. Caching and updating of dense 3d reconstruction data
US11036594B1 (en) 2019-07-25 2021-06-15 Jetstream Software Inc. Disaster recovery systems and methods with low recovery point objectives
US11016692B2 (en) * 2019-09-11 2021-05-25 International Business Machines Corporation Dynamically switching between memory copy and memory mapping to optimize I/O performance
US11119676B2 (en) 2019-11-08 2021-09-14 International Business Machines Corporation Using spare bits in memory systems
US11150840B2 (en) * 2020-02-09 2021-10-19 International Business Machines Corporation Pinning selected volumes within a heterogeneous cache
US11379408B2 (en) 2020-05-04 2022-07-05 International Business Machines Corporation Pointer-based dynamic data structures in key-value stores
US11816354B2 (en) * 2020-07-27 2023-11-14 EMC IP Holding Company LLC Persistent memory adaptation
US11544197B2 (en) 2020-09-18 2023-01-03 Alibaba Group Holding Limited Random-access performance for persistent memory
US20230083798A1 (en) * 2021-09-14 2023-03-16 International Business Machines Corporation Maintaining metadata from a catalog in a repository to return to requests for the metadata

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1421003A (zh) * 2000-03-31 2003-05-28 英特尔公司 对盘驱动事务处理采用存取日志
US20030154337A1 (en) * 2000-06-01 2003-08-14 Hiroshi Ohno Multiple operating system control method
TW200402628A (en) * 2002-03-22 2004-02-16 Intel Corp Obtaining data mask mapping information
TW200405170A (en) * 2002-05-08 2004-04-01 Intel Corp Method and system for optimally sharing memory between a host processor and graphics processor

Family Cites Families (332)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4612612A (en) 1983-08-30 1986-09-16 Amdahl Corporation Virtually addressed cache
JPH06100981B2 (ja) 1983-12-28 1994-12-12 株式会社日立製作所 記憶階層制御方式
US4979108A (en) 1985-12-20 1990-12-18 Ag Communication Systems Corporation Task synchronization arrangement and method for remote duplex processors
JPS62247853A (ja) * 1986-04-22 1987-10-28 Mazda Motor Corp 二液ミキシング塗装装置
US4972316A (en) 1987-03-30 1990-11-20 International Business Machines Corporation Method of handling disk sector errors in DASD cache
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
JPH01303547A (ja) 1988-05-31 1989-12-07 Toshiba Corp 情報記憶制御システム
JPH0239256A (ja) 1988-07-28 1990-02-08 Toshiba Corp メモリシステム
SU1575192A1 (ru) 1988-08-01 1990-06-30 Войсковая часть 03080 Устройство дл выделени области во внешней пам ти
US5394531A (en) * 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
DE69034191T2 (de) 1989-04-13 2005-11-24 Sandisk Corp., Sunnyvale EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5900870A (en) * 1989-06-30 1999-05-04 Massachusetts Institute Of Technology Object-oriented computer user interface
US5088026A (en) 1990-02-09 1992-02-11 International Business Machines Corporation Method for managing a data cache using virtual external storage addresses as arguments
JPH03294942A (ja) 1990-04-12 1991-12-26 Hitachi Ltd ファイルバックアップ方式及び情報複写方式
US5307497A (en) 1990-06-25 1994-04-26 International Business Machines Corp. Disk operating system loadable from read only memory using installable file system interface
JPH04205634A (ja) 1990-11-30 1992-07-27 Matsushita Electric Ind Co Ltd 記憶装置制御方法
JPH04246746A (ja) * 1991-02-01 1992-09-02 Hitachi Ltd 記憶装置システム
US5764877A (en) * 1991-06-25 1998-06-09 Digital Equipment Corporation Media recovery with time-split B-trees
JP2582487B2 (ja) 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JPH0562329A (ja) * 1991-08-29 1993-03-12 Hitachi Ltd データ処理装置
JPH0559537A (ja) 1991-09-03 1993-03-09 Sony Corp 蒸着装置
JP2995942B2 (ja) 1991-09-10 1999-12-27 セイコーエプソン株式会社 文書印刷システム及びその方法
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JPH0594353A (ja) 1991-10-02 1993-04-16 Hokkaido Nippon Denki Software Kk データベース管理方式
US5297258A (en) 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
JP3451099B2 (ja) 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
EP0547992A3 (en) 1991-12-17 1993-12-01 Ibm Method and system for enhanced efficiency of data recovery in balanced tree memory structures
JP2839060B2 (ja) 1992-03-02 1998-12-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システムおよびデータ処理方法
CA2131627A1 (en) 1992-03-09 1993-09-16 Yu-Ping Cheng High-performance non-volatile ram protected write cache accelerator system
JP3485938B2 (ja) 1992-03-31 2004-01-13 株式会社東芝 不揮発性半導体メモリ装置
US5420998A (en) * 1992-04-10 1995-05-30 Fujitsu Limited Dual memory disk drive
US5398325A (en) 1992-05-07 1995-03-14 Sun Microsystems, Inc. Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems
JPH06140446A (ja) 1992-07-21 1994-05-20 Hitachi Ltd 半導体装置及びそれを用いた電子装置
JPH0635802A (ja) 1992-07-21 1994-02-10 Hitachi Ltd 複数キャッシュ付きディスク制御装置
US5574877A (en) 1992-09-25 1996-11-12 Silicon Graphics, Inc. TLB with two physical pages per virtual tag
US5454098A (en) 1992-09-28 1995-09-26 Conner Peripherals, Inc. Method of emulating access to a sequential access data storage device while actually using a random access storage device
US5561783A (en) 1992-11-16 1996-10-01 Intel Corporation Dynamic cache coherency method and apparatus using both write-back and write-through operations
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US5463739A (en) * 1992-12-22 1995-10-31 International Business Machines Corporation Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold
JPH06236351A (ja) 1993-02-10 1994-08-23 Hitachi Ltd オンラインシステムのバックアップリストア装置
US5557770A (en) 1993-03-24 1996-09-17 International Business Machines Corporation Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JP3600257B2 (ja) 1993-05-31 2004-12-15 富士通株式会社 情報処理装置及びキャッシュ制御装置
US5636355A (en) 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5551002A (en) 1993-07-01 1996-08-27 Digital Equipment Corporation System for controlling a write cache and merging adjacent data blocks for write operations
US5572660A (en) 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
JPH086854A (ja) 1993-12-23 1996-01-12 Unisys Corp アウトボードファイルキャッシュ外部処理コンプレックス
US6026027A (en) 1994-01-31 2000-02-15 Norand Corporation Flash memory system having memory cache
EP0668565B1 (en) 1994-02-22 2002-07-17 Advanced Micro Devices, Inc. Virtual memory system
JPH07253935A (ja) * 1994-03-15 1995-10-03 Toshiba Corp コンピュータのデータ保護装置
US5751990A (en) 1994-04-26 1998-05-12 International Business Machines Corporation Abridged virtual address cache directory
US5603001A (en) 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US5642501A (en) 1994-07-26 1997-06-24 Novell, Inc. Computer method and apparatus for asynchronous ordered operations
US5897640A (en) 1994-08-08 1999-04-27 Microsoft Corporation Method and system of associating, synchronizing and reconciling computer files in an operating system
CA2203000A1 (en) 1994-10-18 1996-04-25 Iomega Corporation Disk cartridge detection methods and apparatus
JPH08137634A (ja) 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JPH08195068A (ja) 1995-01-20 1996-07-30 Pioneer Electron Corp オーディオ信号混合装置
JPH11500548A (ja) * 1995-01-23 1999-01-12 タンデム コンピューターズ インコーポレイテッド データベース完全性の保守用システム
JP3426385B2 (ja) 1995-03-09 2003-07-14 富士通株式会社 ディスク制御装置
JPH08263380A (ja) * 1995-03-22 1996-10-11 Mitsubishi Electric Corp ディスクキャッシュ制御方式
US6078925A (en) * 1995-05-01 2000-06-20 International Business Machines Corporation Computer program product for database relational extenders
US5917723A (en) 1995-05-22 1999-06-29 Lsi Logic Corporation Method and apparatus for transferring data between two devices with reduced microprocessor overhead
US5758174A (en) 1995-06-07 1998-05-26 International Business Machines Corporation Computer system having a plurality of stored system capability states from which to resume
US5608892A (en) 1995-06-09 1997-03-04 Alantec Corporation Active cache for a microprocessor
US5720029A (en) 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
US5765151A (en) 1995-08-17 1998-06-09 Sun Microsystems, Inc. System and method for file system fix-on-panic for a computer operating system
JP3704767B2 (ja) 1995-11-16 2005-10-12 ソニー株式会社 情報記録装置
US5754782A (en) * 1995-12-04 1998-05-19 International Business Machines Corporation System and method for backing up and restoring groupware documents
US5860095A (en) 1996-01-02 1999-01-12 Hewlett-Packard Company Conflict cache having cache miscounters for a computer memory system
US5754888A (en) 1996-01-18 1998-05-19 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment
US5764505A (en) 1996-01-23 1998-06-09 Cymer, Inc. Gas discharge laser control systems using multiple CPU's with shared memory on a common bus
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US6247026B1 (en) * 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
KR0174711B1 (ko) 1996-04-24 1999-04-15 김광호 하드디스크 캐시의 제어방법
JPH1040170A (ja) 1996-07-26 1998-02-13 Toshiba Corp ディスクキャッシュシステム
US6026293A (en) 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
US5832515A (en) 1996-09-12 1998-11-03 Veritas Software Log device layered transparently within a filesystem paradigm
US5996054A (en) 1996-09-12 1999-11-30 Veritas Software Corp. Efficient virtualized mapping space for log device data storage system
JPH1091488A (ja) 1996-09-12 1998-04-10 Sony Corp データ処理装置および方法
US6321234B1 (en) 1996-09-18 2001-11-20 Sybase, Inc. Database server system with improved methods for logging transactions
GB2317722B (en) 1996-09-30 2001-07-18 Nokia Mobile Phones Ltd Memory device
GB2317720A (en) 1996-09-30 1998-04-01 Nokia Mobile Phones Ltd Managing Flash memory
US6112024A (en) * 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
US5832529A (en) * 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JPH10177563A (ja) 1996-12-17 1998-06-30 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
US6073232A (en) 1997-02-25 2000-06-06 International Business Machines Corporation Method for minimizing a computer's initial program load time after a system reset or a power-on using non-volatile storage
US5940856A (en) 1997-04-14 1999-08-17 International Business Machines Corporation Cache intervention from only one of many cache lines sharing an unmodified value
US6345000B1 (en) 1997-04-16 2002-02-05 Sandisk Corporation Flash memory permitting simultaneous read/write and erase operations in a single memory array
JP3982871B2 (ja) 1997-04-25 2007-09-26 松下電器産業株式会社 半田印刷検査処理方法および半田印刷機
US5943692A (en) * 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data
US5991847A (en) 1997-06-06 1999-11-23 Acceleration Software International Corporation Data pattern caching for speeding up write operations
US5897638A (en) * 1997-06-16 1999-04-27 Ab Initio Software Corporation Parallel virtual file 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
KR19990019377A (ko) 1997-08-29 1999-03-15 윤종용 플래시 메모리 이용 보조기억장치 및 그 방법
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6189071B1 (en) 1997-10-06 2001-02-13 Emc Corporation Method for maximizing sequential output in a disk array storage device
US6108004A (en) * 1997-10-21 2000-08-22 International Business Machines Corporation GUI guide for data mining
US6560702B1 (en) 1997-12-10 2003-05-06 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation
US6098075A (en) * 1997-12-16 2000-08-01 International Business Machines Corporation Deferred referential integrity checking based on determining whether row at-a-time referential integrity checking would yield the same results as deferred integrity checking
US6567889B1 (en) 1997-12-19 2003-05-20 Lsi Logic Corporation Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
US6018746A (en) * 1997-12-23 2000-01-25 Unisys Corporation System and method for managing recovery information in a transaction processing system
US6006291A (en) 1997-12-31 1999-12-21 Intel Corporation High-throughput interface between a system memory controller and a peripheral device
US6205527B1 (en) * 1998-02-24 2001-03-20 Adaptec, Inc. Intelligent backup and restoring system and method for implementing the same
JP2918531B1 (ja) 1998-03-13 1999-07-12 三菱電機株式会社 キャッシュメモリ制御装置
US6298428B1 (en) 1998-03-30 2001-10-02 International Business Machines Corporation Method and apparatus for shared persistent virtual storage on existing operating systems
US6138125A (en) 1998-03-31 2000-10-24 Lsi Logic Corporation Block coding method and system for failure recovery in disk arrays
US6360330B1 (en) * 1998-03-31 2002-03-19 Emc Corporation System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server
US6263342B1 (en) * 1998-04-01 2001-07-17 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated datastore object
JPH11288421A (ja) * 1998-04-03 1999-10-19 Fujitsu Ltd サービス提供装置、サービス受信装置、サービス提供ホスト、選択サービス受信プログラムを記録したコンピュータ読み取り可能な記録媒体、選択サービス送信プログラムを記録したコンピュータ読み取り可能な記録媒体、サービス受信装置におけるサービス選択方法及びサービス提供ホストにおける選択サービスの送信方法
US6128627A (en) 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6101601A (en) 1998-04-20 2000-08-08 International Business Machines Corporation Method and apparatus for hibernation within a distributed data processing system
JPH11316699A (ja) 1998-05-01 1999-11-16 Hiroaki Horikoshi データベース作成方法、データベース作成システムおよびデータベース作成プログラムを記録したプログラム記録媒体
US6122685A (en) 1998-05-06 2000-09-19 Emc Corporation System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed
KR100283243B1 (ko) 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
JP3404289B2 (ja) 1998-05-22 2003-05-06 富士通株式会社 ディスク制御装置及びその制御方法
US6314433B1 (en) * 1998-06-12 2001-11-06 Hewlett-Packard Company Frame-based heroic data recovery
FR2780178B1 (fr) * 1998-06-18 2001-08-10 Inst Nat Rech Inf Automat Procede de transformation et d'acheminement de donnees entre des serveurs d'agents presents sur des machines et un serveur d'agent central present sur une autre machine
US6209088B1 (en) 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US6714935B1 (en) * 1998-09-21 2004-03-30 Microsoft Corporation Management of non-persistent data in a persistent database
US6519597B1 (en) * 1998-10-08 2003-02-11 International Business Machines Corporation Method and apparatus for indexing structured documents with rich data types
US6249841B1 (en) 1998-12-03 2001-06-19 Ramtron International Corporation Integrated circuit memory device and method incorporating flash and ferroelectric random access memory arrays
US6338056B1 (en) * 1998-12-14 2002-01-08 International Business Machines Corporation Relational database extender that supports user-defined index types and user-defined search
KR20000039727A (ko) 1998-12-15 2000-07-05 구자홍 플래시 메모리 접근 방법
US6279081B1 (en) 1998-12-22 2001-08-21 Hewlett-Packard Company System and method for performing memory fetches for an ATM card
JP2000194645A (ja) 1998-12-28 2000-07-14 Toshiba Corp 電子機器制御方法および電子機器制御装置および電子機器
JP3543661B2 (ja) 1999-03-05 2004-07-14 日本電気株式会社 交換機ファイルシステムにおけるバッファキャッシュ方法および装置
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
US20030070065A1 (en) 1999-03-31 2003-04-10 Fleming Bruce L. Suspending to nonvolatile storage
US6401093B1 (en) 1999-03-31 2002-06-04 International Business Machines Corporation Cross file system caching and synchronization
US6295578B1 (en) * 1999-04-09 2001-09-25 Compaq Computer Corporation Cascaded removable media data storage system
US6535949B1 (en) 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6370534B1 (en) * 1999-06-01 2002-04-09 Pliant Technologies, Inc. Blocking techniques for data storage
TW479194B (en) 1999-06-18 2002-03-11 Phoenix Tech Ltd Method and apparatus for execution of an application during computer pre-boot operation
US6438750B1 (en) 1999-06-18 2002-08-20 Phoenix Technologies Ltd. Determining loading time of an operating system
JP3204251B2 (ja) 1999-06-30 2001-09-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ハイバネーション装置及び方法、それを格納した記録媒体並びにそれを適用したコンピュータ
US6199195B1 (en) * 1999-07-08 2001-03-06 Science Application International Corporation Automatically generated objects within extensible object frameworks and links to enterprise resources
JP3812928B2 (ja) 1999-07-14 2006-08-23 株式会社日立製作所 外部記憶装置及び情報処理システム
US6513051B1 (en) 1999-07-16 2003-01-28 Microsoft Corporation Method and system for backing up and restoring files stored in a single instance store
US6311232B1 (en) 1999-07-29 2001-10-30 Compaq Computer Corporation Method and apparatus for configuring storage devices
US6542904B2 (en) * 1999-07-30 2003-04-01 International Business Machines Corporation Method and system for efficiently providing maintenance activity on a relational database that is utilized within a processing system
EP1330727A2 (en) 1999-08-05 2003-07-30 Oracle Corporation Internet file system
JP3239335B2 (ja) * 1999-08-18 2001-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 電気的接続用構造体の形成方法およびはんだ転写用基板
JP2001067258A (ja) * 1999-08-25 2001-03-16 Mitsubishi Electric Corp フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法
US6370541B1 (en) * 1999-09-21 2002-04-09 International Business Machines Corporation Design and implementation of a client/server framework for federated multi-search and update across heterogeneous datastores
US6539456B2 (en) 1999-10-13 2003-03-25 Intel Corporation Hardware acceleration of boot-up utilizing a non-volatile disk cache
US6751658B1 (en) 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
US6338126B1 (en) 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
EP1157336B1 (en) * 1999-12-17 2009-07-29 Nxp B.V. Data processor with cache
JP3562419B2 (ja) 2000-02-01 2004-09-08 日本電気株式会社 電子交換機
US6556983B1 (en) * 2000-01-12 2003-04-29 Microsoft Corporation Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space
US6609182B1 (en) 2000-01-20 2003-08-19 Microsoft Corporation Smart hibernation on an operating system with page translation
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
WO2001057675A1 (en) 2000-02-02 2001-08-09 Sony Electronics Inc. System and method for effectively utilizing a cache memory in an electronic device
JP4131894B2 (ja) 2000-02-29 2008-08-13 株式会社東芝 ランダムディスクライトに好適なディスク制御機構
JP4078010B2 (ja) * 2000-03-03 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置及び情報記録方法
US6633978B1 (en) * 2000-03-31 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for restoring computer resources
US6718361B1 (en) * 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US7421541B2 (en) 2000-05-12 2008-09-02 Oracle International Corporation Version management of cached permissions metadata
WO2001088720A2 (en) 2000-05-15 2001-11-22 Superspeed Software, Inc. System and method for high-speed substitute cache
KR100694043B1 (ko) 2000-05-18 2007-03-12 삼성전자주식회사 Av 시스템 및 그 기능 확장 모듈
US6671699B1 (en) * 2000-05-20 2003-12-30 Equipe Communications Corporation Shared database usage in network devices
JP3705731B2 (ja) 2000-06-05 2005-10-12 富士通株式会社 入出力制御装置
US7412369B1 (en) 2000-06-09 2008-08-12 Stmicroelectronics, Inc. System and method for designing and optimizing the memory of an embedded processing system
JP4394806B2 (ja) 2000-06-22 2010-01-06 独立行政法人科学技術振興機構 バックアップ装置
TW576966B (en) 2000-06-23 2004-02-21 Intel Corp Non-volatile cache integrated with mass storage device
JP3951918B2 (ja) 2000-06-23 2007-08-01 インテル・コーポレーション 不揮発性キャッシュ
US6557077B1 (en) 2000-07-07 2003-04-29 Lsi Logic Corporation Transportable memory apparatus and associated methods of initializing a computer system having the same
US6928521B1 (en) 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
US6725342B1 (en) 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US6434682B1 (en) 2000-09-28 2002-08-13 International Business Machines Corporation Data management system with shortcut migration via efficient automatic reconnection to previously migrated copy
US6999956B2 (en) * 2000-11-16 2006-02-14 Ward Mullins Dynamic object-driven database manipulation and mapping system
US6629198B2 (en) 2000-12-08 2003-09-30 Sun Microsystems, Inc. Data storage system and method employing a write-ahead hash log
US7178100B2 (en) * 2000-12-15 2007-02-13 Call Charles G Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers
US6871271B2 (en) * 2000-12-21 2005-03-22 Emc Corporation Incrementally restoring a mass storage device to a prior state
JP2002197073A (ja) 2000-12-25 2002-07-12 Hitachi Ltd キャッシュ一致制御装置
US6546472B2 (en) 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US6516380B2 (en) 2001-02-05 2003-02-04 International Business Machines Corporation System and method for a log-based non-volatile write cache in a storage controller
US6918022B2 (en) 2001-02-28 2005-07-12 Intel Corporation Memory space organization
JP2002259186A (ja) 2001-03-06 2002-09-13 Hitachi Ltd Tree構造型インデクスの整合性チェック処理方法およびプログラムおよび装置
US6877111B2 (en) * 2001-03-26 2005-04-05 Sun Microsystems, Inc. Method and apparatus for managing replicated and migration capable session state for a Java platform
US6996660B1 (en) 2001-04-09 2006-02-07 Matrix Semiconductor, Inc. Memory device and method for storing and reading data in a write-once memory array
US6584034B1 (en) 2001-04-23 2003-06-24 Aplus Flash Technology Inc. Flash memory array structure suitable for multiple simultaneous operations
US6961723B2 (en) * 2001-05-04 2005-11-01 Sun Microsystems, Inc. System and method for determining relevancy of query responses in a distributed network search mechanism
US6717763B2 (en) * 2001-05-16 2004-04-06 Hitachi Global Storage Technologies, Netherlands B.V. Power savings method and apparatus for disk drives
US6697818B2 (en) * 2001-06-14 2004-02-24 International Business Machines Corporation Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US6920533B2 (en) 2001-06-27 2005-07-19 Intel Corporation System boot time reduction method
US6772178B2 (en) * 2001-07-27 2004-08-03 Sun Microsystems, Inc. Method and apparatus for managing remote data replication in a distributed computer system
US20030041213A1 (en) * 2001-08-24 2003-02-27 Yakov Tokar Method and apparatus for using a cache memory
JP2003076498A (ja) 2001-09-05 2003-03-14 Hitachi Ltd ディスク記憶装置
US6769050B1 (en) 2001-09-10 2004-07-27 Rambus Inc. Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
JP2003085041A (ja) 2001-09-10 2003-03-20 Ricoh Co Ltd ディスクキャッシュシステム
US7472230B2 (en) 2001-09-14 2008-12-30 Hewlett-Packard Development Company, L.P. Preemptive write back controller
JP3822081B2 (ja) 2001-09-28 2006-09-13 東京エレクトロンデバイス株式会社 データ書込装置、データ書込制御方法及びプログラム
JP4093741B2 (ja) 2001-10-03 2008-06-04 シャープ株式会社 外部メモリ制御装置およびそれを含んだデータ駆動型情報処理装置
US6636942B2 (en) 2001-10-05 2003-10-21 International Business Machines Corporation Storage structure for storing formatted data on a random access medium
US6944757B2 (en) 2001-10-16 2005-09-13 Dell Products L.P. Method for allowing CD removal when booting embedded OS from a CD-ROM device
US20030074524A1 (en) 2001-10-16 2003-04-17 Intel Corporation Mass storage caching processes for power reduction
EP1304620A1 (en) * 2001-10-17 2003-04-23 Texas Instruments Incorporated Cache with selective write allocation
US6687158B2 (en) 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
JP2003196032A (ja) 2001-12-26 2003-07-11 Nec Corp ストレージ装置のライトキャッシュ制御方法及びストレージ装置
WO2003067787A2 (en) 2002-02-08 2003-08-14 I/O Integrity, Inc. Redirecting local disk traffic to network attached storage
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
US6901499B2 (en) 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
JP4299555B2 (ja) 2002-03-15 2009-07-22 富士通株式会社 キャッシュ制御プログラム
US7136966B2 (en) 2002-03-18 2006-11-14 Lsi Logic Corporation Method and apparatus for using a solid state disk device as a storage controller cache
US20040044776A1 (en) 2002-03-22 2004-03-04 International Business Machines Corporation Peer to peer file sharing system using common protocols
US7065627B2 (en) * 2002-03-25 2006-06-20 International Business Machines Corporation Method and system for providing an event driven image for a boot record
JP4229626B2 (ja) 2002-03-26 2009-02-25 富士通株式会社 ファイル管理システム
EP1351146A1 (en) 2002-04-04 2003-10-08 Hewlett-Packard Company Power management system and method with recovery after power failure
US6820180B2 (en) * 2002-04-04 2004-11-16 International Business Machines Corporation Apparatus and method of cascading backup logical volume mirrors
US6966006B2 (en) 2002-05-09 2005-11-15 International Business Machines Corporation Adaptive startup policy for accelerating multi-disk array spin-up
US6898609B2 (en) * 2002-05-10 2005-05-24 Douglas W. Kerwin Database scattering system
US6968450B1 (en) 2002-06-01 2005-11-22 Western Digital Technologies, Inc. Disk drive caching initial host requested data in non-volatile semiconductor memory to reduce start-up time of a host computer
JP2004021370A (ja) 2002-06-13 2004-01-22 Hitachi Ltd ディスクアレイ制御装置
US7062675B1 (en) 2002-06-25 2006-06-13 Emc Corporation Data storage cache system shutdown scheme
US7065527B2 (en) * 2002-06-26 2006-06-20 Microsoft Corporation Systems and methods of optimizing metadata publishing system updates by alternating databases
US7017037B2 (en) 2002-06-27 2006-03-21 Microsoft Corporation Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time
US7082495B2 (en) * 2002-06-27 2006-07-25 Microsoft Corporation Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory
US6941310B2 (en) * 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application
CA2493196C (en) * 2002-07-23 2009-09-22 Research In Motion Limited Data store management system and method for wireless devices
JP2004054845A (ja) 2002-07-24 2004-02-19 Sony Corp データ管理装置
JP4026753B2 (ja) 2002-07-25 2007-12-26 株式会社日立製作所 半導体集積回路
NZ520786A (en) * 2002-08-14 2005-06-24 Daniel James Oaeconnell Method of booting a computer system using a memory image of the post boot content of the system RAM memory
US7043610B2 (en) 2002-08-19 2006-05-09 Aristos Logic Corporation System and method for maintaining cache coherency without external controller intervention
US7096378B2 (en) * 2002-08-29 2006-08-22 Freescale Semiconductor, Inc. Data storage system having a non-volatile IC based memory for storing user data
FI20021620A (fi) 2002-09-10 2004-03-11 Nokia Corp Muistirakenne, järjestelmä ja elektroniikkalaite sekä menetelmä muistipiirin yhteydessä
US20040078508A1 (en) 2002-10-02 2004-04-22 Rivard William G. System and method for high performance data storage and retrieval
US6910106B2 (en) 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US7284149B1 (en) 2002-10-16 2007-10-16 Ken Scott Fisher Intermittent connection protection for external computer devices
US20040088481A1 (en) 2002-11-04 2004-05-06 Garney John I. Using non-volatile memories for disk caching
US7035974B2 (en) 2002-11-06 2006-04-25 Synology Inc. RAID-5 disk having cache memory implemented using non-volatile RAM
US7036040B2 (en) * 2002-11-26 2006-04-25 Microsoft Corporation Reliability of diskless network-bootable computers using non-volatile memory cache
US7502791B2 (en) * 2002-11-26 2009-03-10 Norsync Technology A/S Database constraint enforcer
US7003620B2 (en) 2002-11-26 2006-02-21 M-Systems Flash Disk Pioneers Ltd. Appliance, including a flash memory, that is robust under power failure
JP4304974B2 (ja) 2002-12-12 2009-07-29 富士ゼロックス株式会社 キャッシュメモリのデータ管理方法、及び情報処理装置
US7039765B1 (en) 2002-12-19 2006-05-02 Hewlett-Packard Development Company, L.P. Techniques for cache memory management using read and write operations
US7010645B2 (en) 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data
US7437440B2 (en) 2003-01-27 2008-10-14 Microsoft Corporation Peer-to-peer networking framework application programming interfaces
KR100504696B1 (ko) 2003-02-26 2005-08-03 삼성전자주식회사 블록 소거/프로그램 정보를 저장하기 위한 상태 셀들의어레이를 포함한 낸드 플래시 메모리 장치
JP2004272324A (ja) 2003-03-05 2004-09-30 Nec Corp ディスクアレイ装置
JP2004272764A (ja) 2003-03-11 2004-09-30 Toyo Commun Equip Co Ltd コンピュータシステムの機能拡張方法
US7505958B2 (en) 2004-09-30 2009-03-17 International Business Machines Corporation Metadata management for a data abstraction model
EP1619583A4 (en) 2003-04-25 2008-12-24 Panasonic Corp DATA RECORDING DEVICE
US7296043B2 (en) 2003-05-30 2007-11-13 Microsoft Corporation Memory file size adjustment
US7139933B2 (en) 2003-06-20 2006-11-21 International Business Machines Corporation Preserving cache data against cluster reboot
US7299379B2 (en) 2003-06-27 2007-11-20 Intel Corporation Maintaining cache integrity by recording write addresses in a log
JP4090400B2 (ja) 2003-07-24 2008-05-28 株式会社日立製作所 ストレージシステム
US7068575B2 (en) 2003-07-30 2006-06-27 Microsoft Corporation High speed optical disc recording
US6977842B2 (en) 2003-09-16 2005-12-20 Micron Technology, Inc. Boosted substrate/tub programming for flash memories
US7366866B2 (en) 2003-10-30 2008-04-29 Hewlett-Packard Development Company, L.P. Block size allocation in copy operations
EP1538525A1 (en) 2003-12-04 2005-06-08 Texas Instruments Incorporated ECC computation simultaneously performed while reading or programming a flash memory
CN100437456C (zh) 2003-12-09 2008-11-26 松下电器产业株式会社 电子装置及其控制方法、主机装置及其控制方法
US7130962B2 (en) 2003-12-18 2006-10-31 Intel Corporation Writing cache lines on a disk drive
JP2005191413A (ja) 2003-12-26 2005-07-14 Toshiba Corp 不揮発性半導体記憶装置
US20050251617A1 (en) 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US8458488B2 (en) * 2003-12-31 2013-06-04 International Business Machines Corporation Method and system for diagnosing operation of tamper-resistant software
US20050145923A1 (en) 2004-01-06 2005-07-07 Chiou-Feng Chen NAND flash memory with enhanced program and erase performance, and fabrication process
US6993618B2 (en) 2004-01-15 2006-01-31 Super Talent Electronics, Inc. Dual-mode flash storage exchanger that transfers flash-card data to a removable USB flash key-drive with or without a PC host
US7127549B2 (en) * 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
JP4494031B2 (ja) 2004-02-06 2010-06-30 株式会社日立製作所 ストレージ制御装置、及びストレージ制御装置の制御方法
KR100564613B1 (ko) * 2004-02-25 2006-03-29 삼성전자주식회사 플래시 메모리 및 광 드라이브의 펌웨어 모듈 동적 로딩동작 방법
US7421562B2 (en) 2004-03-01 2008-09-02 Sybase, Inc. Database system providing methodology for extended memory support
US20050204091A1 (en) 2004-03-11 2005-09-15 Kilbuck Kevin M. Non-volatile memory with synchronous DRAM interface
US7620983B1 (en) 2004-03-16 2009-11-17 Symantec Corporation Behavior profiling
US7143120B2 (en) * 2004-05-03 2006-11-28 Microsoft Corporation Systems and methods for automated maintenance and repair of database and file systems
US7366740B2 (en) * 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US7644239B2 (en) * 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
JP4392601B2 (ja) 2004-05-07 2010-01-06 パナソニック株式会社 データアクセス装置および記録媒体
US7526608B2 (en) 2004-05-28 2009-04-28 Sony Computer Entertainment Inc. Methods and apparatus for providing a software implemented cache memory
US7231497B2 (en) 2004-06-15 2007-06-12 Intel Corporation Merging write-back and write-through cache policies
US20060010293A1 (en) 2004-07-09 2006-01-12 Schnapp Michael G Cache for file system used in storage system
US7171532B2 (en) 2004-08-30 2007-01-30 Hitachi, Ltd. Method and system for data lifecycle management in an external storage linkage environment
KR101102260B1 (ko) 2004-08-31 2012-01-03 프리스케일 세미컨덕터, 인크. 가상 어드레스 캐시 및 고유 태스크 식별자를 이용하는데이터를 공유하기 위한 방법
WO2006027643A1 (en) 2004-09-07 2006-03-16 Freescale Semiconductors, Inc A virtual address cache and method for sharing data stored in a virtual address cache
JP4192129B2 (ja) 2004-09-13 2008-12-03 株式会社東芝 メモリ管理装置
US20060075185A1 (en) 2004-10-06 2006-04-06 Dell Products L.P. Method for caching data and power conservation in an information handling system
US7657756B2 (en) 2004-10-08 2010-02-02 International Business Machines Corporaiton Secure memory caching structures for data, integrity and version values
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
JP4956922B2 (ja) 2004-10-27 2012-06-20 ソニー株式会社 記憶装置
US20060106889A1 (en) * 2004-11-12 2006-05-18 Mannby Claes-Fredrik U Method, system, and program for managing revisions to a file
JP4689247B2 (ja) 2004-11-19 2011-05-25 キヤノン株式会社 カメラ及びその制御方法
KR100643287B1 (ko) 2004-11-19 2006-11-10 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법
US20060136664A1 (en) 2004-12-16 2006-06-22 Trika Sanjeev N Method, apparatus and system for disk caching in a dual boot environment
US7480654B2 (en) 2004-12-20 2009-01-20 International Business Machines Corporation Achieving cache consistency while allowing concurrent changes to metadata
US7480761B2 (en) 2005-01-10 2009-01-20 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
KR100670010B1 (ko) 2005-02-03 2007-01-19 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
US7620773B2 (en) 2005-04-15 2009-11-17 Microsoft Corporation In-line non volatile memory disk read cache and write buffer
US8812781B2 (en) 2005-04-19 2014-08-19 Hewlett-Packard Development Company, L.P. External state cache for computer processor
US7516277B2 (en) 2005-04-28 2009-04-07 Sap Ag Cache monitoring using shared memory
US20060277359A1 (en) 2005-06-06 2006-12-07 Faber Robert W Blank memory location detection mechanism
US7523256B2 (en) 2005-06-15 2009-04-21 Bea Systems, Inc. System and method for scheduling disk writes in an application server of transactional environment
JP4833595B2 (ja) 2005-06-30 2011-12-07 大和ハウス工業株式会社 脱臭機能を備えたシューズボックス
US7640398B2 (en) 2005-07-11 2009-12-29 Atmel Corporation High-speed interface for high-density flash with two levels of pipelined cache
US7634516B2 (en) 2005-08-17 2009-12-15 International Business Machines Corporation Maintaining an aggregate including active files in a storage pool in a random access medium
US7409524B2 (en) 2005-08-17 2008-08-05 Hewlett-Packard Development Company, L.P. System and method for responding to TLB misses
US7533215B2 (en) 2005-09-15 2009-05-12 Intel Corporation Distributed and packed metadata structure for disk cache
US7395401B2 (en) 2005-09-30 2008-07-01 Sigmatel, Inc. System and methods for accessing solid-state memory devices
US7409537B2 (en) 2005-10-06 2008-08-05 Microsoft Corporation Fast booting an operating system from an off state
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US20070150966A1 (en) 2005-12-22 2007-06-28 Kirschner Wesley A Method and apparatus for maintaining a secure software boundary
US7451353B2 (en) 2005-12-23 2008-11-11 Intel Corporation Cache disassociation detection
US7627713B2 (en) 2005-12-29 2009-12-01 Intel Corporation Method and apparatus to maintain data integrity in disk cache memory during and after periods of cache inaccessibility
JP2007233896A (ja) 2006-03-03 2007-09-13 Hitachi Ltd ストレージ装置及びその制御方法
EP2242058B1 (en) 2006-03-31 2014-07-16 Mosaid Technologies Incorporated Flash memory system control scheme
US7558913B2 (en) 2006-06-20 2009-07-07 Microsoft Corporation Atomic commit of cache transfer with staging area
US7512739B2 (en) 2006-07-05 2009-03-31 International Business Machines Corporation Updating a node-based cache LRU tree
JP2008052321A (ja) 2006-08-22 2008-03-06 Murata Mach Ltd ネットワークデジタル複合機
US8121977B2 (en) 2006-08-30 2012-02-21 Iwmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems
US7870336B2 (en) 2006-11-03 2011-01-11 Microsoft Corporation Operating system protection against side-channel attacks on secrecy
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US7818701B1 (en) 2006-12-22 2010-10-19 Cypress Semiconductor Corporation Memory controller with variable zone size
US20080172518A1 (en) 2007-01-11 2008-07-17 Sandisk Il Ltd. Systems For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device
CN101652758B (zh) 2007-01-26 2013-10-16 海坎普系统股份有限公司 分级式不可变内容可寻址存储器处理器
US7698506B1 (en) 2007-04-26 2010-04-13 Network Appliance, Inc. Partial tag offloading for storage server victim cache
US7945734B2 (en) 2007-08-10 2011-05-17 Eastman Kodak Company Removable storage device with code to allow change detection
US7895242B2 (en) 2007-10-31 2011-02-22 Microsoft Corporation Compressed storage management
US8190652B2 (en) 2007-12-06 2012-05-29 Intel Corporation Achieving coherence between dynamically optimized code and original code
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8082384B2 (en) * 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
US8275970B2 (en) 2008-05-15 2012-09-25 Microsoft Corp. Optimizing write traffic to a disk
US8597563B2 (en) 2008-07-11 2013-12-03 Rohm And Haas Company Recycled thermoplastic composition comprising waste thermoset material and methods of making
TWI347515B (en) 2008-09-04 2011-08-21 Asustek Comp Inc Electronic device
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
JP6236351B2 (ja) 2013-08-30 2017-11-22 アルプス電気株式会社 入力装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1421003A (zh) * 2000-03-31 2003-05-28 英特尔公司 对盘驱动事务处理采用存取日志
US20030154337A1 (en) * 2000-06-01 2003-08-14 Hiroshi Ohno Multiple operating system control method
TW200402628A (en) * 2002-03-22 2004-02-16 Intel Corp Obtaining data mask mapping information
TW200405170A (en) * 2002-05-08 2004-04-01 Intel Corp Method and system for optimally sharing memory between a host processor and graphics processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI760880B (zh) * 2020-10-07 2022-04-11 瑞昱半導體股份有限公司 與儲存裝置相關的傳輸控制電路、資料傳輸系統及操作資料傳輸系統的方法
CN114372009A (zh) * 2020-10-15 2022-04-19 瑞昱半导体股份有限公司 传输控制电路、数据传输系统及操作数据传输系统的方法

Also Published As

Publication number Publication date
US7644239B2 (en) 2010-01-05
US20170132136A1 (en) 2017-05-11
TW201227293A (en) 2012-07-01
US20120290785A1 (en) 2012-11-15
US20050246487A1 (en) 2005-11-03
CN1801121A (zh) 2006-07-12
US20100077197A1 (en) 2010-03-25
US20120005422A1 (en) 2012-01-05
KR20060047704A (ko) 2006-05-18
CN100470508C (zh) 2009-03-18
KR101044220B1 (ko) 2011-06-29
EP1594064B1 (en) 2017-11-08
EP1594064A2 (en) 2005-11-09
US10216637B2 (en) 2019-02-26
US9405693B2 (en) 2016-08-02
JP2006004407A (ja) 2006-01-05
US8041904B2 (en) 2011-10-18
US8255645B2 (en) 2012-08-28
TWI370359B (en) 2012-08-11
EP1594064A3 (en) 2007-09-12
JP2013047979A (ja) 2013-03-07
TW200608198A (en) 2006-03-01

Similar Documents

Publication Publication Date Title
TWI480732B (zh) 使用非揮發性記憶體來增進效能的方法及系統
US7610445B1 (en) System and method for improving data integrity and memory performance using non-volatile media
JP5376983B2 (ja) メモリシステム
KR101702201B1 (ko) 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭
JP5554489B2 (ja) ソリッドステートメモリ(ssm)、ssmを有するコンピュータシステム及びssm駆動方法
JP5445463B2 (ja) 計算機システム、データ保存方法およびプログラム
US9864529B1 (en) Host compatibility for host managed storage media
US8370587B2 (en) Memory system storing updated status information and updated address translation information and managing method therefor
KR20070070122A (ko) 하드 디스크 드라이브 캐시 메모리 및 재생 장치
KR20070116831A (ko) 인라인 비휘발성 메모리 디스크 판독 캐시 및 기입 버퍼
KR101303535B1 (ko) 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP6100750B2 (ja) メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置
US9081505B1 (en) Method and system for improving disk drive performance
US20090077368A1 (en) Controller for a Mass Memory and Method for Providing Data for a Start Process of a Computer
JP2010257481A (ja) データ記憶システムおよびキャッシュデータの一貫性保証方法
US20060236066A1 (en) Method for controlling a digital storage unit
JP2009086757A (ja) 情報処理装置およびファイルシステム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees