TWI539286B - 記憶體系統及存取記憶體之方法 - Google Patents

記憶體系統及存取記憶體之方法 Download PDF

Info

Publication number
TWI539286B
TWI539286B TW101107727A TW101107727A TWI539286B TW I539286 B TWI539286 B TW I539286B TW 101107727 A TW101107727 A TW 101107727A TW 101107727 A TW101107727 A TW 101107727A TW I539286 B TWI539286 B TW I539286B
Authority
TW
Taiwan
Prior art keywords
memory
address
channel
request
region
Prior art date
Application number
TW101107727A
Other languages
English (en)
Other versions
TW201243606A (en
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 TW201243606A publication Critical patent/TW201243606A/zh
Application granted granted Critical
Publication of TWI539286B publication Critical patent/TWI539286B/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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage 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
    • 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

Description

記憶體系統及存取記憶體之方法
記憶體系統用於諸如個人數位助理(PDA)、膝上型電腦、行動電話及數位相機之諸多裝置中。此等記憶體系統中之某些記憶體系統包含接收來自一單個匯流排之記憶體請求之多個記憶體裝置。
在附圖之圖中以實例方式而非限制方式圖解說明某些實施例。
當與其他系統相比時,多通道記憶體系統具有更大頻寬及經減少之電力使用。在某些系統中,每一通道服務一主裝置或主裝置群組。此指派允許更嚴格的服務控制之品質,但可減少可自記憶體系統獲得之頻寬。當主裝置係休眠時,相關聯通道之接針及頻寬係閒置的且不能被該系統之剩餘部分使用。指派至一主裝置或主裝置群組之每一通道的記憶體密度亦可被限制。例如,若一主裝置僅需記憶體之128個千位元組(KB),且最小可用通道提供記憶體之一個十億位元組(GB),則該通道之一大部分將不可用,此乃因整個通道被指派至該主裝置。
發明者已發現,可藉由操作具有多個記憶體單元區域之一記憶體系統來解決上述之挑戰以及其他挑戰,其中每一區域具有(例如)其自身之通道定義。區域性通道定義使得能夠組態(例如,調諧)記憶體系統之電力使用及效能。
在以下說明中,個別數字(例如,下文中被稱為「位 元」之二進制數字)係表示在方括弧內。一單個位元係表示為位元[G],其中G係0以上之一非負整數。一群組之連續位元係表示為位元[J:K],其中J及K係非負整數。[J:K]中之該等連續位元以K開始且以J結束。一位元組具有八個位元,且係由B[P]表示,其中P係識別該位元組之一非負整數。
圖1係根據本發明之各種實施例之一系統100之一方塊圖。系統100包含透過一第一匯流排130耦合至一橋接電路120之一第一處理器110。一第二處理器134亦係透過第一匯流排130耦合至橋接電路120。橋接電路120係透過一第二匯流排150耦合至一記憶體系統140。橋接電路120藉助一記憶體控制器160執行來自處理器110及處理器134之記憶體請求,且經由第一匯流排130及第二匯流排150在處理器110及處理器134與記憶體系統140之間傳送資料。記憶體系統140中之記憶體單元係根據記憶體控制器160中之一記憶體映射170來定位。可將記憶體系統140中之記憶體單元劃分(例如,分割)為諸如一第一區域182及一第二區域184之多個區域。記憶體系統140可包含(例如)一或多個動態隨機存取記憶體(DRAM)裝置、同步動態隨機存取記憶體(SDRAM)裝置及快閃記憶體裝置。處理器110及處理器134可稱為主裝置,且系統100中可存在兩個以上主裝置。
圖2係根據本發明之各種實施例之一系統200之一方塊圖。系統200包含一第一處理器,諸如包含於一系統單晶片(SOC)210中透過一匯流排250耦合至一記憶體系統240 之一者。一第二處理器(諸如包含於SOC 256中之一者)亦係透過匯流排250耦合至記憶體系統240。SOC 210及SOC 256各自在一單個積體電路晶片上包含一起操作為一系統之一處理器及至少一個其他積體電路。SOC 210及SOC 256可稱為主裝置,且系統200中可存在兩個以上主裝置。SOC 210藉助經由匯流排250傳送資料至記憶體系統240及自記憶體系統240傳送資料之一記憶體控制器260執行記憶體請求。記憶體系統240中之記憶體單元係根據記憶體控制器260中之一記憶體映射270來定位。SOC 256亦包含用以執行至記憶體系統240之記憶體請求之一記憶體控制器280及一記憶體映射281。可將記憶體系統240中之記憶體單元劃分為諸如一第一區域282及一第二區域284之多個區域。記憶體系統240可包含(例如)一或多個DRAM裝置、SDRAM裝置及快閃記憶體裝置。
圖1及圖2中所示之每一記憶體系統140及240可係經配置以透過耦合至諸如匯流排150或匯流排250之一單個匯流排之多個接針來交換資料(例如,資訊)之一單個記憶體裝置或多個記憶體裝置。圖3係根據本發明之各種實施例之一記憶體系統300之一方塊圖。記憶體系統300包括經並列配置之八個記憶體裝置310、312、314、316、318、320、322及324。記憶體裝置310、312、314、316、318、320、322及324中之每一者係透過八個資料接針340而耦合至一系統中之相同匯流排(未展示)以透過該匯流排傳送資料。記憶體裝置310、312、314、316、318、320、322及324可 係(例如)DRAM裝置、SDRAM裝置、快閃記憶體裝置或其任一組合,且可放置於除圖3中所示之並列配置以外之一平面中。記憶體裝置310、312、314、316、318、320、322及324中之每一者中可存在多於八個或少於八個之資料接針。
諸如記憶體映射170及記憶體映射270(參見圖1及圖2)之一記憶體映射可係指示記憶體系統300中之記憶體單元如何相對於彼此而定向之一資料結構。自一主裝置接收之一記憶體位址係可或可不對應於(例如,指示或表示)記憶體系統300中之實體記憶體單元之位置的數字之一集合。一記憶體映射含有用以使來自主裝置之位址與記憶體系統300中之一或多個實體記憶體單元匹配之資料。
根據不同類別之位址存取一記憶體單元以用於讀取及寫入操作,且每一類別之位址具有一定義。一第一類別之位址包含一列位址及一行位址,該列位址及該行位址一起對應於具有多個列及行之一記憶體單元陣列中之一列及一行之一交叉點處之一個記憶體單元。記憶體單元在多通道記憶體系統中經劃分為通道。一通道位址係識別一多通道記憶體系統中之一通道中之多個記憶體單元之一第二類別之一位址。一記憶庫位址係識別多個通道之記憶體單元之一記憶庫之一第三類別之一位址。一系統可具有兩個或兩個以上記憶體單元記憶庫。上文所論述之記憶體映射亦使得將一記憶體系統中之記憶體單元劃分為諸如圖1及圖2中所示之區域182、184、282及284之區域。一區域位址係識別 如本文下面將所闡述之一多通道記憶體系統中之記憶體單元之一區域之一第四類別之一位址。
圖4係根據本發明之各種實施例之一記憶體單元之一位址400之一方塊圖。位址400係由32個位元[31:0]組成,每一位元具有一值「0」或「1」,使用位元之組合來指示將在何處找到該記憶體單元。位址400之位元係自左至右連續配置。位址400向右具有較低階位元,且最低階位元[0]稱為一最低有效位元(LSB)410。位址400向左具有較高階位元,且最高階位元[31]稱為一最高有效位元(MSB)420。位址400中之一較低階位元較靠近LSB 410,且一較高階位元較靠近MSB 420。位址400包含係包含MSB 420之最高階位元之列位元430[31:16]。接下來在位址400中係記憶庫位元440[15:13]、行位元450[12:3]及通道位元460[2:0]。通道位元460係包含LSB 410之最低階位元。根據本發明之各種實施例,位址400可包括除了32個位元以外之30、40、42或任何數目個位元。亦可使用與所展示不同之階之位元,包含一相反階。位址400中之列位址430、記憶庫位址440、行位址450及通道位址460之數目及位置係對位址400之定義。可藉由改變此等位元之數目或位置來改變該定義。位址400之定義對在一記憶體系統中如何儲存資料及在何處儲存資料具有影響。每一區域可具有一不同位址定義。
記憶體系統300中之記憶體裝置310、312、314、316、318、320、322及324可操作為一多通道系統,且可針對每 一區域獨特定義通道。稱為區域性通道定義之此等定義允許每區域使用所有資料接針340或僅資料接針340之一小子集。區域性通道定義使得能夠基於將儲存於該區域中之資料之類型組態(例如,裁剪)一記憶體系統中之不同區域。例如,當與具有淺通道之一區域相比時,用於圖形之一記憶體系統之一區域可具有將藉助針對每一記憶體請求之減少數目之啟動節省電力之一深通道定義。與一淺通道相比,一深通道將在移動至下一通道前每存取存取較多資料。啟動之數目係在一記憶體請求之執行期間所存取之記憶體單元之列之數目。圖形主裝置可係對延時相當地不敏感,且執行一記憶體請求之額外幾毫微秒將不實質上影響效能。
根據本發明之各種實施例藉由位址400中之通道位元460實施區域性通道定義。通道位元460可定位於位址400中之任何位置處,且可係彼此連續或不連續的。
根據本發明之各種實施例可以至少兩種方式實施該等區域。例如,可將一區域位址之位元添加至位址400以指示諸如圖1及圖2中所示之區域182、184、282及284之記憶體單元之一區域。該等區域亦可由多個可程式化暫存器來定義。
圖5係根據本發明之各種實施例之一可程式化暫存器500之一方塊圖。可比較來自一主裝置之與一記憶體請求相關聯(例如,在該記憶體請求中)之一位址(「一記憶體請求位址」)與可程式化暫存器500中之一值以判定記憶體之哪一 區域具有對應於該位址之記憶體單元。可程式化暫存器500包含十六個位元以定義一區域,但可使用更多或更少位元。記憶體之每一區域係藉由其自身之可程式化暫存器來定義。該等區域係不重疊的。可程式化暫存器500可經重新程式化以在一系統之壽命期間改變該等區域之定義。
在一多通道記憶體系統中之每一區域可具有一不同之通道深度。一通道之深度可經定義為將在位址移動(例如,滾動、遞增或交叉)至另一通道中之前自該通道存取之位元組之數目。可藉由對記憶體裝置之一預取及通道位元460在位址400中之位置來判定該通道之深度。若多通道記憶體系統一次接收一個以上位元,則一預取係該多通道記憶體系統中可接收之最小數目之位元。該預取係由記憶體裝置判定。若通道位元460係位於位址400之最低階位元中,則該通道係淺的且一單個記憶體請求更可能跨越多個通道。當通道位元460移升至在位址400中之較高階位元時,該通道變深。在交叉至下一通道之前可自一較深通道存取較多位元組。例如,相對於圖4中所示之位址400,三個通道位元460[2:0]係最低階位元且定義係一淺通道之一8位元組通道。圖6係根據本發明之各種實施例之一記憶體單元之一位址600之一方塊圖。位址600係由在一LSB 610[0]與一MSB 620[31]之間的32個位元[31:0]組成。位址600包含係最高階位元之列位元630[31:16]及然後記憶庫位元640[15:13]。將十個行位元650分裂成兩組[12:9]及[5:0],且三個通道位元660[8:6]係定位於行位元650[12:9]與 [5:0]之間。因此,行位元650係不連續的。當與圖4中所示之位址400相比較時,位址600中之通道位元660處於比位址400中之通道位元460高之一階。位址600定義比由位址400定義之8位元組通道深之一256位元組通道。
圖7係根據本發明之各種實施例之一記憶體單元之一位址700之一方塊圖。位址700係由在一LSB 710[0]與一MSB 720[31]之間的32個位元[31:0]組成。位址700中之最高階位元係三個通道位元760[31:29]。繼通道位元760之後,位址700依序包含列位元770[28:13]、記憶庫位元780[12:10]及行位元790[9:0]。通道位元760定義比一記憶體單元記憶庫深之一通道,此乃因通道位元760高於記憶庫位元780。位址700表示一經劃分之記憶體系統。
位址400、600及700各自具有多個類別之位址,包含一列位址、一記憶庫位址、一行位址及一通道位址。該列位址、該記憶庫位址及該行位址在所有三個位址400、600及700中相對於彼此具有相同定義。該通道位址之定義相對於位址400、600及700中之每一者中之其他類別之位址係不同的。該通道位址之不同定義導致針對位址400、600及700中之每一者之通道之一不同深度。
改變該通道之深度意味著一記憶體控制器將在該位址遞增至下一通道中之前存取一單個通道內之更多或更少位元組。此對如何將資料儲存於一記憶體系統中(如圖8及圖9中所圖解說明)有影響。
圖8係根據本發明之各種實施例圖解說明由一記憶體系 統300接收之資料之一示意圖。此處,記憶體系統300經展示正接收經定址至具有8個位元組之一深度之淺通道之64個位元組B[0]至B[63],其中通道位元位於每一位址之最低階位元[n:0]中。圖4之位址400係一淺通道之一實例,其中位址400之三個通道位元460[2:0]定義一8位元組通道。記憶體裝置310、312、314、316、318、320、322及324中之每一者具有8個位元組之一預取且在一記憶體請求之執行期間接收一單個通道之位元組。通道位址每8個位元組而遞增,且將針對所請求之每一額外8個位元組存取下一記憶體裝置中之下一個通道。結果係,將8個位元組B[0]至B[7]寫入至記憶體裝置310,將8個位元組B[8]至B[15]寫入至記憶體裝置312,諸如此類。因此,亦將8個位元組寫入至剩餘記憶體裝置314、316、318、320、322及324中之每一者。此等存取可並列發生或在時間上跨越該等通道分配。
當該等通道係較深時,將資料以不同方式儲存於該記憶體系統中。圖9係根據本發明之各種實施例圖解說明由記憶體系統300接收之資料之一示意圖。在此情形中,記憶體系統300經展示正接收經定址至具有16個位元組之一深度(深於圖8中所表示之通道)之通道之64個位元組B[0]至B[63]。圖9中所示資料之位址具有通道位元[n:1],高於圖8中之通道位元之一個位元。如在圖8中,記憶體裝置310、312、314、316、318、320、322及324中之每一者具有8個位元組之一預取且在一記憶體請求之執行期間接收 一單個通道之位元組。記憶體裝置310、312及314中之每一者接收16個位元組。記憶體裝置318、320、322及324不接收資料。結果係,將64個位元組B[0]至B[63]寫入至記憶體裝置310、312、314及316。可同時或在不同時間存取每一通道以完成請求。
當通道位址位元係位於諸如圖4中所示之位址400之一位址中之較低階位址位元中時,改變通道之深度具有最大影響。可藉由將通道位元向上移位來組態(例如,按比例調整)一多通道記憶體系統之電力使用及效能。當使用一淺通道時,每記憶體請求所存取之記憶體裝置之數目增加,可能減小彼記憶體請求之存取時間。然而,針對一淺通道之每記憶體請求之啟動數目高於針對一深通道之每記憶體請求之啟動數目。例如,當該等通道位元係指派至位址400中之位元[n:0]以形成如圖8中所圖解說明之一淺的8位元組通道時,一64位元組記憶體請求將使用記憶體系統300之所有頻寬存取所有8個記憶體裝置310、312、314、316、318、320、322及324。
當使用一較深通道時,每記憶體請求所存取之記憶體裝置之數目減小,可能增加彼記憶體請求之存取時間。然而,針對一較深通道之每記憶體請求之啟動數目低於針對一淺通道之每記憶體請求之啟動數目。例如,若將該等通道位元指派至位址400中之位元[n:1]以形成如圖9中所圖解說明之一16位元組通道,則一64位元組記憶體請求將使用記憶體系統300之可用頻寬的二分之一來啟動僅四個記憶 體裝置310、312、314及316。在另一實例中,將該等通道位元指派至位址400中之位元[n:2]以形成一32位元組通道。一64位元組記憶體請求將使用記憶體系統300之可用頻寬的四分之一來存取兩個記憶體裝置310及312。
根據本發明之各種實施例,基於電力使用與效能之間的一所期望之平衡而選擇一記憶體系統之每一區域之一通道深度。可以以下方式選擇圖1中所示之記憶體系統140之每一區域之一通道深度。第一區域182可服務(例如)以一低延時回應及一淺通道深度操作之一一般處理器。淺通道深度導致使用一系統中之所有記憶體裝置來提升每記憶體請求之可用頻寬。第一區域182將使用比具有較深通道之一區域多之電力來為每一記憶體請求供應更多頻寬。在淺通道中執行一長記憶體請求可導致資料繞所有通道迴圈不止一次。
第二區域184可具有較深通道以服務(例如)更能容許延時之一圖形處理器。第二區域184將供應每記憶體請求之較少頻寬,但將使用較少電力執行該記憶體請求,此乃因存取記憶體單元之較少列。一圖形處理器特別適用於圖形應用程式。
在另一實例中,根據本發明之各種實施例,包含十三個記憶體裝置之一記憶體系統可以以下方式操作。記憶體系統之一通道X經定義以包含記憶體裝置0至記憶體裝置7。在通道X內,定義區域0至區域F。區域0至區域3經定義有8個位元組之一深度。區域4至區域7經定義有32個位元組之 一深度。區域8至區域F經定義有64個位元組之一深度。一通道Y經定義以包含記憶體裝置8至記憶體裝置11。在通道Y內,定義區域0至區域4。區域0至區域1經定義有64個位元組之一深度且區域2至區域3經定義有128個位元組之一深度。一通道Z經定義為僅剩餘之記憶體裝置13。通道Z包括僅一個記憶體裝置且不具有區域性通道深度映射。可針對作用及非作用週期兩者單獨地組態(例如,控制)每一區域及通道之電力使用且效能可自一個通道至另一通道變化。
圖10係根據本發明之各種實施例之一系統1000之一方塊圖。將一記憶體請求經由一第一匯流排1016自諸如一第一處理器1010之一主裝置發送(例如,傳輸)至一從裝置1020。系統1000亦包含透過第一匯流排1016耦合至從裝置1020之一第二處理器1022。從裝置1020透過第一匯流排1016自諸如處理器1010及處理器1022之多個主裝置接收記憶體請求。從裝置1020經由一第二匯流排1024發送每一記憶體請求至基於記憶體請求之大小及位址而評估該記憶體請求之一預解碼區塊1030。預解碼區塊1030判定記憶體請求所指向之記憶體系統1060之一區域及在該區域中之通道之深度。預解碼區塊1030重新配置記憶體請求中之位址之位元,以使得將在適當通道中執行該記憶體請求。預解碼器可比較記憶體請求之大小與目標區域中通道之深度且產生子異動。一子異動可係將寫入至每一通道或自每一通道讀取之初始請求之部分(例如,「配量」)。然後,預解碼區 塊1030經由一第三匯流排1036將記憶體請求發送至一佇列1040,其中記憶體請求等待經由一第四匯流排1044發送至一記憶體控制器1050。記憶體控制器1050透過一第五匯流排1066執行一記憶體系統1060中之記憶體請求或子異動。根據記憶體控制器1050中之一記憶體映射1070執行記憶體請求或子異動。記憶體系統1060可係圖3中所示之包含記憶體裝置310、312、314、316、318、320、322及324之記憶體系統300。藉由預解碼區塊1030及記憶體控制器1050實施本說明中所闡述之本發明之實施例。
記憶體控制器1050可藉由將同時命令發出至記憶體系統1060中之通道之某些通道或所有通道來執行記憶體請求。記憶體控制器1050可比較記憶體請求之大小與每一通道之深度及通道之數目以判定使用每一通道欲傳達之位元組之數目。若每一通道具有相同數目之記憶體子異動,則可在相同循環期間將命令傳播至在記憶體系統1060中之多個通道,以使得多個通道接收相同命令。若針對該等通道記憶體子異動之數目不同,則可發出兩個不同命令以執行記憶體請求。一記憶體子異動執行少於整個記憶體請求。藉助多個晶片選擇(CS)信號發出命令以使得在記憶體系統1060中之正確記憶體裝置接收並執行該等命令。當其接收一命令時,每一通道對記憶體控制器1050作出回應。
圖11係根據本發明之各種實施例之一種方法1100之一流程圖。在方塊1110中,方法1100開始。在方塊1120中,在一預解碼區塊中接收來自一主裝置之包含一請求位址之一 記憶體請求。在方塊1130中,判定記憶體請求之大小及請求位址所指向之一記憶體系統之區域。在方塊1140中,判定請求位址所指向之記憶體系統之區域中之通道之深度。在方塊1150中,若請求位址對應於記憶體系統之一第一區域中之記憶體單元,則根據一第一定義將請求位址之位元重新配置成一第一記憶體位址。在方塊1160中,若請求位址對應於記憶體系統之一第二區域中之記憶體單元,則根據一第二定義將請求位址之位元重新配置成一第二記憶體位址。在方塊1170中,在耦合於預解碼區塊與記憶體系統之間的一記憶體控制器中執行該記憶體請求。在方塊1180中,方法1100結束。各種實施例可具有比圖11中所示之彼等多或少之活動。在某些實施例中,可重複、彼此替代及/或以串列或並列方式執行圖11中之該等活動。
圖12係根據本發明之各種實施例之一種方法1200之一方塊圖。在方塊1210中,方法1200開始。在方塊1220中,將記憶體單元劃分為記憶體單元之一第一區域及記憶體單元之一第二區域。在方塊1230中,根據將定址第一區域中之哪些記憶體單元來選擇一第一位址定義。在方塊1240中,根據將定址第二區域中之哪些記憶體單元來選擇一第二位址定義,該第二位址定義不同於該第一位址定義。在方塊1250中,方法1200結束。各種實施例可具有比圖12中所示之彼等多或少之活動。在某些實施例中,可重複、彼此替代及/或以串列或並列方式執行圖11及圖12中之該等活動。
圖13係根據本發明之各種實施例之一記憶體單元之一位址1300之一方塊圖。位址1300係由在一LSB 1310[0]與一MSB 1320[31]之間的32個位元[31:0]組成。位址1300包含係最高階位元(包含MSB 1320)之列位元1330[31:16]。位址1300亦包含記憶庫位元1340[14:12]、行位元1350[10:1]及三個通道位元1360[15]、[11]及[0]。列位元1330、記憶庫位元1340及行位元1350以一單個通道位元1360彼此分離。通道位元1360係分配於整個位址1300且係彼此不連續的。
對記憶體請求迅速且高效地作出回應之記憶體系統係有用的。可藉由實施本文中所闡述之各種實施例而產生此等系統,該等系統可操作以包含將一記憶體系統劃分為區域及以一不同方式存取每一區域,以便在不使用專用通道之情況下允許記憶體系統具有以較少電力操作之某些區域及以低延時對記憶體請求作出回應之其他區域。該等區域可係根據將儲存於其中之資料之類型來定義。跨越一單個記憶體系統,電力使用與延時之間的關係可變化。每一區域之大小係靈活的且不必由記憶體系統中之記憶體裝置之實體配置來判定。
本文中根據本發明之各種實施例所闡述之記憶體系統及方法實現跨越一記憶體系統之不同區域之記憶體單元分組之一變化粒度。記憶體單元之鄰近區域可具有帶有不同特性之通道,該等不同特性係不基於實體記憶體裝置之大小而基於電力使用與效能之間的一所期望之平衡。可在一單 個通道或多個通道中處理一記憶體請求以達成所期望之平衡。存取記憶體系統之型樣可因此取決於該等通道之一組態及記憶體請求之一大小。一較小記憶體請求可藉助較少之記憶體單元之通道來完成以節約電力。可基於記憶體請求之大小及該等通道之一定義而跨越記憶體單元之通道分配每一記憶體請求。例如,可在總共具有256個位元之一區域中之四個64位元通道中之一者中存取32個位元而不是一次存取所有256個位元。因此,記憶體請求可經實施以避免保留過多數目之記憶體單元。所提議之系統可基於每一請求之大小來組態記憶體單元之存取。
已闡述管理一記憶體系統之實例結構及方法。儘管已闡述特定實施例,但將明瞭,可對此等實施例作出各種修改及改變。例如,記憶體系統可包含具有多個通道之一單個記憶體裝置或各自具有一或多個通道之多個記憶體裝置。因此,應將本說明書及圖式視為具有一說明意義而非一限制意義。
本發明之[發明摘要]經提供以符合需要允許讀者迅速確定技術性發明之性質之一發明摘要之37 C.F.R.§ 1.72(b)。該發明摘要係在理解其將不用以闡釋或限制申請專利範圍之情況下提交的。另外,在前述[實施方式]中,可看到,出於簡化本發明之目的將各種特徵一起集合於一單個實施例中。不應將本發明之此種方法闡釋為限制申請專利範圍。因此,特此將以下申請專利範圍併入至[實施方式]中,其中每一請求項獨立地作為一單獨實施例。
100‧‧‧系統
110‧‧‧第一處理器
120‧‧‧橋接電路
130‧‧‧第一匯流排
134‧‧‧第二處理器
140‧‧‧記憶體系統
150‧‧‧第二匯流排
160‧‧‧記憶體控制器
170‧‧‧記憶體映射
182‧‧‧第一區域
184‧‧‧第二區域
200‧‧‧系統
210‧‧‧系統單晶片
240‧‧‧記憶體系統
250‧‧‧匯流排
256‧‧‧系統單晶片
260‧‧‧記憶體控制器
270‧‧‧記憶體映射
280‧‧‧記憶體控制器
281‧‧‧記憶體映射
282‧‧‧第一區域
284‧‧‧第二區域
300‧‧‧記憶體系統
310‧‧‧記憶體裝置
312‧‧‧記憶體裝置
314‧‧‧記憶體裝置
316‧‧‧記憶體裝置
318‧‧‧記憶體裝置
320‧‧‧記憶體裝置
322‧‧‧記憶體裝置
324‧‧‧記憶體裝置
340‧‧‧接針
400‧‧‧位址
410‧‧‧最低有效位元
420‧‧‧最高有效位元
430‧‧‧列位元
440‧‧‧記憶庫位元
450‧‧‧行位元
460‧‧‧通道位元
500‧‧‧可程式化暫存器
600‧‧‧位址
610‧‧‧最低有效位元
620‧‧‧最高有效位元
630‧‧‧列位元
640‧‧‧記憶庫位元
650‧‧‧行位元
660‧‧‧通道位元
700‧‧‧位址
710‧‧‧最低有效位元
720‧‧‧最高有效位元
760‧‧‧通道位元
770‧‧‧列位元
780‧‧‧記憶庫位元
790‧‧‧行位元
1000‧‧‧系統
1010‧‧‧第一處理器
1016‧‧‧第一匯流排
1020‧‧‧從裝置
1022‧‧‧第二處理器
1024‧‧‧第二匯流排
1030‧‧‧預解碼區塊
1036‧‧‧第三匯流排
1040‧‧‧佇列
1044‧‧‧第四匯流排
1050‧‧‧記憶體控制器
1060‧‧‧記憶體系統
1066‧‧‧第五匯流排
1070‧‧‧記憶體映射
1300‧‧‧位址
1310‧‧‧最低有效位元
1320‧‧‧最高有效位元
1330‧‧‧列位元
1340‧‧‧記憶庫位元
1350‧‧‧行位元
1360‧‧‧通道位元
圖1係根據本發明之各種實施例之一系統之一方塊圖;圖2係根據本發明之各種實施例之一系統之一方塊圖;圖3係根據本發明之各種實施例之一記憶體系統之一方塊圖;圖4係根據本發明之各種實施例之一記憶體單元之一位址之一方塊圖;圖5係根據本發明之各種實施例之一可程式化暫存器之一方塊圖;圖6係根據本發明之各種實施例之一記憶體單元之一位址之一方塊圖;圖7係根據本發明之各種實施例之一記憶體單元之一位址之一方塊圖;圖8係根據本發明之各種實施例圖解說明由一記憶體系統接收之資料之一示意圖;圖9係根據本發明之各種實施例圖解說明由該記憶體系統接收之資料之一示意圖;圖10係根據本發明之各種實施例之一系統之一方塊圖;圖11係根據本發明之各種實施例之一種方法之一流程圖;圖12係根據本發明之各種實施例之一種方法之一流程圖;及圖13係根據本發明之各種實施例之一記憶體單元之一位址之一方塊圖。

Claims (19)

  1. 一種記憶體系統,其包括:一預解碼區塊,其用以:接收與對應於一記憶體系統中之記憶體單元之一記憶體請求相關聯之一請求位址;若該請求位址對應於該記憶體系統之一第一區域中之記憶體單元,則根據一第一定義將該請求位址重新配置成一第一記憶體位址;將該請求位址之一尺寸與該請求位址所指向之區域之一通道深度相比較,其中該通道深度包括在該請求位址移動至另一通道前欲自通道存取的若干個位元組;及若該請求位址對應於該記憶體系統之一第二區域中之記憶體單元,則根據一第二定義將該請求位址重新配置成一第二記憶體位址,該第二定義係不同於該第一定義;及一記憶體控制器,其經組態以接收該第一記憶體位址或該第二記憶體位址且以執行該記憶體系統中之該記憶體請求中之至少一部分。
  2. 如請求項1之記憶體系統,其中該記憶體系統包括複數個記憶體裝置,該複數個記憶體裝置包含耦合至一匯流排以透過該匯流排傳送資料之資料接針。
  3. 如請求項1之記憶體系統,其中該等記憶體裝置包括以任一組合呈現之動態隨機存取記憶體(DRAM)裝置、同 步動態隨機存取記憶體(SDRAM)裝置及/或快閃記憶體裝置。
  4. 如請求項1之記憶體系統,其中該預解碼區塊係透過一匯流排耦合至複數個主裝置以接收來自該等主裝置之記憶體請求。
  5. 如請求項4之記憶體系統,其中該等主裝置中之一第一主裝置包括一一般處理器。
  6. 如請求項4之記憶體系統,其中該等主裝置中之一第二主裝置包括一圖形處理器。
  7. 一種存取記憶體之方法,其包括:在一預解碼區塊中接收與來自一主裝置之一記憶體請求相關聯之一請求位址;判定該請求位址所指向之一記憶體系統之一區域;將該記憶體請求之一尺寸與該請求位址所指向之區域之一通道深度相比較,其中該通道深度包括在該請求位址移動至另一通道前欲自通道存取的若干個位元組;若該請求位址對應於該記憶體系統之一第一區域中之記憶體單元,則根據一第一定義將該請求位址之數字重新配置成一第一記憶體位址;及若該請求位址對應於該記憶體系統中之一第二區域中之記憶體單元,則根據一第二定義將該請求位址之該等數字重新配置成一第二記憶體位址,該第二定義係不同於該第一定義。
  8. 如請求項7之方法,其進一步包括比較該記憶體請求之 一大小與該請求位址所指向之該區域之一深度。
  9. 如請求項8之方法,其進一步包括產生子異動,每一子異動係欲寫入至該區域或自該區域讀取之該記憶體請求之一部分。
  10. 如請求項7之方法,其進一步包括判定在該請求位址所指向之該記憶體系統中之該區域中之通道之一深度。
  11. 如請求項7之方法,其中在該記憶體系統之該第二區域中之通道包括比該記憶體系統之該第一區域中之通道多之位元組。
  12. 如請求項7之方法,其進一步包括執行耦合於該預解碼區塊與該記憶體系統之間的一記憶體控制器中之該記憶體請求之至少一部分。
  13. 如請求項12之方法,其中該第一區域及該第二區域中之每一者係相對於將在該各別區域中發生之一存取類型而經組態。
  14. 如請求項13之方法,其中將在該各別區域中發生之該存取類型之係基於儲存於該各別區域中之一資料類型。
  15. 如請求項12之方法,其中該第一區域及該第二區域中之每一者係基於欲儲存於該各別區域中之一資料類型而經組態。
  16. 如請求項12之方法,其進一步包括至少第一暫存器及第二暫存器,其中該第一暫存器定義該第一區域且該第二暫存器定義該第二區域。
  17. 如請求項12之方法,其中該第一定義及該第二定義係通道 位址定義。
  18. 如請求項12之方法,其中該第一區域具有不同於該第二區域之一通道深度。
  19. 如請求項12之方法,其中該記憶體控制器經組態以執行一記憶體系統中之記憶體請求,其中該記憶體控制器包含一記憶體映射,該記憶體映射經組態以將該記憶體系統中之記憶體單元劃分為複數個區域,其中該等區域中之每一者具有其自身之位址定義,且每一區域耦合至不同通道,每一通道具有不同通道深度。
TW101107727A 2011-03-07 2012-03-07 記憶體系統及存取記憶體之方法 TWI539286B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/042,164 US8892844B2 (en) 2011-03-07 2011-03-07 Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers

Publications (2)

Publication Number Publication Date
TW201243606A TW201243606A (en) 2012-11-01
TWI539286B true TWI539286B (zh) 2016-06-21

Family

ID=46797130

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101107727A TWI539286B (zh) 2011-03-07 2012-03-07 記憶體系統及存取記憶體之方法

Country Status (6)

Country Link
US (3) US8892844B2 (zh)
EP (2) EP2684133B1 (zh)
KR (1) KR101993651B1 (zh)
CN (2) CN107025181B (zh)
TW (1) TWI539286B (zh)
WO (1) WO2012122182A2 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892844B2 (en) * 2011-03-07 2014-11-18 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
US10838886B2 (en) 2011-04-19 2020-11-17 Micron Technology, Inc. Channel depth adjustment in memory systems
US9208755B2 (en) 2012-12-03 2015-12-08 Nvidia Corporation Low power application execution on a data processing device having low graphics engine utilization
US9183057B2 (en) * 2013-01-21 2015-11-10 Micron Technology, Inc. Systems and methods for accessing memory
US10042750B2 (en) * 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9507628B1 (en) 2015-09-28 2016-11-29 International Business Machines Corporation Memory access request for a memory protocol
KR102530889B1 (ko) * 2016-04-06 2023-05-11 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
KR20180061851A (ko) 2016-11-30 2018-06-08 삼성전자주식회사 바이트 액세서블 인터페이스 및 블록 액세서블 인터페이스를 지원하는 스토리지 장치 및 이를 포함하는 전자 시스템
US10977198B2 (en) 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5465332A (en) * 1992-09-21 1995-11-07 International Business Machines Corporation Selectable 8/16 bit DMA channels for "ISA" bus
JPH06332664A (ja) 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
JPH08278916A (ja) 1994-11-30 1996-10-22 Hitachi Ltd マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路
US5761694A (en) * 1995-11-30 1998-06-02 Cirrus Logic, Inc. Multi-bank memory system and method having addresses switched between the row and column decoders in different banks
US5787445A (en) 1996-03-07 1998-07-28 Norris Communications Corporation Operating system including improved file management for use in devices utilizing flash memory as main memory
JPH09259041A (ja) 1996-03-27 1997-10-03 Hitachi Ltd キャッシュメモリ制御方式
US6470409B1 (en) * 1996-11-26 2002-10-22 Xilinx Inc. Interface system having a programmable number of channels and methods of implementing same
JPH10232819A (ja) 1997-02-20 1998-09-02 Canon Inc メモリ制御装置およびメモリアクセス方法
US5956743A (en) 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
JP3546788B2 (ja) * 1999-12-20 2004-07-28 日本電気株式会社 メモリ制御回路
US6816165B1 (en) * 2000-12-13 2004-11-09 Micron Technology, Inc. Memory system having multiple address allocation formats and method for use thereof
WO2003085677A1 (fr) 2002-04-05 2003-10-16 Renesas Technology Corp. Memoire non volatile
KR101051506B1 (ko) 2002-09-30 2011-07-22 텔레폰악티에볼라겟엘엠에릭슨(펍) 스케일러블 멀티채널 메모리 액세스를 위한 방법 및 메모리제어기
US7093047B2 (en) 2003-07-03 2006-08-15 Integrated Device Technology, Inc. Integrated circuit memory devices having clock signal arbitration circuits therein and methods of performing clock signal arbitration
US8407433B2 (en) 2007-06-25 2013-03-26 Sonics, Inc. Interconnect implementing internal controls
TWI299497B (en) 2004-06-24 2008-08-01 Via Tech Inc Method and related apparatus for accessing memory apparatus
JP3955862B2 (ja) 2004-09-27 2007-08-08 株式会社ルネサステクノロジ データ処理装置、及びそれを用いたシステム
US7673164B1 (en) 2004-12-13 2010-03-02 Massachusetts Institute Of Technology Managing power in a parallel processing environment
US7480761B2 (en) * 2005-01-10 2009-01-20 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US7502908B2 (en) * 2006-05-04 2009-03-10 International Business Machines Corporation Method for providing an address format compatible with different addressing formats used for addressing different sized address spaces
US7797319B2 (en) 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
US7525842B2 (en) 2007-01-25 2009-04-28 Micron Technology, Inc. Increased NAND flash memory read throughput
JP2009053675A (ja) 2007-07-30 2009-03-12 Nippon Synthetic Chem Ind Co Ltd:The 偏光板用接着剤、偏光板、およびその製造方法
JP5731730B2 (ja) * 2008-01-11 2015-06-10 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体記憶装置及びその半導体記憶装置を含むデータ処理システム
KR100948158B1 (ko) 2008-06-16 2010-03-18 엘지전자 주식회사 그래픽 코어를 포함하는 멀티 프로세서, 이를 구비한컴퓨터 및 이의 메모리 운용방법
US8386750B2 (en) * 2008-10-31 2013-02-26 Cray Inc. Multiprocessor system having processors with different address widths and method for operating the same
US7859932B2 (en) 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
US8018752B2 (en) 2009-03-23 2011-09-13 Micron Technology, Inc. Configurable bandwidth memory devices and methods
CN101702326B (zh) * 2009-10-30 2012-08-29 曙光信息产业(北京)有限公司 内存控制器
US8892844B2 (en) 2011-03-07 2014-11-18 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers

Also Published As

Publication number Publication date
CN107025181B (zh) 2020-07-31
US20120233413A1 (en) 2012-09-13
CN103493026A (zh) 2014-01-01
EP3373150A1 (en) 2018-09-12
US8892844B2 (en) 2014-11-18
KR101993651B1 (ko) 2019-06-27
US20180300079A1 (en) 2018-10-18
US20150074370A1 (en) 2015-03-12
EP2684133B1 (en) 2018-05-23
CN107025181A (zh) 2017-08-08
TW201243606A (en) 2012-11-01
WO2012122182A2 (en) 2012-09-13
KR20140013010A (ko) 2014-02-04
US9933972B2 (en) 2018-04-03
WO2012122182A3 (en) 2013-01-31
EP2684133A4 (en) 2015-05-06
CN103493026B (zh) 2017-02-15
EP3373150B1 (en) 2020-05-13
US10162557B2 (en) 2018-12-25
EP2684133A2 (en) 2014-01-15

Similar Documents

Publication Publication Date Title
TWI539286B (zh) 記憶體系統及存取記憶體之方法
KR102417977B1 (ko) 메모리 시스템 및 그것의 동작 방법
US9734911B2 (en) Method and system for asynchronous die operations in a non-volatile memory
US9336133B2 (en) Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US10268407B1 (en) Method and apparatus for specifying read voltage offsets for a read command
Li et al. A performance & power comparison of modern high-speed dram architectures
TW201706850A (zh) 電腦系統以及非揮發性記憶體的操作方法
US20190258729A1 (en) Key-value storage device and operating method thereof
KR20190008679A (ko) 메모리 시스템 및 그것의 동작 방법
TWI512469B (zh) 用於存取記憶體之系統及方法
US11360711B2 (en) Storage device temporarily suspending internal operation to provide short read response time for read request from host
CN106055495B (zh) 用于控制半导体装置的方法
US20190146926A1 (en) Storage device and operating method of storage device
US11513965B2 (en) Bandwidth boosted stacked memory
TW202042221A (zh) 儲存裝置及儲存裝置的操作方法
KR20200135549A (ko) 카운터 업데이트 동작을 위한 장치 및 방법
US20150153966A1 (en) Memory device for multiple processors and memory system having the same
US11960735B2 (en) Memory channel controller operation based on data types
US11526448B2 (en) Direct mapped caching scheme for a memory side cache that exhibits associativity in response to blocking from pinning
JP2012221534A (ja) 半導体記憶装置および半導体記憶装置のリフレッシュ方法