TWI795505B - 記憶體系統、其操作方法和包括該記憶體系統的計算系統 - Google Patents

記憶體系統、其操作方法和包括該記憶體系統的計算系統 Download PDF

Info

Publication number
TWI795505B
TWI795505B TW108100119A TW108100119A TWI795505B TW I795505 B TWI795505 B TW I795505B TW 108100119 A TW108100119 A TW 108100119A TW 108100119 A TW108100119 A TW 108100119A TW I795505 B TWI795505 B TW I795505B
Authority
TW
Taiwan
Prior art keywords
memory device
memory
ratio
target data
data
Prior art date
Application number
TW108100119A
Other languages
English (en)
Other versions
TW201942750A (zh
Inventor
金利錫
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 TW201942750A publication Critical patent/TW201942750A/zh
Application granted granted Critical
Publication of TWI795505B publication Critical patent/TWI795505B/zh

Links

Images

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
    • 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
    • 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/0658Controller construction 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/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/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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

記憶體系統、其操作方法和包括該記憶體系統的計算系統。一種記憶體系統包括:多種類型的記憶體裝置;以及控制器,該控制器包括:計數器,其被配置為確定R/W比;資料管理器,其被配置為生成與目標資料對應的元資料;以及選擇器,其被配置為將R/W比分別與多個記憶體裝置中的每一個的閾值進行比較,並且選擇用於儲存目標資料的記憶體裝置並選擇用於儲存元資料的記憶體裝置;以及處理器,其被配置為將目標資料和元資料儲存在各個選擇的記憶體裝置中。

Description

記憶體系統、其操作方法和包括該記憶體系統的計算系統
本公開的各種實施方式涉及一種能夠有效地處理資料的記憶體系統、其操作方法以及包括該記憶體系統的計算系統。
在第四次工業革命中資料正在成為重要資產,並且對支援以高資料速率傳送和分析大規模資料的新技術的需求正在增加。例如,隨著人工智慧、自主駕駛、機器人、醫療保健、虛擬實境(VR)、增強現實(AR)和智慧家居技術普及,對伺服器或資料中心的需求正在增加。
傳統資料中心將用於計算、網路連結和儲存資料的資源包括在同一設備中。然而,未來的大規模資料中心可具有單獨構建的資源,這些資源在邏輯上被重構。例如,在大規模資料中心中,資源可在機櫃級別進行模組化,並且模組化的資源可根據用途來重構和供應。因此,需要可用於未來大規模資料中心的融合儲存或記憶體裝置。
本專利申請請求於2018年3月28日向韓國智慧財產權局提交的申請號為10-2018-0036122的韓國專利申請的優先權,其全部內容透過引用合併於此。
本公開的實施方式涉及一種能夠將資料有效地儲存到記憶體裝置中的記憶體系統及其操作方法。
根據本發明的實施方式,一種記憶體系統可包括:多種類型的記憶體裝置;以及控制器,其包括:計數器,其被配置為確定R/W比,該R/W比是目標資料的讀操作次數與寫操作次數之比;資料管理器,其被配置為生成與目標資料對應的元資料;選擇器,其被配置為將R/W比分別與多個記憶體裝置中的每一個的閾值進行比較,並且基於比較操作的結果在所述多種類型的記憶體裝置當中選擇用於儲存目標資料的記憶體裝置並基於儲存目標資料的記憶體裝置在所述多種類型的記憶體裝置當中選擇用於儲存與目標資料對應的元資料的記憶體裝置;以及處理器,其被配置為將目標資料和元資料儲存在各個選擇的記憶體裝置中。
根據本發明的實施方式,一種操作記憶體系統的方法,該記憶體系統包括多種不同類型的記憶體裝置以及控制多個記憶體裝置中的每一個的控制器,該方法可包括以下步驟:確定R/W比,該R/W比是目標資料的讀操作次數與寫操作次數之比;將R/W比與所述多個記憶體裝置中的每一個的閾值進行比較;基於比較步驟的結果在所述多種類型的記憶體裝置當中選擇用於儲存目標資料的記憶體裝置;基於儲存目標資料的記憶體裝置在所述多種類型的記 憶體裝置當中選擇用於儲存與目標資料對應的元資料的記憶體裝置;以及將目標資料和元資料儲存在各個選擇的記憶體裝置中。
根據本發明的實施方式,一種計算系統可包括:第一記憶體系統,其包括多種類型的記憶體裝置以及被配置為控制多個記憶體裝置中的每一個的第一控制器;第二記憶體系統,其包括類型與所述多個記憶體裝置的類型中的任一個不同的附加記憶體裝置以及被配置為控制所述附加記憶體裝置的第二控制器;以及記憶體板管理單元,其被配置為與第一記憶體系統和第二記憶體系統執行資料通信,其中,第一控制器和第二控制器:確定相對於從記憶體板管理單元接收的目標資料的R/W比,該R/W比表示對目標資料執行的讀操作次數與對目標資料執行的寫操作次數之比,將R/W比與第一記憶體系統中的所述多個記憶體裝置和第二記憶體系統中的所述附加記憶體裝置中的每一個的閾值進行比較,在所述多種類型的記憶體裝置和所述附加記憶體裝置中選擇要儲存目標資料的目標記憶體裝置,並將目標資料儲存在目標記憶體裝置中。
根據本發明的實施方式,一種池式記憶體系統可包括:第一組的記憶體裝置,其具有指示第一組中的各個記憶體裝置的容量和延遲中的至少一個的第一級別;第二組的記憶體裝置,其具有指示第二組中的各個記憶體裝置的容量和延遲中的至少一個的第二級別;以及控制器,其被配置為:基於目標資料的特性並且分別基於第一組的記憶體裝置的第一級別和第二組的記憶體裝置的第二級別來選擇第一組的記憶體裝置和第二組的記憶體裝置中的一個,並且將目標資料儲存在所選擇的第一組或第二組的至少一個記憶體裝置中;其中,目標資料的特性包括對目標資料的讀操作次數與寫操作次數之比。
10:資料處理系統
20:計算機櫃
20A:計算機櫃
20B:計算機櫃
20C:計算機櫃
21:抽屜
22:抽屜
23:抽屜
24:抽屜
29:抽屜
30:管理介面
40:通信的網路
100:計算裝置
200:計算板
210:中央處理單元(CPU)
220:本機記憶體
230:輸入/輸出(I/O)介面
300:互連板
400:記憶體板
400A:第一記憶體板
400B:第二記憶體板400B
410:控制器
410A:控制器
410B:控制器
420:記憶體
420A:第一記憶體組
420B:第二記憶體組
420C:第三記憶體組
420D:第四記憶體裝置
510:資料控制器
510A:第一資料控制器
510B:第二資料控制器
520A:第一儲存控制器(iMC0)
520B:第二儲存控制器(iMC1)
520C:第三儲存控制器(iMC2)
520D:記憶體控制器
530:輸入/輸出(I/O)介面
530A:第一I/O介面
530B:第二I/O介面
610:計數器
630:資料管理器
650:選擇器
670:處理器
690A:DRAM
690B:PCRAM
690C:NAND
900:計算系統
910:記憶體板管理單元(MMU)
S701:步驟
S703:步驟
S705:步驟
S707:步驟
S709:步驟
S711:步驟
S713:步驟
S715:步驟
S717:步驟
S719:步驟
S721:步驟
S723:步驟
S725:步驟
S727:步驟
S729:步驟
S731:步驟
S801:步驟
S803:步驟
S805:步驟
S807:步驟
〔圖1〕是示出根據本公開的實施方式的資料處理系統的方塊圖。
〔圖2〕示出根據本公開的實施方式的計算機櫃。
〔圖3〕示出根據本公開的實施方式的計算機櫃。
〔圖4〕是示出根據本公開的實施方式的計算板的方塊圖。
〔圖5〕是示出根據本公開的實施方式的記憶體板的方塊圖。
〔圖6A〕是示出根據本公開的實施方式的記憶體板的配置的圖。
〔圖6B〕是示出根據本公開的實施方式的記憶體板的詳細配置的圖。
〔圖7〕是示出根據本公開的實施方式的資料控制器的操作的流程圖。
〔圖8〕是示出根據本公開的實施方式的資料控制器的操作的流程圖。
〔圖9〕是示意性地示出根據本公開的實施方式的計算系統的結構的圖。
下面將參照附圖更詳細地描述本公開的各種實施方式。然而,本公開的元件和特徵可與所公開的實施方式中示出和描述的不同地配置或佈置。因此,本發明不限於本文所闡述的實施方式。相反,提供這些實施方式是為了使本公開徹底和完整,並且向本領域技術人員充分傳達本公開的範圍。貫穿本公開,相同的標號貫穿本公開的各個附圖和實施方式指代相同的部件。另外,貫穿說明書,對「實施方式」、「另一實施方式」等的引用未必僅指一個實施方式,對任何這種短語的不同引用未必指相同的實施方式。
圖1是示出資料處理系統10的方塊圖。參照圖1,資料處理系統10可包括多個計算機櫃20、管理介面30以及用於計算機櫃20和管理介面30之間的通信的網路40。具有這種機櫃規模架構的資料處理系統10可由資料中心用來處理大規模資料。
各個計算機櫃20可單獨地實現一個計算裝置。另選地,各個計算機櫃20可與一個或更多個其它計算機櫃組合以實現一個計算裝置。下面描述計算機櫃20的具體結構和操作。
管理介面30可提供交互介面以便於使用者控制、支配或管理資料處理系統10。管理介面30可被實現為任何類型的計算裝置,包括電腦、多處理器系統、伺服器、機櫃式伺服器、板伺服器、膝上型電腦、筆記型電腦、平板電腦、可穿戴計算裝置、網路裝置、web裝置、分散式計算系統、基於處理器的系統、消費電子裝置等中的任一種。
在本公開的一些實施方式中,管理介面30可被實現為具有可由計算機櫃20執行的操作功能或者具有可由管理介面30執行的使用者介面功能的分散式系統。在本公開的其它實施方式中,管理介面30可被實現為包括透過網路40分佈的多計算裝置的虛擬雲伺服器。管理介面30可包括處理器、輸入/輸出子系統、記憶體、資料儲存裝置和通信電路。
網路40可在計算機櫃20和管理介面30之間和/或在計算機櫃20之間提供和/或接收資料。網路40可利用適當數量的各種有線和/或無線網路來實現。例如,網路40可包括可公開存取的全球網路,例如有線或無線局域網(LAN)、廣域網路(WAN)、蜂巢式網路和/或網際網路。另外,網路40可包括適當數量的輔助網路裝置,例如輔助電腦、路由器和交換機。
圖2示出根據本公開的實施方式的計算機櫃的架構。
參照圖2,計算機櫃20可包括各種形式和結構的構成元件。例如,計算機櫃20可包括多個抽屜21至29。抽屜21至29中的每一個可包括多個模組,各個模組可包括多個板。
在本公開的各種實施方式中,計算機櫃20可由適當數量的電腦板、記憶體板和/或互連板的組合實現。計算機櫃20被描述為板的組合,但是計算機櫃20也可由其它元件實現,例如抽屜、模組、托盤、板、框格或其它合適的單元。計算機櫃20可具有構成元件根據其功能來分解和分類的結構。計算機櫃20可從上到下按分類次序具有互連板、計算板和記憶體板的結構,但是計算機櫃20不限於這種結構。計算機櫃20以及包括計算機櫃20的計算裝置可被稱為「機櫃規模系統」或「分解系統」。
在本公開的實施方式中,計算裝置可被實現為一個計算機櫃20。在其它實施方式中,計算裝置可由兩個或更多個計算機櫃20的所有或一些構成元件或者一個計算機櫃20的一些構成元件實現。
在本公開的各種實施方式中,計算裝置可由包括在計算機櫃20中的適當數量的計算板、記憶體板和互連板的組合實現。如圖2所示,計算機櫃20A可包括兩個計算板、三個記憶體板和一個互連板。在另一示例中,計算機櫃20B可包括三個計算板、兩個記憶體板和一個互連板。在另一示例中,計算機櫃20C可包括一個計算板、四個記憶體板和一個互連板。
儘管圖2示出計算機櫃20包括適當數量的計算板、記憶體板和互連板的示例,但是計算機櫃20可包括典型伺服器中可包括的附加構成元件,例如電源系統、冷卻系統、輸入/輸出裝置等。
圖3示出根據本公開的實施方式的計算裝置100。
參照圖3,計算裝置100可包括多個計算板200、多個記憶體板400和互連板300。計算板200可以是池式計算板或池式計算系統。類似地,記憶體板可以是池式記憶體板或池式記憶體系統。計算裝置100被描述為多個板的組合,但是計算裝置100也可由諸如抽屜、模組、托盤、板、框格或其它合適的單元的元件實現。
各個計算板200可包括諸如處理器、處理/控制電路、中央處理單元(CPU)等的一個或更多個處理元件。
各個記憶體板400可包括一個或更多個記憶體,例如揮發性記憶體、非揮發性記憶體或其組合。例如,各個記憶體板400可包括動態隨機存取記憶體(DRAM)、快閃記憶體、記憶卡、硬碟驅動器(HDD)、固態驅動器(SSD)或其組合。
各個記憶體板400可由各個計算板200中所包括的一個或更多個處理元件劃分、分配或指定並使用。另外,各個記憶體板400可儲存可由計算板200初始化和/或執行的一個或更多個作業系統(OS)。
互連板300可包括通信電路、通信裝置或其組合,其可由各個計算板200中所包括的一個或更多個處理元件劃分、分配或指定並使用。例如,互連板300可由任何合適數量的網路介面埠、介面卡或介面開關實現。互連板300可使用與一種或更多種有線通信技術有關的協議來進行通信。例如,互連板300可基於諸如快速周邊元件連接(peripheral component interconnect express,PCIe)、QuickPath互連(QuickPath interconnect,QPI)、乙太網等的協定中的一個或更多個來支持計算板200與記憶體板400之間的通信。
圖4是示出根據本公開的實施方式的計算板200的方塊圖。
參照圖4,計算板200可包括一個或更多個中央處理單元(CPU)210、一個或更多個本機記憶體220以及輸入/輸出(I/O)介面230。
CPU 210可在圖3所示的記憶體板400當中劃分、分配或指定要使用的一個或更多個記憶體板。另外,CPU 210可將一個或更多個記憶體板初始化,並對所述一個或更多個記憶體板執行資料讀操作和/或資料寫(即,編程)操作。
本機記憶體220可儲存資料以執行CPU 210的操作。在本公開的各種實施方式中,本機記憶體220可與CPU 210一一對應。
輸入/輸出介面230可透過圖3的互連板300來支持CPU 210與記憶體板400之間的介面連接。輸入/輸出介面230可使用與一種或更多種有線通信技術有關的協議,從CPU 210向互連板300輸出並提供資料,並且接收從互連板300輸入到CPU 210的資料。例如,輸入/輸出介面230可使用諸如快速周邊元件連接(peripheral component interconnect express,PCIe)、QuickPath互連(QuickPath interconnect,QPI)、乙太網等的協定中的一個或更多個來支持CPU 210與互連板300之間的通信。
圖5是示出根據本公開的實施方式的記憶體板400的方塊圖。
參照圖5,記憶體板400可包括控制器410和多個記憶體420。在控制器410的控制下,記憶體420可在其中儲存(或寫入)資料以及輸出(或讀取)所儲存的資料。記憶體420可包括第一記憶體組420A、第二記憶體組420B和第三記憶體組420C。第一記憶體組420A、第二記憶體組420B和第三記憶體組420C中的每一個可包括多個記憶體或記憶體裝置。第一記憶體組420A、第二 記憶體組420B和第三記憶體組420C可具有相同的特性或不同的特性。根據本公開的各種實施方式,在容量或延遲方面,第一記憶體組420A、第二記憶體組420B和第三記憶體組420C可包括具有相同特性的記憶體或者具有不同特性的記憶體。
控制器410可包括資料控制器510、儲存控制器(MC)520A至520C以及輸入/輸出(I/O)介面530。
資料控制器510可控制在圖3的記憶體420和計算板200之間提供和接收的資料。例如,回應於寫請求或命令,資料控制器510可從計算板200接收寫資料並控制用於將寫資料寫入在記憶體420當中的對應記憶體中的寫操作。在讀操作中,回應於讀請求或命令,資料控制器510可讀出儲存在記憶體420當中的特定記憶體中的資料並控制用於將讀取的資料輸出到計算板200當中的對應計算板的讀操作。
儲存控制器520A至520C可被設置在資料控制器510與記憶體420之間,並且可支援資料控制器510與記憶體420之間的介面連接。儲存控制器520A至520C可包括第一儲存控制器(iMC0)520A、第二儲存控制器(iMC1)520B和第三儲存控制器(iMC2)520C,其分別與包括在記憶體420中的第一記憶體組420A、第二記憶體組420B和第三記憶體組420C對應。第一儲存控制器(iMC0)520A可被設置在資料控制器510與第一記憶體組420A之間,並且可支援資料控制器510與第一記憶體組420A之間的資料提供和/或資料接收。第二儲存控制器(iMC1)520B可被設置在資料控制器510與第二記憶體組420B之間,並且可支援資料控制器510與第二記憶體組420B之間的資料提供和/或資料接收。第三儲存控制器(iMC2)520C可被設置在資料控制器510與第三記憶體組 420C之間,並且可支援資料控制器510與第三記憶體組420C之間的資料提供和/或資料接收。儘管本文中描述了控制器410包括三個儲存控制器的示例,但是當第一記憶體組420A、第二記憶體組420B和第三記憶體組420C包括DRAM時,控制器410可包括單個儲存控制器。
輸入/輸出介面530可透過圖3的互連板300來支持資料控制器510與計算板200之間的介面連接。輸入/輸出介面530可根據與有線通信技術有關的一種或更多種協議來操作,以將讀取的資料從資料控制器510提供給互連板300並將寫入的資料從互連板300提供給資料控制器510。例如,輸入/輸出介面530可基於諸如快速周邊元件連接(peripheral component interconnect express,PCIe)、QuickPath互連(QuickPath interconnect,QPI)、乙太網等的協定中的一個或更多個來支持資料控制器510與互連板300之間的通信。
圖6A是示出根據實施方式的記憶體板(例如,記憶體板400)的配置的圖。具體地,圖6A示出資料控制器510的詳細結構。
參照圖6A,記憶體板400可包括控制器410和多個記憶體裝置420A至420C。多個記憶體裝置420A至420C可為不同的類型。例如,多個記憶體裝置420A至420C中的每一個可以是動態隨機存取記憶體(dynamic random access memory,DRAM)、託管dram解決方案(managed dram solution,MDS)、相變隨機存取記憶體(phase change random access memory,PCRAM)、NAND快閃記憶體等。
在本文所描述的實施方式中,多個記憶體裝置包括彼此不同的第一記憶體裝置420A至第三記憶體裝置420C。然而,這僅是示例;所述多個記憶體裝置可包括不止三個,其中一些或全部可為不同的類型。另外,作為示 例,第一記憶體裝置420A的資料處理速度最快,第三記憶體裝置420C的資料處理速度最慢,第二記憶體裝置420B的資料處理速度介於之間。另外,作為示例,第三記憶體裝置420C的記憶體容量最大,第一記憶體裝置420A的記憶體容量最小,第二記憶體裝置420B的記憶體容量介於之間。此外,作為示例,第一記憶體裝置420A是揮發性記憶體裝置,第二記憶體裝置420B和第三記憶體裝置420C是非揮發性記憶體裝置。
控制器410可包括資料控制器510、I/O介面530以及儲存控制器520A至520C。
資料控制器510可包括計數器610、資料管理器630、選擇器650和處理器670。
計數器610可測量與目標資料對應的讀操作次數與寫操作次數之比。目標資料可以是從外部裝置(例如,圖3的計算板200)向資料控制器510提供讀或寫請求的資料。並且,以下,與目標資料對應的讀操作次數與寫操作次數之比被稱為R/W比。詳細地,計數器610可分別對與目標資料對應的讀操作次數以及與目標資料對應的寫操作次數進行計數。並且,計數器610可確定目標資料的R/W比。
計數器610可如下對與目標資料對應的讀操作次數進行計數:針對目標資料的讀命令可包括用於執行讀操作的識別符(identifier,ID)和位址資訊。控制器410可使用識別符(identifier,ID)和位址資訊來識別針對目標資料的讀操作。計數器610可基於讀命令來對與目標資料對應的讀操作次數進行計數。按照相同的原理,計數器610對寫操作次數進行計數,並確定與目標資料對應的R/W比。
對與目標資料對應的讀操作次數和寫操作次數進行計數的上述方法是一種實施方式,且本發明不限於此。
另外,計數器610可儲存所計數的讀操作次數、所計數的寫操作次數和所確定的R/W比。此外,所儲存的讀操作次數、所儲存的寫操作次數和所儲存的R/W比可作為與目標資料對應的元資料儲存在記憶體裝置420中。
此外,計數器610可將所確定的與目標資料對應的R/W比提供給資料管理器630。
資料管理器630可生成並儲存多個記憶體裝置420A至420C中的每一個的記憶體映射。並且,資料管理器630可分別管理第一記憶體裝置420A的記憶體映射、第二記憶體裝置420B的記憶體映射和第三記憶體裝置420C的記憶體映射。此外,當由於儲存在多個記憶體裝置420A至420C中的每一個中的資料的移動,記憶體映射改變時,資料管理器630可更新多個記憶體裝置420A至420C中的每一個的記憶體映射。
如上所述,資料管理器630可接收由計數器610確定的目標資料的R/W比。資料管理器630可管理R/W比。
另外,資料管理器630可生成與目標資料對應的元資料。該元資料可包括位址資訊、R/W比以及指示資料儲存是否完成的資訊。例如,當目標資料已被儲存在第一記憶體裝置420A中時,資料管理器630可基於記憶體映射來生成元資料,該元資料包括關於已儲存目標資料的第一記憶體裝置的位址資訊、目標資料的R/W比以及指示第一記憶體裝置中的目標資料的儲存是否完成的資訊。
選擇器650可基於計數器610中測量的R/W比來選擇要儲存資料的記憶體裝置。
例如,只有當目標資料的R/W比大於或等於第一閾值時,第一記憶體裝置420A才儲存目標資料。此外,只有當目標資料的R/W比小於第一閾值但是大於或等於第二閾值時,第二記憶體裝置420B才儲存目標資料。類似地,只有當目標資料的R/W比小於第二閾值時,第三記憶體裝置420C才儲存目標資料。第一閾值和第二閾值可由設計者設定。
因此,選擇器650可將目標資料的R/W比與上述閾值進行比較,並選擇儲存目標資料的最適合的記憶體裝置。
處理器670可將資料儲存在由選擇器650選擇的記憶體裝置中。例如,對於具有大於第一閾值的R/W比的目標資料,處理器670可將目標資料儲存在第一記憶體裝置420A中。又如,當儲存在第三記憶體裝置中的資料具有大於第一閾值的R/W比時,處理器670可從第三記憶體裝置420C讀取資料並將資料儲存在第一記憶體裝置420A中。在這種情況下,資料管理器630可對改變了位址的資料執行映射更新。
另外,處理器670可基於儲存目標資料的記憶體裝置420來儲存由資料管理器630生成的元資料。
根據實施方式,上記憶體裝置可比下記憶體裝置更快地處理資料。另一方面,下記憶體裝置的儲存容量可大於上記憶體裝置的儲存容量。根據實施方式,第二記憶體裝置420B可以是第一記憶體裝置420A的下記憶體裝置。並且,第三記憶體裝置420C可以是第二記憶體裝置420B的下記憶體裝置。 根據另一實施方式,非揮發性記憶體裝置可以是揮發性記憶體裝置的下記憶體裝置。
例如,當儲存目標資料的記憶體裝置是揮發性記憶體裝置時,處理器670可將元資料儲存在儲存目標資料的記憶體裝置的下記憶體裝置中。
例如,當處理器670將目標資料儲存到第一記憶體裝置420A時,由於第一記憶體裝置420A是揮發性記憶體裝置,所以處理器670將與目標資料對應的元資料儲存在第二記憶體裝置420B中或第三記憶體裝置420C中。
例如,當處理器670將目標資料儲存在第二記憶體裝置420B中時,由於第二記憶體裝置420B是非揮發性記憶體裝置,所以處理器670可將與目標資料對應的元資料儲存在第三記憶體裝置420C中。
例如,假定第三記憶體裝置420C可以是最下記憶體裝置。當處理器670將目標資料儲存在第三記憶體裝置420C中時,處理器670可將與目標資料對應的元資料儲存在第三記憶體裝置420C中。
例如,假定目標資料被儲存在第二記憶體裝置420B中並且與目標資料對應的元資料被儲存在第三記憶體裝置420C中。當處理器670將從第二記憶體裝置420B讀取的目標資料儲存在第一記憶體裝置420A中時,處理器670可將元資料儲存在第二記憶體裝置420B中。然而,當第二記憶體裝置420B是揮發性記憶體裝置時,處理器670可隨後將元資料儲存在第三記憶體裝置420C中。
例如,假定目標資料以及與目標資料對應的元資料被儲存在第三記憶體裝置420C中。當處理器670將從第三記憶體裝置420C讀取的目標資料 儲存在第二記憶體裝置420B中時,處理器670可隨後將元資料儲存在第三記憶體裝置420C中。
如上所述,當目標資料被儲存在揮發性記憶體裝置中時,元資料可被儲存在非揮發性記憶體裝置中。將目標資料和元資料分別儲存在不同類型的記憶體裝置中的原因是為了當發生突然斷電(sudden power off,SPO)時允許資料控制器510容易地執行突然斷電恢復(sudden power off recovery,SPOR)操作。當作為與揮發性記憶體裝置420A的介面的儲存控制器520A是非揮發性雙列直插式記憶體模組(dual in-line memory module,DIMM)(NVD)時,即使發生SPO,介面520A也可通電一段時間。結果,當發生SPO時,揮發性記憶體裝置420A可通電一段時間。然而,無法檢查儲存在揮發性記憶體裝置420A中的資料的狀態(例如,是否正在寫入資料或者資料已被寫入)。在這種情況下,為了檢查資料的狀態,處理器670可讀取元資料並檢查資料的狀態。當資料還未被寫入時,資料控制器510可對資料執行SPOR操作。另外,當發生SPO時,資料管理器630可基於元資料來恢復移除的記憶體映射。
圖6B是示出根據實施方式的圖6A的記憶體板400的詳細配置的圖。參照圖6B,圖6A的第一記憶體裝置420A可被實現為動態隨機存取記憶體(DRAM)690A。圖6A的第二記憶體裝置420B可被實現為相變隨機存取記憶體(PCRAM)690B。圖6A的第三記憶體裝置420C可被實現為NAND快閃記憶體裝置(以下,NAND)690C。此實現方式僅作為示例。根據處理和/或儲存要求,各種記憶體裝置中的每一個可被實現為與上面剛剛所描述的不同類型的記憶體裝置。
關於記憶體特性,與儲存在PCRAM 690B或NAND 690C中的資料相比,儲存在DRAM 690A中的資料可被更快地處理。例如,與儲存在PCRAM 690B或NAND 690C中的資料相比,儲存在DRAM 690A中的資料可被更快地讀取。例如,與PCRAM 690B或NAND 690C相比,資料可被更快地寫到DRAM 690A。然而,DRAM 690A的儲存容量可小於PCRAM 690B或NAND 690C。因此,DRAM 690A是適合於處理具有高R/W比的資料或者需要快速處理的資料的記憶體裝置。
另一方面,與儲存在PCRAM 690B或DRAM 690A中的資料相比,儲存在NAND 690C中的資料可被更慢地處理。但是NAND 690C的儲存容量可大於另兩個。因此,NAND裝置690C適合於處理具有低R/W比的資料或者不需要快速處理的資料。
由於PCRAM 690B在處理速度和儲存容量方面相對於DRAM 690A和NAND 690C具有中間性質,所以能夠扮演DRAM 690A和NAND 690C的中間角色。
返回參照圖6A,資料管理器630可生成DRAM 690A、PCRAM 690B和NAND 690C中的每一個的記憶體映射。並且,資料管理器630可儲存多個記憶體映射。如上所述,資料管理器630可分別更新記憶體裝置690A至690C中的每一個的記憶體映射。
選擇器650可從記憶體裝置690A至690C當中選擇要儲存目標資料的記憶體裝置。並且,選擇器650可基於儲存目標資料的記憶體裝置來從記憶體裝置690A至690C當中選擇要儲存與目標資料對應的元資料的記憶體裝置。
例如,當目標資料的R/W比大於或等於第一閾值時,選擇器650可選擇要儲存目標資料的DRAM 690A。即,如參照圖6A所述,選擇器650可根據目標資料的特性(例如,R/W比)來選擇記憶體裝置。
圖7是示出根據實施方式的資料控制器(例如,資料控制器510)的操作的流程圖。例如,圖7示出資料控制器510確定目標資料的特性,搜索適合於儲存目標資料的記憶體裝置,並將目標資料儲存在搜索中識別的記憶體裝置中的處理。這裡出於描述的目的,目標資料是寫資料,並且資料管理器630已經儲存各個記憶體裝置的記憶體映射。將參照圖6A描述資料控制器510的操作。參照圖6A,第一記憶體裝置420A是揮發性記憶體裝置,並且第二記憶體裝置420B和第三記憶體裝置420C是非揮發性記憶體裝置。
在步驟S701,計數器610可測量目標資料的R/W比。
在步驟S703,選擇器650可將R/W比與第一閾值進行比較。
當R/W比大於或等於第一閾值(步驟S703為「是」)時,選擇器650可在步驟S705選擇第一記憶體裝置420A作為要儲存目標資料的記憶體裝置。
在步驟S707,處理器670可將目標資料儲存在第一記憶體裝置420A中。
在步驟S709,資料管理器630可生成與目標資料對應的元資料。該元資料可包括目標資料的位址資訊、R/W比以及指示目標資料是否已被寫入的資訊。儘管在圖7中示出在步驟S709生成元資料,但是這僅是示例。在另一示例中,資料管理器630可在步驟S709之前生成元資料,並且每次資料控制器 510識別出位址資訊時,每次確定R/W比時,以及每次目標資料已被寫入時,資料管理器630可更新元資料。
在步驟S711,處理器670可將元資料儲存在第二記憶體裝置420B中。如圖6B中所述,由於第一記憶體裝置420A是揮發性記憶體裝置,所以處理器670可將元資料儲存在第二記憶體裝置420B中。
在步驟S731,資料管理器630可更新記憶體映射以便反映關於儲存在第一記憶體裝置420A中的目標資料的資訊。
返回到步驟S703,當R/W比小於第一閾值(步驟S703為「否」)時,選擇器650可在步驟S713將R/W比與第二閾值進行比較。
當R/W比大於或等於第二閾值(步驟S713為「是」)時,選擇器650可在步驟S715選擇第二記憶體裝置420B作為要儲存目標資料的記憶體裝置。
在步驟S717,處理器670可將目標資料儲存在第二記憶體裝置420B中。
在步驟S719,資料管理器630可生成與目標資料對應的元資料。該元資料可包括目標資料的位址資訊、R/W比以及指示目標資料是否已被寫入的資訊。如上所述,元資料可在步驟S719以外的時間(例如,在步驟S719之前)生成。
在步驟S721,處理器670可將元資料儲存在第二記憶體裝置420B中。如圖6A中所述,由於第二記憶體裝置420B是非揮發性記憶體裝置,所以處理器670可將與儲存在第二記憶體裝置420B中的目標資料對應的元資料儲存在第二記憶體裝置420B中。
在步驟S731,資料管理器630可更新記憶體映射以便反映關於儲存在第二記憶體裝置420B中的目標資料的資訊。
返回到步驟S713,當R/W比小於第二閾值(步驟S713為「否」)時,選擇器650可在步驟S723選擇第三記憶體裝置420C作為要儲存目標資料的記憶體裝置。
在步驟S725,處理器670可將目標資料儲存在第三記憶體裝置420C中。
在步驟S727,資料管理器630可生成與目標資料對應的元資料。該元資料可包括目標資料的位址資訊、R/W比以及指示目標資料是否已被寫入的資訊。如上所述,生成元資料的時間可不同(例如,在步驟S727之前)。
在步驟S729,處理器670可將所生成的元資料儲存在第三記憶體裝置420C中。如圖6A中所述,由於第三記憶體裝置420C是非揮發性記憶體裝置,所以處理器670可將與儲存在第三記憶體裝置420C中的目標資料對應的元資料儲存在第三記憶體裝置420C中。
在步驟S731,資料管理器630可更新記憶體映射以便反映關於儲存在第三記憶體裝置420C中的目標資料的資訊。
圖8是示出根據另一實施方式的資料控制器(例如,資料控制器510)的操作的流程圖。例如,圖8是示出當目標資料是讀資料時資料控制器510的操作的流程圖。
在步驟S801,資料管理器630可檢查所選擇的記憶體裝置的記憶體映射。即,資料管理器630可檢查目標資料的位址資訊。
在步驟S803,處理器670可從所選擇的記憶體裝置讀取目標資料。
在步驟S805,資料管理器630可確定是否需要改變當前儲存目標資料的記憶體裝置。例如,當目標資料被儲存在第三記憶體裝置420C中,並且針對目標資料的讀操作次數增加並且目標資料的R/W比大於第二閾值時,要儲存目標資料的記憶體裝置可能需要從第三記憶體裝置420C改變為第二記憶體裝置420B。
當需要改變要儲存目標資料的記憶體裝置(步驟S805為「是」)時,在步驟S807,資料控制器510可執行圖7的步驟S703至步驟S731。
另一方面,當不需要改變要儲存目標資料的記憶體裝置(步驟S805為「否」)時,資料控制器510可保留儲存目標資料的記憶體裝置。
返回參照圖6A,第一記憶體板400A的第一資料控制器510A可根據目標資料的特性來選擇適合於儲存目標資料的記憶體裝置,並將目標資料儲存在所選擇的記憶體裝置中。即,資料控制器510A基於目標資料的R/W比來選擇用於儲存目標資料的記憶體裝置。例如,第一資料控制器510A將目標資料的R/W比與多個記憶體裝置420A至420B中的每一個的閾值進行比較。然後,當需要快速資料處理時,第一資料控制器510A將目標資料儲存在第一記憶體裝置中,當不需要快速資料處理時將目標資料儲存在第三記憶體裝置420C中。然而,資料控制器510A不將目標資料的R/W比與第三記憶體裝置420C的閾值進行比較。將參照圖9描述圖6A中所描述的資料處理操作擴展至的計算系統900。
圖9是示意性地示出根據實施方式的計算系統900的結構的圖。
參照圖9,計算系統900可包括記憶體板管理單元(MMU)910以及多個記憶體板400A和400B。MMU 910可對應於圖2至圖4所示的多個計算板200和互連板300。儘管圖9示出兩個記憶體板400A和400B並且第二記憶體板400B包括一種類型的記憶體裝置420D,這僅是示例。另外,作為示例,第一記憶體裝置420A是動態隨機存取記憶體(DRAM),第二記憶體裝置420B是相變隨機存取記憶體(PCRAM),第三記憶體裝置420C是NAND快閃記憶體,第四記憶體裝置是硬碟驅動器(HDD)。
第一記憶體板400A和第二記憶體板400B可對應於圖6A和圖6B的記憶體板400。第一記憶體板400A可以包括控制器410A和多個記憶體裝置420A至420C。控制器410A可以包括資料控制器510A、I/O介面530A和記憶體控制器520A至520C。第二記憶體板400B可以包括控制器410B和多個記憶體裝置420D。控制器420B可以包括資料控制器530B和記憶體控制器520D。包括在記憶體板400A和400B中的元件可分別對應於包括在記憶體板400中的那些元件。例如,第一資料控制器510A和第二資料控制器510B對應於資料控制器510。
MMU 910可管理關於多個記憶體板400A和400B的記憶體裝置配置的資訊。詳細地,MMU 910可識別出第一記憶體裝置420A至第三記憶體裝置420C被包括在第一記憶體板400A中並且第四記憶體裝置420D被包括在第二記憶體板400B中。
另外,MMU 910可與多個記憶體板400A和400B中的每一個通信。因此,MMU 910可向第一記憶體板400A和第二記憶體板400B提供資料以及從其接收資料。此外,MMU 910可將從第一記憶體板400A接收的資料提供給第二記憶體板400B。
第一記憶體板400A的第一資料控制器510A可將目標資料儲存在根據目標資料的特性所選擇的記憶體裝置中。如上所述,第一資料控制器510A可確定或測量目標資料的R/W比,將所測量的R/W比與第一閾值和第二閾值進行比較,並選擇要儲存目標資料的記憶體裝置。另外,第一資料控制器510A可將所測量的R/W比與第三閾值進行比較。當R/W比小於第二閾值並且大於或等於第三閾值時,第一資料控制器510A可將目標資料儲存在第三記憶體裝置420C中。另一方面,當R/W比小於第三閾值時,第一資料控制器510A可透過第一I/O介面530A將目標資料提供給MMU 910。由於MMU 910識別包括在多個記憶體板400A和400B中的多個記憶體裝置420A至420D的特性,所以MMU 910可將目標資料從第一記憶體板400A提供給第二記憶體板400B。第二記憶體板400B可從MMU 910接收目標資料。第二記憶體板400B的第二資料控制器510B可透過第二I/O介面530B接收目標資料。此外,第二資料控制器510B可將目標資料儲存在第四記憶體裝置420D中。按照相同的原理,第二資料控制器510B也可將與目標資料對應的元資料儲存在第四記憶體裝置420D中。
當儲存在第四記憶體裝置420D中的目標資料的R/W比增加時,第二資料控制器510B可讀取目標資料。然後,第二資料控制器510B可透過第二I/O介面530B將讀取的目標資料提供給MMU 910。MMU 910可將從第二記憶體板400B接收的目標資料提供給第一記憶體板400A。第一資料控制器510A可透過第一I/O介面530A接收目標資料。然後,第一資料控制器510A可按照與圖6A中所描述的操作相同的方式基於目標資料的R/W比將目標資料儲存在對應記憶體裝置中。按照相同的原理,第一資料控制器510A可將與目標資料對應的元資料儲存在所選擇的記憶體裝置中。
如上所述,根據實施方式的資料控制器510和計算系統900可根據資料的特性來選擇要儲存資料的記憶體裝置,並將資料儲存在所選擇的記憶體裝置中,從而有效地處理資料。即,資料控制器510和計算系統900可在儲存需要快速處理的資料的記憶體裝置與儲存不需要相對快速處理的資料的記憶體裝置之間選擇,以有效地處理資料。結果,整個系統的性能可改進。
儘管描述和示出了各種實施方式,但是根據本公開,對於本領域技術人員而言將顯而易見的是,在不脫離以下請求項中限定的本發明的精神和範圍的情況下,可進行各種改變和修改。
400:記憶體板
410:控制器
420A:第一記憶體組
420B:第二記憶體組
420C:第三記憶體組
510:資料控制器
520A:第一儲存控制器(iMC0)
520B:第二儲存控制器(iMC1)
520C:第三儲存控制器(iMC2)
530:輸入/輸出(I/O)介面
610:計數器
630:資料管理器
650:選擇器
670:處理器

Claims (17)

  1. 一種記憶體系統,該記憶體系統包括:多種類型的多個記憶體裝置,其中,所述多種類型的多個記憶體裝置包括第一記憶體裝置以及第二記憶體裝置;以及控制器,該控制器包括:計數器,該計數器被配置為確定R/W比,該R/W比是目標資料的讀操作次數與寫操作次數之比;資料管理器,該資料管理器被配置為生成與所述目標資料對應的元資料;選擇器,該選擇器被配置為將所述R/W比分別與所述多個記憶體裝置中的每一個的閾值進行比較,並且基於比較操作的結果來在所述多種類型的記憶體裝置當中選擇用於儲存所述目標資料的記憶體裝置,並基於儲存所述目標資料的記憶體裝置來在所述多種類型的記憶體裝置當中選擇用於儲存與所述目標資料對應的所述元資料的記憶體裝置;以及處理器,該處理器被配置為將所述目標資料和所述元資料儲存在各個選擇的記憶體裝置中,其中,所述選擇器將所述R/W比與對應於第一記憶體裝置的第一閾值進行比較,並且當所述R/W比大於或等於所述第一閾值時,選擇所述第一記憶體裝置,並且其中,所述處理器將所述目標資料儲存在所述第一記憶體裝置中。
  2. 如請求項1所述的記憶體系統, 其中,所述第一記憶體裝置為揮發性記憶體裝置並且所述第二記憶體裝置為非揮發性記憶體裝置,其中,當所述選擇器選擇所述第一記憶體裝置用於儲存所述目標資料,所述選擇器選擇所述第二記憶體裝置用於儲存所述元資料,並且其中,所述處理器將所述元資料儲存在所述第二記憶體裝置中。
  3. 如請求項2所述的記憶體系統,其中,所述多種類型的多個記憶體裝置還包括第三記憶體裝置,其中,當所述R/W比小於所述第一閾值時,所述選擇器將所述R/W比與對應於所述第二記憶體裝置的第二閾值進行比較,並且當所述R/W比大於或等於所述第二閾值時,選擇所述第二記憶體裝置,並且其中,所述處理器將所述目標資料儲存在所述第二記憶體裝置中。
  4. 如請求項3所述的記憶體系統,其中,當所述選擇器選擇所述第二記憶體裝置用於儲存所述目標資料,所述選擇器選擇所述第二記憶體裝置用於儲存所述元資料,並且其中,所述處理器將所述元資料儲存在所述第二記憶體裝置中。
  5. 如請求項4所述的記憶體系統,其中,當所述R/W比小於所述第二閾值時,所述選擇器選擇所述第三記憶體裝置,並且其中,所述處理器將所述目標資料和所述元資料儲存在所述第三記憶體裝置中。
  6. 如請求項1所述的記憶體系統,其中,所述多種類型的記憶體裝置包括揮發性記憶體裝置和非揮發性記憶體裝置,並且 當所述目標資料已被儲存在所述揮發性記憶體裝置中時,所述處理器將所述元資料儲存在所述非揮發性記憶體裝置中。
  7. 一種記憶體系統的操作方法,該記憶體系統包括多種類型的記憶體裝置,其中,所述多種類型的多個記憶體裝置包括第一記憶體裝置以及第二記憶體裝置,以及控制多個記憶體裝置中的每一個的控制器,所述方法包括以下步驟:確定R/W比,該R/W比是目標資料的讀操作次數與寫操作次數之比;將所述R/W比與所述多個記憶體裝置中的每一個的閾值進行比較;基於比較步驟的結果在所述多種類型的記憶體裝置當中選擇用於儲存所述目標資料的記憶體裝置;基於儲存所述目標資料的記憶體裝置在所述多種類型的記憶體裝置當中選擇用於儲存與所述目標資料對應的元資料的記憶體裝置;以及將所述目標資料和所述元資料儲存在各個選擇的記憶體裝置中,其中,比較所述R/W比的步驟將所述R/W比與對應於第一記憶體裝置的第一閾值進行比較,其中,當所述R/W比大於或等於所述第一閾值時,選擇用於儲存所述目標資料的記憶體裝置的步驟選擇所述第一記憶體裝置,並且其中,儲存所述目標資料和所述元資料的步驟將所述目標資料儲存在所述第一記憶體裝置中。
  8. 如請求項7所述的操作方法,其中,所述第一記憶體裝置為揮發性記憶體裝置並且所述第二記憶體裝置為非揮發性記憶體裝置, 其中,當所述選擇器選擇所述第一記憶體裝置用於儲存所述目標資料,選擇用於儲存所述元資料的記憶體裝置的步驟選擇所述第二記憶體裝置用於儲存所述元資料,並且其中,儲存所述目標資料和所述元資料的步驟將所述元資料儲存在所述第二記憶體裝置中。
  9. 如請求項8所述的操作方法,其中,所述多種類型的多個記憶體裝置還包括第三記憶體裝置,其中,當所述R/W比小於所述第一閾值時,比較所述R/W比的步驟將所述R/W比與對應於所述第二記憶體裝置的第二閾值進行比較,其中,當所述R/W比大於或等於所述第二閾值時,選擇用於儲存所述目標資料的記憶體裝置的步驟選擇所述第二記憶體裝置,並且其中,儲存所述目標資料和所述元資料的步驟將所述目標資料儲存在所述第二記憶體裝置中。
  10. 如請求項9所述的操作方法,其中,當所述選擇器選擇所述第二記憶體裝置用於儲存所述目標資料,選擇用於儲存所述元資料的記憶體裝置的步驟選擇所述第二記憶體裝置用於儲存所述元資料,並且其中,儲存所述目標資料和所述元資料的步驟將所述元資料儲存在所述第二記憶體裝置中。
  11. 如請求項10所述的操作方法,其中,當所述R/W比小於所述第二閾值時,選擇用於儲存所述目標資料的記憶體裝置的步驟選擇所述第三記憶體裝置, 其中,選擇用於儲存所述元資料的記憶體裝置的步驟選擇所述第三記憶體裝置,並且其中,儲存所述目標資料和所述元資料的步驟將所述目標資料和所述元資料儲存在所述第三記憶體裝置中。
  12. 如請求項7所述的操作方法,其中,所述多種類型的記憶體裝置包括揮發性記憶體裝置和非揮發性記憶體裝置,並且其中,儲存所述目標資料和所述元資料的步驟將所述目標資料儲存在所述揮發性記憶體裝置中並將所述元資料儲存在所述非揮發性記憶體裝置中。
  13. 一種計算系統,該計算系統包括:第一記憶體系統,該第一記憶體系統包括多種類型的記憶體裝置,其中,所述多種類型的多個記憶體裝置包括第一記憶體裝置、第二記憶體裝置,以及第三記憶體裝置,以及第一控制器,該第一控制器被配置為控制多個記憶體裝置中的每一個;第二記憶體系統,該第二記憶體系統包括類型與所述多個記憶體裝置的類型中的任一個不同的附加記憶體裝置以及第二控制器,該第二控制器被配置為控制所述附加記憶體裝置;以及記憶體板管理單元,該記憶體板管理單元被配置為與所述第一記憶體系統和所述第二記憶體系統執行資料通信,其中,所述第一控制器和所述第二控制器: 確定相對於從所述記憶體板管理單元接收的目標資料的R/W比,該R/W比表示對所述目標資料執行的讀操作次數與對所述目標資料執行的寫操作次數之比,將所述R/W比與所述第一記憶體系統中的所述多個記憶體裝置和所述第二記憶體系統中的所述附加記憶體裝置中的每一個的閾值進行比較,在所述多種類型的記憶體裝置和所述附加記憶體裝置中選擇要儲存所述目標資料的目標記憶體裝置,並且將所述目標資料儲存在所述目標記憶體裝置中,其中,所述第一控制器將所述R/W比與對應於所述第一記憶體裝置的第一閾值進行比較,並且當所述R/W比大於或等於所述第一閾值時,選擇所述第一記憶體裝置作為所述目標記憶體裝置。
  14. 如請求項13所述的計算系統,其中,當所述R/W比小於所述第一閾值時,所述第一控制器將所述R/W比與對應於所述第二記憶體裝置的第二閾值進行比較,並且當所述R/W比大於或等於所述第二閾值時,選擇所述第二記憶體裝置作為所述目標記憶體裝置。
  15. 如請求項14所述的計算系統,其中,當所述R/W比小於所述第二閾值時,所述第一控制器將所述R/W比與對應於所述第三記憶體裝置的第三閾值進行比較,並且當所述R/W比大於或等於所述第三閾值時,選擇所述第三記憶體裝置作為所述目標記憶體裝置。
  16. 如請求項15所述的計算系統,其中,當所述R/W比小於所述第三閾值時,所述第一控制器將所述目標資料提供給所述記憶體板管理單元, 所述記憶體板管理單元將所接收的目標資料提供給所述第二控制器,並且所述第二控制器將所述目標資料儲存在所述附加記憶體裝置中。
  17. 如請求項16所述的計算系統,其中,當所述R/W比大於所述第一閾值、所述第二閾值或所述第三閾值時,所述第二控制器將所述目標資料從所述附加記憶體裝置提供給所述記憶體板管理單元,所述記憶體板管理單元將所接收的目標資料提供給所述第一控制器,並且所述第一控制器將所述目標資料儲存在所述第一記憶體系統的所述多種類型的記憶體裝置中的一個中。
TW108100119A 2018-03-28 2019-01-02 記憶體系統、其操作方法和包括該記憶體系統的計算系統 TWI795505B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180036122A KR20190113437A (ko) 2018-03-28 2018-03-28 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 컴퓨팅 시스템
KR10-2018-0036122 2018-03-28

Publications (2)

Publication Number Publication Date
TW201942750A TW201942750A (zh) 2019-11-01
TWI795505B true TWI795505B (zh) 2023-03-11

Family

ID=68054382

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108100119A TWI795505B (zh) 2018-03-28 2019-01-02 記憶體系統、其操作方法和包括該記憶體系統的計算系統

Country Status (5)

Country Link
US (2) US10754570B2 (zh)
JP (1) JP7368942B2 (zh)
KR (1) KR20190113437A (zh)
CN (1) CN110321071B (zh)
TW (1) TWI795505B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021052353A (ja) 2019-09-26 2021-04-01 日本電気株式会社 送信側中継装置、システム、方法、及びプログラム
US11520488B2 (en) * 2020-04-22 2022-12-06 Dell Products, L.P. Method and apparatus for identifying a device missing from a consistency group
TWI767584B (zh) * 2021-02-24 2022-06-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170075812A1 (en) * 2015-09-16 2017-03-16 Intel Corporation Technologies for managing a dynamic read cache of a solid state drive
CN107015917A (zh) * 2015-12-18 2017-08-04 三星电子株式会社 储存装置和其读取回收方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4933861B2 (ja) * 2005-09-22 2012-05-16 株式会社日立製作所 ストレージ制御装置、データ管理システムおよびデータ管理方法
US8341300B1 (en) * 2007-08-30 2012-12-25 Virident Systems, Inc. Systems for sustained read and write performance with non-volatile memory
KR101464338B1 (ko) 2007-10-25 2014-11-25 삼성전자주식회사 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템
US7801994B2 (en) * 2007-11-29 2010-09-21 Hitachi, Ltd. Method and apparatus for locating candidate data centers for application migration
JP2011128792A (ja) * 2009-12-16 2011-06-30 Toshiba Corp メモリ管理装置
US8230123B2 (en) * 2010-08-23 2012-07-24 International Business Machines Corporation Using information on input/output (I/O) sizes of accesses to an extent to determine a type of storage device for the extent
JP2012094030A (ja) 2010-10-28 2012-05-17 Hitachi Ltd 計算機システム及び処理制御方法
US8773904B2 (en) * 2011-12-28 2014-07-08 Apple Inc. Optimized threshold search in analog memory cells
KR101999132B1 (ko) 2012-12-17 2019-10-01 삼성전자주식회사 가상 머신 환경에서 메모리 관리 방법 및 장치
US9792227B2 (en) 2014-08-19 2017-10-17 Samsung Electronics Co., Ltd. Heterogeneous unified memory
KR102491651B1 (ko) * 2015-12-14 2023-01-26 삼성전자주식회사 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법
KR20170099437A (ko) * 2016-02-23 2017-09-01 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
JP2018032323A (ja) * 2016-08-26 2018-03-01 株式会社東芝 記憶装置、メモリic、および、メモリicへのライト処理方法
TWI602061B (zh) * 2017-03-16 2017-10-11 群聯電子股份有限公司 資料寫入方法、記憶體儲存裝置與記憶體控制電路單元
KR102394695B1 (ko) 2017-11-08 2022-05-10 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170075812A1 (en) * 2015-09-16 2017-03-16 Intel Corporation Technologies for managing a dynamic read cache of a solid state drive
CN107015917A (zh) * 2015-12-18 2017-08-04 三星电子株式会社 储存装置和其读取回收方法

Also Published As

Publication number Publication date
CN110321071A (zh) 2019-10-11
US10754570B2 (en) 2020-08-25
KR20190113437A (ko) 2019-10-08
TW201942750A (zh) 2019-11-01
JP2019175433A (ja) 2019-10-10
US20200348871A1 (en) 2020-11-05
US20190303032A1 (en) 2019-10-03
JP7368942B2 (ja) 2023-10-25
CN110321071B (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
CN110008149B (zh) 融合式存储器件及其操作方法
CN111352857B (zh) 存储器系统及其操作方法
US20200348871A1 (en) Memory system, operating method thereof and computing system for classifying data according to read and write counts and storing the classified data in a plurality of types of memory devices
US11461024B2 (en) Computing system and operating method thereof
CN112214161B (zh) 存储器系统及其操作方法
US11221931B2 (en) Memory system and data processing system
US11016666B2 (en) Memory system and operating method thereof
KR102433549B1 (ko) 통합 메모리 디바이스 및 그의 동작 방법
US20190129483A1 (en) Computing device and operation method thereof
KR20190123038A (ko) 메모리 시스템 및 그것의 동작방법