TWI534827B - 使用數個非依電性記憶體陣列管理資料之技術 - Google Patents

使用數個非依電性記憶體陣列管理資料之技術 Download PDF

Info

Publication number
TWI534827B
TWI534827B TW103144303A TW103144303A TWI534827B TW I534827 B TWI534827 B TW I534827B TW 103144303 A TW103144303 A TW 103144303A TW 103144303 A TW103144303 A TW 103144303A TW I534827 B TWI534827 B TW I534827B
Authority
TW
Taiwan
Prior art keywords
electrical memory
memory array
data
electrical
memory
Prior art date
Application number
TW103144303A
Other languages
English (en)
Other versions
TW201535409A (zh
Inventor
葛雷格B 雷斯阿特瑞
馬汀 佛汀
Original Assignee
惠普發展公司有限責任合夥企業
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 惠普發展公司有限責任合夥企業 filed Critical 惠普發展公司有限責任合夥企業
Publication of TW201535409A publication Critical patent/TW201535409A/zh
Application granted granted Critical
Publication of TWI534827B publication Critical patent/TWI534827B/zh

Links

Classifications

    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0653Monitoring storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Description

使用數個非依電性記憶體陣列管理資料之技術
本發明係有關於使用數個非依電性記憶體陣列管理資料之技術。
發明背景
記憶體裝置被使用於儲存資料。記憶體裝置可以是依電性或非依電性的。依電性記憶體裝置提供快速的資料存取,但在斷電的情況下並不會保留資料。相比之下,非依電性記憶體裝置即使當沒有電源被提供給該記憶體裝置時也可保留資料。非依電性記憶體裝置使用較長的時間來從該記憶體讀取資料和把資料寫入到該記憶體。
依據本發明之一實施例,係特地提出一種使用數個非依電性記憶體陣列管理資料的方法,其包含有:把資料從一依電性記憶體區域寫入到一第一非依電性記憶體陣列;以及把該資料的一剩餘部分從該依電性記憶體區域寫入到一第二非依電性記憶體陣列以對檢測到一事件已經發生做出回應;其中該第二非依電性記憶體陣列會比該第一非依電性記憶體陣列有一較低的寫入延遲。
100‧‧‧系統
101‧‧‧記憶體管理器
102‧‧‧依電性記憶體區域
103-1‧‧‧第一非依電性記憶體陣列
103-2‧‧‧第二非依電性記憶體陣列
104‧‧‧匯流排
200‧‧‧方法
201~202‧‧‧方塊
300‧‧‧方法
301~307‧‧‧方塊
400‧‧‧系統
401‧‧‧記憶體管理器
402‧‧‧依電性記憶體區域
403-1‧‧‧第一非依電性記憶體 陣列
403-2‧‧‧第二非依電性記憶體陣列
405‧‧‧事件檢測器
406‧‧‧記憶體模組
407‧‧‧元資料
408‧‧‧資料
409‧‧‧積體電路
500‧‧‧執行緒示意圖
502‧‧‧依電性記憶體區域
503-1‧‧‧第一非依電性記憶體陣列
503-2‧‧‧第二非依電性記憶體陣列
505‧‧‧事件檢測器
506‧‧‧記憶體模組
509-1、509-2‧‧‧寫入資料
511‧‧‧檢測到事件
512‧‧‧指出事件
513‧‧‧移動資料
514‧‧‧檢測到解決
515‧‧‧指出解決
516-1、516-2‧‧‧恢復資料
601‧‧‧記憶體管理器
617‧‧‧處理資源
618‧‧‧記憶體資源
619‧‧‧資料寫入器
620‧‧‧事件檢測器
621‧‧‧元資料移動器
622‧‧‧資料恢復器
該等附圖圖示出本文所描述之該等原理的各種實例,並且是本說明書的一部分。該等圖示出的實例並不限制該等請求項的範疇。
圖1根據本文所描述之該等原理的一實例係一使用數個非依電性記憶體陣列管理資料之系統的一示意圖。
圖2根據本文所描述之該等原理的一實例係一使用數個非依電性記憶體陣列管理資料之方法的一流程圖。
圖3根據本文所描述之該等原理的一實例係另一使用數個非依電性記憶體陣列管理資料之方法的一流程圖。
圖4根據本文所描述之該等原理的一實例係一使用數個非依電性記憶體陣列管理資料之系統的一示意圖。
圖5根據本文所描述之該等原理的一實例係使用數個非依電性記憶體陣列管理資料之一執行緒示意圖。
圖6根據本文所描述之該等原理的一實例係一使用數個非依電性記憶體陣列管理資料之記憶體管理器的一示意圖。
在該等圖示中,相同的參考號碼代表類似的,但不一定是完全相同的,元件。
較佳實施例之詳細說明
如以上所述,企業、組織、以及其他的使用者可能依賴於記憶體來儲存資料。有各種類型的記憶體,例如 依電性記憶體和非依電性記憶體。依電性記憶體可對儲存在記憶體中的該資料提供更快速的讀寫存取,但當電源從該依電性記憶體被移除時,並不保留該資料。相比之下,非依電性記憶體裝置即使當沒有電源被提供給該記憶體裝置時也可保存留記憶,但非依電性記憶體在寫入資料和讀取資料方面是較慢的。這些特徵,以及其他特徵,可指出該記憶體將如何在一計算系統中被實現。
舉例來說,依電性記憶體可以被使用來儲存要在一段短時間內做頻繁存取的資料。依電性記憶體也可以被使用來作為一快取來暫時地持有將要被寫入到另一記憶體裝置,諸如一非依電性記憶體陣列,的資料。相比之下,非依電性記憶體可以被使用來儲存長時期的資料,例如在一計算裝置的供電狀態之間。
在一具體的實例中,在資料被儲存到一非依電性記憶體陣列之前,依電性記憶體可以被使用來當作該資料的一快取。在本實例中,該非依電性記憶體陣列會操作的比該依電性記憶體慢。因此,該資料可以被快取在該依電性記憶體中來降低該非依電性記憶體陣列明顯的寫入延遲。然而,雖然在依電性記憶體和非依電性記憶體之間的這種相互作用會是有利的,但某些低效率仍然會困擾它的使用。
舉例來說,如以上所述之依電性記憶體在無電源的情況下不會保留資料。因此,已被快取在該依電性記憶體中並且還沒有被移動到一非依電性記憶體陣列的資料可 能會在一電源故障的情況下被遺失。同樣地,儲存在該依電性記憶體中的其他資料,諸如狀態資訊和其他的元資料可能會被遺失。當元資料被遺失時,一計算裝置可能無法存取與該元資料相關聯的該資料,或者可能無法處理該資料。
因此,本發明描述了使用數個非依電性記憶體陣列管理資料之系統和方法。更具體地說,本發明描述了系統和方法,其允許一記憶體管理裝置在操作期間可在一快速的依電性記憶體區域內維持一資料量。在操作期間,在該依電性記憶體區域中的該資料可以不時地被傳遞到一第一非依電性記憶體陣列。在電力中斷的情況下,諸如一電源線從一計算裝置處被拔起,或是故障的電力纜線,在該依電性記憶體區域中所保留的該資料可以被移動到一第二非依電性記憶體陣列,其相比於該第一非依電性記憶體陣列可產生一更快的寫入操作。因為這第二非依電性記憶體陣列會比該第一非依電性記憶體陣列產生一更快的寫入操作,遺失資料的可能性可被降低。
本發明描述了一種使用數個非依電性記憶體陣列管理資料之方法。該方法可包括把資料從一依電性記憶體區域寫入到一第一非依電性記憶體陣列。該方法還可以包括把該資料的一剩餘部分從該依電性記憶體區域寫入到一第二非依電性記憶體陣列,以對檢測出一事件已經發生做出回應。該第二非依電性記憶體陣列會比該第一非依電性記憶體陣列有一較低的寫入延遲。
本發明描述了一種使用數個非依電性記憶體陣列管理資料之系統。該系統可包括把資料從一依電性記憶體區域寫入到一第一非依電性記憶體陣列。該系統可以包括一依電性記憶體區域、一第一非依電性記憶體陣列、和一第二非依電性記憶體陣列。該系統還可以包括一記憶體管理器以把資料從該依電性記憶體寫入到一第一非依電性記憶體陣列和把剩餘的資料從該依電性記憶體區域寫入到一第二非依電性記憶體陣列,以對檢測出一事件已經發生做出回應。該第二非依電性記憶體陣列會比該第一非依電性記憶體陣列有一較低的寫入延遲。
本發明描述了一種使用數個非依電性記憶體陣列管理資料之電腦程式產品。該電腦程式產品可以包括一電腦可讀取儲存媒體。該電腦可讀取儲存媒體可以包括電腦可使用程式碼。該電腦可使用程式碼可以包括電腦可使用的程式碼,當其由一處理器來執行時,可把資料從一依電性記憶體區域寫入到一第一非依電性記憶體陣列。該電腦可使用程式碼也可包括電腦可使用的程式碼,當其由一處理器來執行時,可把該資料的一剩餘部分從該依電性記憶體區域寫入到一第二非依電性記憶體陣列,以對檢測到一事件已經發生做出回應。該電腦可使用程式碼也可包括電腦可使用的程式碼,當其由一處理器來執行時,在該事件解決時恢復該資料。該第二非依電性記憶體陣列會比該第一非依電性記憶體陣列有一較低的寫入延遲。該資料的剩餘部分可以是未被寫入到該第一非依電性記憶體陣列的 該部分資料。
如在本說明書和所附請求項中所使用的,術語「事件」可以指任何的發生,在其資料擬被快速地從一依電性記憶體區域移動到一非依電性記憶體陣列。事件的實例包括在一計算裝置被關掉所在的一安全性漏洞。另一實例包括任何類型的電源中斷,諸如一電源短路或其他種電源中斷的斷電。
此外,如在本說明書和所附請求項中所使用的,術語「剩餘部分」可以指尚未從該依電性記憶體區域寫入到該第一非依電性記憶體陣列之部分資料。
再者,如在本說明書和所附請求項中所使用的,術語「數個」或類似的說法可包括任何的正數,包括1到無窮大;零不是一數,而是缺少一數。
在以下的描述中,為了解釋的目的,許多特定的細節被闡述以便對呈現的系統和方法提供一種徹底的理解。然而,對於本領域之習知技藝者將顯而易見的是,該等呈現的裝置、系統、和方法可以在沒有這些具體細節的情況下被實現。在本說明書中對「一實例」的參考或類似的說法意指所描述之一特定的功能、結構、或特徵至少被包含在那一實例中,但不一定被包含在其他的實例中。
現在參見該等圖示,根據本文所描述之該等原理的一實例,圖1係一使用數個非依電性記憶體陣列(103)管理資料之系統(100)的一示意圖。該系統(100)可以被使用在任何資料處理情境中。此外,該系統(100)可以被使用在一網 路設置中。再者,該系統(100)可以被使用在一單一計算裝置中。在這種情況下,一單一計算裝置可利用該等數個非依電性記憶體陣列(103)來讀取資料、寫入資料、或以其他方式管理資料。該記憶體管理器(101)可以是通用電腦的一部分。然而,在替代的實例中,該記憶體管理器(101)是一應用特定積體電路的一部分。
為了實現其所需的功能,該系統(100)可以包括各種硬體組件。在這些硬體組件中可以是在其他硬體組件中的一記憶體管理器(101)。這些硬體組件可以透過數個匯流排和/或網路連接被相互連接。在一實例中,相互連接數個這些裝置的該等數個匯流排可以由參考號碼(104)來表示。換句話說,參考號碼(104)可指定一連接並且可不指定一特定數量的連接。
該記憶體管理器(101)可以包括硬體架構來檢索可執行碼,並執行該可執行碼。該可執行碼,當由該記憶體管理器(101)來執行時,可致使該記憶體管理器(101)至少實現使用數個非依電性記憶體陣列(103)管理資料的功能,根據本說明書在這裡所描述之該等方法。在執行程式碼的過程中,該記憶體管理器(101)可以接收來自數個其餘硬體單元的輸入並對其提供輸出。
該系統(100)可以儲存資料,諸如可由該記憶體管理器(101)或其他處理裝置所執行的可執行程式碼。如將要被討論的,該系統(100)可以具體地儲存數個應用程式,該記憶體管理器(101)會執行其以至少實現在本文中所描述 的功能。有關於可執行碼之檢索、執行、和儲存的更多詳細細節將在以下結合圖6進行說明。
該系統(100)可以包括各種類型的記憶體,包括一依電性記憶體區域(102)和數個非依電性記憶體陣列(103)。該依電性記憶體區域(102)可以是使用電源來儲存資訊之任何類型的記憶體。當該電源從該依電性記憶體區域(102)被斷開時,儲存在其中的該資料會被遺失。一依電性記憶體區域(102)的實例可包括採用一種雙列直插式記憶體模組(DIMM)的動態隨機存取記憶體(DRAM)。該依電性記憶體區域(102)可以儲存中間資料。舉例來說,該依電性記憶體區域(102)可充當一快取,暫時地保存將要被儲存在該第一非依電性記憶體陣列(103A)中的資料。
該依電性記憶體區域(102)也可以儲存與該系統(100)要使用之資料相關聯的元資料。舉例來說,該依電性記憶體區域(102)可以包括狀態資訊。該依電性記憶體區域(102)也可包括其他的元資料。舉例來說,該依電性記憶體區域(102)可以包括用以指出在記憶體內重新映射資料位置的位元和如何檢索該重新映射資料的指令。在另一實例中,該依電性記憶體區域(102)可包括被使用在一耗損均衡過程中的資訊。舉例來說,在某些情況下,記憶體之內的某些特定位元可能會比在記憶體內的其他位元有更多次的寫入操作。如此過多的寫入可能會使那些特定位元比起在記憶體中的其他位元會有更快速的耗損。一耗損均衡過程可以記錄寫入資訊,並相應地,可以調整資料被寫入的地 方以確保寫入係大概地均勻分佈在整個記憶體上。一耗損均衡過程中所使用的資訊會經常地並且迅速地變化。因此,這種耗損均衡資訊可以被儲存在該依電性記憶體區域(102)中,使得它可以被快速地存取。可以被儲存在該依電性記憶體區域(102)中元資料的其他例子包括資料結構資訊和在記憶體中資料位置的資訊。
使用一依電性記憶體區域(102)會是有利的,因為它對特定類型的資料和元資料提供了快速的存取,諸如中間資料、快取資料、元資料、和會被重複存取的資料、和其他類型的資料和元資料。該依電性記憶體區域(102)所提供的快速存取可以提高整體系統(100)的效能。
該系統還可以包括數個非依電性記憶體陣列(103-1、103-2)。非依電性記憶體指的是無需電源就可以儲存資料的記憶體。舉例來說,在一種斷電的事件下,被寫入到該等非依電性記憶體陣列(103-1、103-2)中的資料仍然可以在電源恢復時被存取。在一些實例中,該第一非依電性記憶體陣列(103-1)、該第二非依電性記憶體陣列(103-2)、或它們的組合,可以是憶阻器陣列。
一憶阻器可以是一電路元件,其維持了跨越一兩端元件之電流和電壓的該等時間積分之間的關係。採用一憶阻器陣列作為一非依電性記憶體陣列(103)會是有益的,因為它致使該系統(100)可以提供類似於一依電性記憶體(102)的裝置的存取延遲,同時提供資料儲存所期望的該非依電性。另外,使用非依電性記憶體陣列(103)會是有益的, 因為它們可以提供持久性的資料儲存。在其他的實例中,在本文中所描述的該等系統和方法可以以其他類型的持久性記憶體和儲存裝置,諸如硬碟(HDD)和固態硬碟(SSD)來實現。非依電性記憶體(103)的一實例可以包括唯讀記憶體(ROM)和硬碟(HDD)記憶體。同樣地,該非依電性記憶體(103)可以是雙列直插式記憶體模組(DIMM)。
許多其他類型的記憶體也可被使用,並且本說明書考慮在該系統(100)中使用許多不同類型的記憶體,因為可適合本文所描述之該等原理的特定應用。在某些實例中,在該系統(100)中不同類型的記憶體可被使用於不同的資料儲存需求。
該非依電性記憶體陣列(103)可具有不同的特性來進行不同的功能。舉例來說,非依電性記憶體陣列(103)可具有提供大儲存容量的特性,同時提供類似於DRAM的寫入速度。相比之下,非依電性記憶體陣列(103)可被設計成提供更快速的寫入操作。換句話說,非依電性記憶體陣列(103)可被設計成具有比其他非依電性記憶體陣列(103)還要低的寫入延遲。一種被設計成具有較低寫入延遲的非依電性記憶體陣列(103)會比可提供較大儲存容量的一種非依電性記憶體陣列(103)要小。可供選擇之非依電性記憶體陣列(103)的其他特徵包括資料格式、該非依電性記憶體陣列(103)的耐久性、該非依電性記憶體陣列(103)的儲存密度、和該非依電性記憶體陣列(103)的功耗,以及其他的記憶體特性。
如以上所述,該系統(100)可包括一第一非依電性記憶體陣列(103-1)和一第二非依電性記憶體陣列(103-2)。在一些實例中,該第一非依電性記憶體陣列(103-1)和該第二非依電性記憶體陣列(103-2)可具有不同的特性。更具體地說,該第二非依電性記憶體陣列(103-2)相對於該第一非依電性記憶體陣列(103-1)可具有一較低的寫入延遲。舉例來說,該第二非依電性記憶體陣列(103-2)可具有比該第一非依電性記憶體陣列(103-1)還要小的一種容量。在另一實例中,該第二非依電性記憶體陣列(103-2)可實現一寫入程式碼其快過該第一非依電性記憶體陣列(103-1)所使用的一寫入程式碼。舉例來說,資料可以以一種較慢、更受控制的方式來被寫入到該第一非依電性記憶體陣列(103-1),以確保該資料的完整性。相比之下,資料可被更迅速地寫入到該第二非依電性記憶體陣列(103-2),以確保該資料在斷電之前被寫入到該陣列中。在又另一實例中,該第二非依電性記憶體陣列(103-2)可比該第一非依電性記憶體陣列(103-1)有較小的密度。
類似地,該第一非依電性記憶體陣列(103-1)相對於該第二非依電性記憶體陣列(103-2)可產生一更大的儲存容量。該第一非依電性記憶體陣列(103-1)也可以相對於該第二非依電性記憶體陣列(103-2)產生更大的耐久性。也就是說,該第一非依電性記憶體陣列(103-1)可被設計成在該等記憶體位元耗損和效能降低之前可允許較多次的記憶體寫入。
包含有一些具不同特性之非依電性記憶體陣列(103-1、103-2)會是有益的,因為當資料將從該依電性記憶體區域(102)被迅速地移出時,該第二非依電性記憶體陣列(103-2)會被使用,諸如在一電源中斷的該事件中。在這種情況下,該第二非依電性記憶體陣列(103-2)可以防止當電源斷電時可能導致的資料遺失。舉例來說,如果沒有該第二非依電性記憶體陣列(103-2)的話,尚未被移動到該第一非依電性記憶體陣列(103-1)之被快取在該依電性記憶體區域(102)中的該資料可能會由於與該第一非依電性記憶體陣列(103-1)相關聯之該緩慢寫入過程而被遺失。實現該第二非依電性記憶體陣列(103-2),其具有較低的寫入延遲,可以捕獲該資料,否則其將被遺失。換句話說,該第二非依電性記憶體陣列(103-2)較快的寫入過程會在一電源中斷的事件下增加移動到非依電性記憶體的該資料量。
更進一步地說,該第二非依電性記憶體陣列(103-2)的實現可能會降低該系統(100)的成本。舉例來說,該系統(100)可以包括數個組件,諸如該系統(100)在一電源中斷和斷電之間建立延遲的電容器。這種延遲可以是一警告期間,在此期間,資料是從該依電性記憶體區域(102)向非依電記憶體傳遞的。這些電容器代表該系統(100)的一種製造成本。使用具較低寫入延遲之該第二非依電性記憶體陣列(103-2)可以減少該警告期間,並且相應地減少該等電容器的數量。這種在該電容器數量上的減少可以反映在該系統(100)成本的降低。
雖然圖1描繪了一單一第一非依電性記憶體陣列(103-1)和一單一第二非依電性記憶體陣列(103-2),但任何數量任何類型的非依電性記憶體陣列(103-1、103-2)可根據本文所描述的該等原理來被實現。
通常來說,該系統(100)可以包括一電腦可讀取媒體、一電腦可讀取儲存媒體、或一非暫時性電腦可讀取媒體、等等。在本說明書的該環境中,一電腦可讀取儲存媒體可以是任何有形的媒體,其可包含,或者儲存一程式,其可由一指令執行系統、裝置、或裝置來使用或連接。在另一實例中,一電腦可讀取儲存媒體可以是任何非暫時性的媒體,其可包含,或者儲存一程式,其可由一指令執行系統、裝置、或裝置來使用或連接。如本文所描述的該系統(100)會是有利的,因為藉由提供一較快的非依電性記憶體陣列(103-2),在其中資料可在一斷電的事件中可被迅速地寫入,以在操作期間讓更多的資料可被維持在一快速的依電性記憶體區域(102)。
圖2根據本文所描述之該等原理的一實例,係一使用數個非依電性記憶體陣列(圖1,103)管理資料之方法(200)的一流程圖。該方法(200)可以包括把資料從一依電性記憶體區域(圖1,102)寫入(方塊201)到一第一非依電性記憶體陣列(圖103-1)。如以上所述,依電性記憶體可以指在一電源中斷的事件中不會保留資料的記憶體。一依電性記憶體區域(圖1,102)可被使用來臨時地保存資料。舉例來說,該依電性記憶體區域(圖1,102)可以是一快取,用以儲 存之後將被寫入到一非依電性記憶體區域(圖1,103)的資料。該依電性記憶體區域(圖1,102)也可以持有會被重覆存取或反覆更新的資訊。舉例來說,在一短時期內會多次改變之耗損級別的狀態資訊可以被包含在該依電性記憶體區域中(圖1,102)。可被包含在該依電性記憶體區域(圖1,102)之資料的其他實例包括狀態資訊和與在該依電性記憶體區域(圖1,102)資料相關聯之其他的元資料。
該記憶體管理器(圖1,101)可以把該資料的一剩餘部分從該依電性記憶體區域(圖1,102)寫入到(方塊202)一第二非依電性記憶體區域(圖1,103-2)以對檢測到一事件已發生做出回應。舉例來說,該記憶體管理器(圖1,101)可以檢測到一事件已發生。如本文所使用的,一事件可以包括電源從該系統(圖1,100)被移除之任何的情況。舉例來說,在一種安全性破壞的該事件下,電源可從該系統(圖1,100)被移除,以防止未經授權的資料存取。在另一實例中,電路和佈線可能無法提供足夠的電源給該系統(圖1,100)。事件的其他的實例包括供電中斷、與一電源失去連接,和會導致電源會從該系統(圖1,100)被移除的其他事件。在一些實例中,該系統(圖1,100)可包括數個機制來檢測一事件,諸如一電源故障檢測機制、一下降電壓檢測機制、一組件故障檢測機制、一斷路器翻蓋檢測機制、和其他類型的事件檢測機制。
在一事件未發生的情況下,該記憶體管理器(圖1,101)可把資料移動到一第一非依電性記憶體陣列(圖1, 103-1)。如以上所述,該第一非依電性記憶體陣列(圖1,103-1)可被最佳化來產生相對於該第二非依電性記憶體陣列(圖1,103-2)有更大的記憶體儲存量和更佳的耐久性。
在一事件已發生的情況下,該記憶體管理器(圖1,101)可以把該資料的該剩餘部分寫入(方塊202)到一第二非依電性記憶體陣列(圖1,103-2)。該資料的該剩餘部分可以是尚未被寫入(方塊201)到該第一非依電性記憶體陣列(圖1,103-1)的那部份。如以上所述,該第二非依電性記憶體陣列(圖1,103-2)會比該第一非依電性記憶體陣列(圖1,103-1)有一較低的寫入延遲。如此較低的寫入延遲可以包括設計該第二非依電性記憶體陣列(圖1,103-2)使之具有比該第一非依電性記憶體陣列(圖1,103-1)要小的一容量、實現一比該第一非依電性記憶體陣列(圖1,103-1)更快速的寫入格式、和比該第一非依電性記憶體陣列(圖1,103-1)要小的密度、以及其他的設計標準。
實現數個非依電性記憶體陣列(圖1,103)會是有利的,因為它可以減少一警告期間的持續時間,在此期間,資料是從該依電性記憶體區域(圖1,102)被移出。舉例來說,僅使用該第一非依電性記憶體陣列(圖1,103-1),其被最佳化來提供更大的儲存容量並且實現一較慢的寫入過程,可能需要一較長的警告期間來把該資料從該依電性記憶體區域(圖1,102)移動到該第一非依電性記憶體陣列(圖1,103-1)。
相比之下,使用該第二非依電性記憶體陣列(圖 1,103-2),其具一較低的寫入延遲,來在檢測到一事件時接收資訊,可以減少把資料從該依電性記憶體區域(圖1,102)移動到該第二非依電性記憶體陣列(圖1,103-2)所需要之該警告期間的持續時間。如此減少該警告期間可減少在一系統(圖1,100)中用來促成如此一警告期間的該等組件數量,因此可以降低該系統(圖1,100)的成本。
圖3根據本文所描述之該等原理的一實例,係另一使用數個非依電性記憶體陣列(圖1,103)管理資料之方法(300)的一流程圖。該方法(300)可以包括把資料從一依電性記憶體區域(圖1,102)寫入(方塊301)到一第一非依電性記憶體陣列(圖103-1)。這可如同在圖2中所描述的方式被執行。該記憶體管理器(圖1,101)可判定(方塊302)一事件是否已經發生。這可如同在圖2中所描述的方式被執行。如果一事件並未發生(方塊302,判定為否),則該記憶體管理器(圖1,101)可以把該資料寫入(方塊303)到一第一非依電性記憶體陣列(圖1,103-1)。如果一事件已經發生,(方塊302,判定為是),則該記憶體管理器(圖1,101)可以把該資料的一剩餘部分寫入(方塊304)到一個第二非依電性記憶體陣列(圖1,103-2)。這可如同在圖2中所描述的方式被執行。
該記憶體管理器(圖1,101)也可以把對應於該資料的元資料寫入(方塊305)到該第二非依電性記憶體陣列(圖1,103-2)。如以上所述,該元資料可以是狀態資訊,或者是被用於處理資料的其他資料。舉例來說,元資料可以包括有關於該資料結構之設計和規格的資訊。元資料還可 以包括有關於資料之各個實例的資訊。在一些實例中,元資料可包括有關於當該事件被解決時已被移動到該第二非依電性陣列(圖1,103-2)的資料應該被移至到那裡的資訊。可被移動到該第二非依電性記憶體陣列(圖1,103-2)之元資料的具體實例包括被一計算裝置用來處理和執行該資料的狀態資訊。可被包括之元資料的另一實例是耗損均衡資料,其指出該記憶體所執行之寫入操作的數量。這樣的資訊,如果沒有被儲存在非依電性記憶體中,則會導致該計算裝置在該資料返回到該依電性記憶體區域(圖1,102)時無法處理該資料。
在一些實例中,該記憶體管理器(圖1,101)可以檢測出(方塊306)該事件的解決。舉例來說,該記憶體管理器(圖1,101)可以檢測到電源已被恢復到被通信耦合到系統(圖1,100)的該計算裝置。在一些實例中,該系統(圖1,100)可包括數個機制,以檢測何時一事件已被解決。在這些實例中,該事件檢測機制可以檢測一事件已被解決,如電源正被恢復到該系統(圖1,100)。
一旦該事件已解決,該記憶體管理器(圖1,101)可以恢復(方塊307)資料、元資料、或它們的組合。更具體地說,一旦該事件已解決,該記憶體管理器(圖1,101)會把資料和元資料從該第二非依電性記憶體陣列(圖1,103-2)移動到該第一非依電性記憶體陣列(圖1,103-1)。舉例來說,如以上所述,當一事件被檢測到時,該記憶體管理器(圖1,101)可把被快取在該依電性記憶體區域(圖1,102)且目 的地為該第一非依電性記憶體陣列(圖1,103-1)的資料移動到該第二非依電性記憶體區域(圖1,103-2)。一旦該事件已解決,這個資料可以被恢復到它在該第一非依電性記憶體陣列(圖1,103-1)的目的位置。
類似地,一旦該事件已解決,該記憶體管理器(圖1,101)會把資料、元資料、或它們的組合從該第二非依電性記憶體陣列(圖1,103-2)移動到該依電性記憶體區域(圖1,102)。舉例來說,如以上所述,當檢測到一事件時,該記憶體管理器(圖1,101)可把被儲存在該依電性記憶體區域(圖1,102)之狀態資訊資料移動到該第二非依電性記憶體區域(圖1,103-2)。一旦該事件已解決,該記憶體管理器(圖1,102)可以把此資料移動回到該依電性記憶體區域(圖1,102)。
圖4根據本文所描述之該等原理的一實例,係一使用數個非依電性記憶體陣列(403)管理資料之系統(400)的一示意圖。如以上所述,該系統(400)可包括一記憶體管理器(401),其管理在該依電性記憶體區域(402)和該等數個非依電性記憶體陣列(403)之間資料(408)和元資料(407)的該移動。在這個實例中,該記憶體管理器(401)可以包括一事件檢測器(405)。該事件檢測器(405)可以檢測到一事件,諸如斷電或其他的電源中斷已經發生。類似地,該事件檢測器(405)可以檢測何時該事件已被解決。舉例來說,該事件檢測器(405)可檢測出電源已經被恢復。
該記憶體管理器(401)還可以包括一記憶體模組 (406),其管理在該依電性記憶體區域(402)和該等數個非依電性記憶體陣列(403)之間資料(408)和元資料(407)的該移動。舉例來說,在運作的情況下,即,並沒有像是一電源故障的事件已經發生,該記憶體模組(406)可在該依電性記憶體區域(402)和該第一非依電性記憶體陣列(403-1)之間移動資料(408)和元資料(407)。如果一事件已發生,該記憶體模組(406)可以把資料(408)和元資料(407)從該依電性記憶體區域(402)移動到該第二非依電性記憶體陣列(403-2)。一旦該事件已解決,該記憶體模組(406)可以把資料(408)和元資料(407)從該第二非依電性記憶體陣列(403-2)移動到該第一非依電性記憶體陣列(403-1)、該依電性記憶體區域(402)、或它們的組合。正如在圖4中所示,在一些實例中,該第一非依電性記憶體陣列(403-1)和該第二非依電性記憶體陣列(403-2)可以位於一單一積體電路(409)上。在這個實例中,該記憶體管理器(401)可以透過一單一介面同時存取該第一非依電性記憶體陣列(403-1)和該第二非依電性記憶體陣列(403-2)。因此,該第一非依電性記憶體陣列(403-1)和該第二非依電性記憶體陣列(403-2)可基於記憶體位址來做區分。
圖5根據本文所描述之該等原理的一實例,係使用數個非依電性記憶體陣列(503)管理資料(圖4,408)的一執行緒示意圖(500)。首先,該記憶體模組(506)可把資料(圖4,408)和元資料(圖4,407)寫入(509-1)到該依電性記憶體區域(502)。該記憶體模組(506)也可以把資料(圖4,408)和 元資料(圖4,407)寫入(509-2)到該第一非依電性記憶體陣列(503-1)。該事件檢測器(505)可以檢測(511)一事件,並且可以指示(512)該記憶體模組(506)通知一事件已經發生。儘管該電力即將喪失,該記憶體模組(506)可以把該資料(圖4,408)和元資料(圖4,407)移動(513)到該第二非依電性記憶體陣列(503-2)來保留該資料(圖4,408)和元資料(圖4,407)。然後該事件檢測器(505)可以檢測(514)該事件的解決,並且可以指示(515)該記憶體模組(506)通知該事件已得到解決。該記憶體模組(506)可以恢復(516-1)該資料(圖4,408)和元資料(圖4,407)到該第一非依電性記憶體陣列(503-1)。該記憶體模組(506)也可以恢復(516-2)該資料(圖4,408)和元資料(圖4,407),到該依電性記憶體區域(502)。
圖6根據本文所描述之該等原理的一實例,係一使用數個非依電性記憶體陣列(圖1,103)管理資料(圖4,408)之記憶體管理器(601)的一示意圖。該記憶體管理器(601)可以包括該硬體架構來檢索可執行碼並且執行該可執行碼。該可執行碼,在由該記憶體管理器(601)來執行時,可致使該記憶體管理器(601)至少實現使用數個非依電性記憶體陣列(圖1,103)管理資料(圖4,408)的功能,根據本說明書在此所描述之該等方法。在執行程式碼的過程中,該記憶體管理器(601)可以接收來自數個其餘硬體單元的輸入並對其提供輸出。
在這個實例中,該記憶體管理器(601)可以包括處理資源(617),其與記憶體資源(618)進行通信。處理資源 (617)可包括至少一處理器和被用來處理編程指令的其他資源。該記憶體資源(618)總體上代表能夠儲存資料的任何記憶體,資料諸如由該記憶體管理器(601)所使用之編程指令或資料結構。所示出儲存在該等記憶體資源(618)中的該等編程指令可以包括一資料寫入器(619)、一事件檢測器(620)、一元資料移動器(621)、以及一資料恢復器(622)。
該等記憶體資源(618)包括一電腦可讀取儲存媒體,其包含有電腦可讀取程式碼,可致使任務將由該等處理資源(617)來執行。該電腦可讀取儲存媒體可以是有形的和/或實體的儲存媒體。該電腦可讀取儲存媒體可以是任何適當之非傳輸儲存媒體的儲存媒體。一種電腦可讀取儲存媒體類型的非窮舉列表包括非依電性記憶體、依電性記憶體、隨機存取記憶體、唯寫記憶體、快閃記憶體、電子可抹除可程式化唯讀記憶體、或記憶體的類型、或其組合。
該資料寫入器(619)表示編程的指令,當其被執行時,致使該等處理資源(617)把資料(圖4,408)從一依電性記憶體區域(圖1,102)寫入到一第一非依電性記憶體陣列(圖1,103-1)。該資料寫入器(619)還可以把該資料的一剩餘部分寫入到一第二非依電性記憶體區域(圖1,103-2)以對檢測到一事件已發生做出回應。該事件檢測器(620)表示編程的指令,當其被執行時,會致使該等處理資源(617)檢測是否一事件已發生。該事件檢測器(620)也表示編程的指令,當其被執行時,會致使該等處理資源(617)檢測該事件的解決。該元資料移動器(621)表示編程的指令,當其被執行時, 會致使該等處理資源(617)把對應於資料(圖4,408)的元資料(圖4中,407)移動到該第二非依電性記憶體陣列(圖1,103-2)。該元資料移動器(621)可以由該記憶體模組(圖4,406)來實現。該資料恢復器(622)表示編程指令,當其被執行時,會致使該等處理資源(617)恢復該資料(圖4,408)、該元資料(圖4,407)、或它們的組合。該資料恢復器(622)可以由該記憶體模組(圖4,406)來實現。恢復該等資料(圖4,408)、元資料(圖4,407)、或它們的組合可以包括把該資料(圖4,408)、該元資料(圖4,407)、或它們的組合移動到該依電性記憶體區域(圖1,102)、該第一非依電性記憶體陣列(圖1,103-1)、或它們的組合。
此外,該等記憶體資源(618)可以是一安裝套件的一部分。對安裝該安裝套件做出回應,該等記憶體資源(618)的該等編程指令可從該安裝套件的來源處被下載,諸如一可攜式媒體、一伺服器,一遠端網路位置、另一位置、或它們的組合。與本文所描述之該等原理相容之可攜式記憶體媒體包括DVD、CD、快閃記憶體、可攜式磁碟、磁碟、光碟、其他形式的可攜式記憶體,或其組合。在其他的實例中,該等程式指令已經被安裝。在這裡,該等記憶體資源可以包括積體化的記憶體,諸如一硬碟、一固態硬碟、或類似物。
在一些實例中,該等處理資源(617)和該等記憶體資源(618)位於相同的實體組件內,諸如一伺服器、或一網路組件。該等記憶體資源(618)可以是該實體組件的主記 憶體、快取、暫存器、非依電性記憶體、或在該實體組件之記憶體層次結構中其他地方的一部分。可替代地,該等記憶體資源(618)可與該等處理資源(617)透過一網路進行通信。此外,該等資料結構,諸如該等函式庫,可以透過一網路連線從一遠端位置被存取,而該等編程的指令都位於本地。因此,該記憶體管理器(601)可以被實現在一使用者裝置上、在一伺服器上、在一群伺服器上、或它們的組合。
根據本文所描述之該等原理的實例,本呈現系統和方法的各個方面在本文中係以參照方法、裝置(系統)和電腦程式產品之流程圖和/或方塊圖的方式來被描述。該等流程圖和方塊圖的每一方塊,以及在該等流程圖和方塊圖中方塊的組合,可由電腦可使用程式碼來實現。該電腦可使用程式碼可被提供給一通用電腦、專用電腦、或其他可編程資料處理裝置的一處理器以產生出一機器,使得該電腦可使用程式碼,當其透過,舉例來說,該等處理資源執行(617)或其他可編程資料處理裝置來執行時,可實現在該等流程圖和/或方塊圖方塊或數個方塊中所指定的該等功能或動作。在一實例中,該電腦可使用程式碼可以被具體實現在一電腦可讀取儲存媒體內;該電腦可讀取儲存媒體可以是該電腦程式產品的一部分。在一實例中,該電腦可讀取儲存媒體是一非暫時性的電腦可讀取媒體。
使用數個非依電性記憶體陣列管理資料的方法和系統可具有數個優點,其包含有:(1)面臨電源中斷時增 加資料的存活性;(2)維持一降低的明顯延遲;(3)提高系統效能;(4)克服與非依電性記憶體之較慢寫入操作相關聯的障礙;以及(5)減少記憶體系統的成本和對應的計算裝置。
前面的描述已經被呈現來說明和描述該等被描述之原理的實例。本說明並不旨在窮盡列舉或把這些原理限制為所揭露之任何精確的形式。啟發於上述的教導,許多的修改和變化是有可能的。
100‧‧‧系統
101‧‧‧記憶體管理器
102‧‧‧依電性記憶體區域
103-1‧‧‧第一非依電性記憶體陣列
103-2‧‧‧第二非依電性記憶體陣列
104‧‧‧匯流排

Claims (15)

  1. 一種使用數個非依電性記憶體陣列管理資料的方法,其包含有:把資料從一依電性記憶體區域寫入到一第一非依電性記憶體陣列;以及把該資料的一剩餘部分從該依電性記憶體區域寫入到一第二非依電性記憶體陣列以對檢測到一事件已經發生做出回應;其中該第二非依電性記憶體陣列會比該第一非依電性記憶體陣列有一較低的寫入延遲。
  2. 如請求項1之方法,其中該第二非依電性記憶體陣列會比該第一非依電性記憶體陣列有一較小的容量。
  3. 如請求項1之方法,其中該第二非依電性記憶體陣列實現一第二寫入程式碼,其會比由該第一非依電性記憶體陣列所實現的一第一寫入程式碼要快。
  4. 如請求項1之方法,其中該第二非依電性記憶體陣列比起該第一非依電性記憶體陣列比較不密。
  5. 如請求項1之方法,其中該第一非依電性記憶體陣列相對於該第二非依電性記憶體陣列會產生出一較大的儲存容量。
  6. 如請求項1之方法,其中該第一非依電性記憶體陣列相對於該第二非依電性記憶體陣列會產生出較大耐久性。
  7. 如請求項1之方法,更包含有把對應於該資料的元資料 移動到該第二非依電性記憶體陣列。
  8. 如請求項1之方法,其中該事件包括一發生,在發生時資料被意圖要從該依電性記憶體區域被移動到該第二非依電性記憶體陣列。
  9. 如請求項7之方法,更包含有一旦該事件解決時,恢復該資料、該元資料、或它們的組合。
  10. 一種使用數個非依電性記憶體陣列管理資料的系統,其包含有:依電性記憶體;一第一非依電性記憶體陣列;一第二非依電性記憶體陣列;以及一記憶體管理器來:把資料從該依電性記憶體寫入到該第一非依電性記憶體陣列;以及把剩餘的資料從該依電性記憶體區域寫入到該第二非依電性記憶體陣列以對檢測到一事件已經發生做出回應;其中該第二非依電性記憶體陣列會比該第一非依電性記憶體陣列有一較低的寫入延遲。
  11. 如請求項10之系統,其中該第一非依電性記憶體陣列、該第二非依電性記憶體陣列、或它們的組合是憶阻器陣列。
  12. 如請求項10之系統,更包含有一事件檢測器來檢測該事件,並基於該檢測到的事件指示該記憶體管理器把資料 寫入到該第二非依電性記憶體陣列。
  13. 如請求項10之系統,其中該第一非依電性記憶體陣列和該第二非依電性記憶體陣列係位於一單一積體電路上。
  14. 一種使用數個非依電性記憶體陣列管理資料的電腦程式產品,該電腦程式產品包含有:一電腦可讀取儲存媒體,其包含有具體實現在其中的電腦可使用程式碼,該電腦可使用程式碼包含有:電腦可使用程式碼,當由一處理器來執行時,會把資料從一依電性記憶體區域寫入到一第一非依電性記憶體陣列;電腦可使用程式碼,當由該處理器來執行時,會把該資料的一剩餘部分從該依電性記憶體區域寫入到一第二非依電性記憶體陣列以對檢測到一事件已經發生做出回應;以及電腦可使用程式碼,當由該處理器來執行時,會在該事件解決時恢復該資料;其中該第二非依電性記憶體陣列會比該第一非依電性記憶體陣列有一較低的寫入延遲,並且其中該資料的該剩餘部分是尚未被寫入到該第一非依電性記憶體陣列之部分資料。
  15. 如請求項14之電腦程式產品,其中恢復該資料包括把該資料移動到該第一非依電性記憶體陣列、依電性記憶體、或其組合。
TW103144303A 2014-01-30 2014-12-18 使用數個非依電性記憶體陣列管理資料之技術 TWI534827B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/013849 WO2015116100A1 (en) 2014-01-30 2014-01-30 Managing data using a number of non-volatile memory arrays

Publications (2)

Publication Number Publication Date
TW201535409A TW201535409A (zh) 2015-09-16
TWI534827B true TWI534827B (zh) 2016-05-21

Family

ID=53757507

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103144303A TWI534827B (zh) 2014-01-30 2014-12-18 使用數個非依電性記憶體陣列管理資料之技術

Country Status (3)

Country Link
US (1) US10318205B2 (zh)
TW (1) TWI534827B (zh)
WO (1) WO2015116100A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017091197A1 (en) * 2015-11-23 2017-06-01 Hewlett Packard Enterprise Development Lp Cache manager-controlled memory array
US10140478B2 (en) * 2015-11-25 2018-11-27 Dell Products L.P. Information handling system port fluidic component manager
US10591902B2 (en) * 2016-01-03 2020-03-17 Purdue Research Foundation Microcontroller energy management system
US10163508B2 (en) 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US10210056B2 (en) * 2016-03-31 2019-02-19 Netapp, Inc. Methods for filesystem metadata caching to improve failover performance and devices thereof
US10671134B2 (en) 2018-01-10 2020-06-02 International Business Machines Corporation Memory modules with secondary, independently powered network access path

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728851B1 (en) * 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6795890B1 (en) * 1999-02-19 2004-09-21 Mitsubishi Denki Kabushiki Kaisha Data storage method, and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory
CA2511004C (en) * 2002-12-23 2015-07-21 Power Measurement Ltd. Power monitoring integrated circuit with communication interface
US7730335B2 (en) 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
JP2008033788A (ja) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
GB0625330D0 (en) * 2006-12-20 2007-01-24 Ibm System,method and computer program product for managing data using a write-back cache unit
US20090049334A1 (en) * 2007-08-14 2009-02-19 John Charles Elliott Method and Apparatus to Harden an Internal Non-Volatile Data Function for Sector Size Conversion
WO2009098776A1 (ja) 2008-02-08 2009-08-13 Fujitsu Limited バックアップ方法、ディスクアレイ装置及びコントローラ
KR101497074B1 (ko) 2008-06-17 2015-03-05 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
US8959280B2 (en) 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US9720616B2 (en) * 2008-06-18 2017-08-01 Super Talent Technology, Corp. Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)
KR20100097454A (ko) * 2009-02-26 2010-09-03 삼성전자주식회사 복수의 상 변화 메모리들, 버퍼램, 및 낸드 플래시 메모리를 구비한 메모리 모듈
US8495406B2 (en) * 2009-03-09 2013-07-23 International Business Machines Corporation Apparatus for resuming a system from a power failure after the main power supply has recovered and prior to fully recharging the backup power supply by enabling the receiption of input/output commands by the cache memory at a rate proportational to the amount of charge on the backup power supply currently available
US8327069B2 (en) 2009-12-08 2012-12-04 Hitachi, Ltd. Storage system and storage control apparatus provided with cache memory group including volatile memory and nonvolatile memory
WO2011101917A1 (en) 2010-02-19 2011-08-25 Hitachi,Ltd. Disk array control device with shortened time recovery following power restoration and method therefor
WO2011112523A2 (en) 2010-03-08 2011-09-15 Hewlett-Packard Development Company, L.P. Data storage apparatus and methods
KR101574451B1 (ko) 2011-09-14 2015-12-03 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 트랜잭션 메모리 시스템 내구성 부여
US10474584B2 (en) 2012-04-30 2019-11-12 Hewlett Packard Enterprise Development Lp Storing cache metadata separately from integrated circuit containing cache controller
WO2013186807A1 (en) 2012-06-11 2013-12-19 Hitachi, Ltd. Disk subsystem and corresponding data restoration method
US20160216910A1 (en) * 2013-09-27 2016-07-28 Virtium Llc Solving MLC NAND paired page program using reduced spatial redundancy
WO2015106162A1 (en) * 2014-01-09 2015-07-16 SanDisk Technologies, Inc. Selective copyback for on die buffered non-volatile memory
US9697097B2 (en) * 2014-06-02 2017-07-04 Hitachi, Ltd. Storage system and method for controlling storage system
US9710343B2 (en) * 2015-03-27 2017-07-18 Facebook, Inc. Power fail circuit for multi-storage-device arrays
KR102374668B1 (ko) * 2015-08-31 2022-03-17 삼성전자주식회사 전력 공급 중단의 경향에 따라 불휘발성 메모리를 다르게 관리하는 스토리지 장치

Also Published As

Publication number Publication date
TW201535409A (zh) 2015-09-16
US10318205B2 (en) 2019-06-11
WO2015116100A1 (en) 2015-08-06
US20160350028A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
TWI534827B (zh) 使用數個非依電性記憶體陣列管理資料之技術
CN113196226B (zh) 固态驱动器中的分区命名空间
US10275310B2 (en) Updating exclusive-or parity data
US9842059B2 (en) Wear leveling in storage devices
US9927999B1 (en) Trim management in solid state drives
CN102782683B (zh) 用于数据库服务器的缓冲池扩展
US9645769B2 (en) Performance acceleration during shutdown of a data storage device
US20150331624A1 (en) Host-controlled flash translation layer snapshot
WO2016107442A1 (zh) 将数据写入固态硬盘的方法及固态硬盘
US8214581B2 (en) System and method for cache synchronization
US20130205065A1 (en) Methods and structure for an improved solid-state drive for use in caching applications
US20200042343A1 (en) Virtual machine replication and migration
US10636455B2 (en) Enhanced NVDIMM architecture
US11204841B2 (en) Meta data protection against unexpected power loss in a memory system
KR102574354B1 (ko) 비정상적 셧다운과 연관된 효율적인 데이터 저장 이용
CN103257830A (zh) 存储单元的访问方法和存储单元
KR20130063244A (ko) 비휘발성 메모리 시스템
US20220382452A1 (en) Method To Use Flat Relink Table In HMB
KR102634813B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US10884933B2 (en) Method and apparatus for performing pipeline-based accessing management in a storage server
JP2015052853A (ja) ストレージ制御装置、制御方法及びプログラム
WO2023080928A1 (en) Dynamic controller buffer management and configuration
CN112083883B (zh) 存储系统以及用于存储系统中的方法
JP5953245B2 (ja) 情報処理システム
WO2016006108A1 (ja) ストレージおよびその制御方法

Legal Events

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