TW201512843A - 可於多重資料寬度通訊之記憶體組件 - Google Patents

可於多重資料寬度通訊之記憶體組件 Download PDF

Info

Publication number
TW201512843A
TW201512843A TW103121738A TW103121738A TW201512843A TW 201512843 A TW201512843 A TW 201512843A TW 103121738 A TW103121738 A TW 103121738A TW 103121738 A TW103121738 A TW 103121738A TW 201512843 A TW201512843 A TW 201512843A
Authority
TW
Taiwan
Prior art keywords
data
memory component
width
memory
interface
Prior art date
Application number
TW103121738A
Other languages
English (en)
Other versions
TWI512477B (zh
Inventor
Gregg B Lesartre
Martin Foltin
Gary Gostin
Original Assignee
Hewlett Packard Development Co
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 Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW201512843A publication Critical patent/TW201512843A/zh
Application granted granted Critical
Publication of TWI512477B publication Critical patent/TWI512477B/zh

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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
    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

實例揭露了一方法、記憶體組件、和儲存媒體可配置一記憶體組件的一資料寬度。該等實例揭露了在能夠以多重資料寬度進行通信的記憶體組件處接收一配置異動。此外,該等實例揭露了基於該配置異動來配置該記憶體組件的該資料寬度。

Description

可於多重資料寬度通訊之記憶體組件
本發明係有關於可用於多重資料寬度通訊之記憶體組件。
發明背景
記憶體系統儲存可被使用來讀取和寫入資料之各式各樣的值。在這些系統中的該等記憶體組件通常是以固定的資料寬度來執行讀取和寫入資料值的該等操作。
發明概要
依據本發明之一實施例,係特地提出一種方法,其可由一計算裝置執行來配置一記憶體組件的一資料寬度,該方法包含有:在能夠以多重資料寬度進行通信的該記憶體組件處接收一配置異動;以及基於該配置異動來配置該記憶體組件的該資料寬度。
102‧‧‧配置異動
104‧‧‧記憶體組件
106‧‧‧介面
110‧‧‧控制器
112‧‧‧暫存器
114‧‧‧數值
116‧‧‧陣列
118‧‧‧資料位元X
120‧‧‧資料位元Y
202‧‧‧配置異動
204‧‧‧記憶體組件
206‧‧‧介面
208‧‧‧SERDES介面
210‧‧‧記憶體控制器
216‧‧‧記憶體元件
302~304‧‧‧方塊
402~416‧‧‧方塊
502~512‧‧‧方塊
600‧‧‧計算裝置
602‧‧‧處理器
604‧‧‧機器可讀取儲存媒體
606~616‧‧‧指令
在該等所附圖示中,相同的編號表示相同的組件或方塊。以下的詳細描述參考到該等圖示,其中:圖1是一實例介面和記憶體組件的一方塊圖,其 中包括一控制器來接收與數個資料位元相關聯的一配置異動、一暫存器來設置對應於該等數個資料位元數的一內部值、以及一陣列來提供該等數個資料位元值;圖2A是一實例記憶體控制器的一方塊圖,其包括介接多個記憶體組件的介面;圖2B是一實例記憶體組件的一方塊圖,其包括多個記憶體元件;圖3是一實例方法的流程圖,用以接收一配置異動並基於該配置異動來配置一記憶體組件的一資料寬度;圖4是一實例方法的流程圖,用以接收與數個資料位元相關聯的一配置異動並藉由把該記憶體組件的一內部暫存器設置為對應於該等數個資料位元的一值來配置一記憶體組件的一資料寬度;圖5是一實例方法的流程圖,用以接收一配置異動、基於該配置異動來配置該記憶體組件的一資料寬度、配置一第二資料寬度、和收集對應於該第二配置資料寬度的資料位元值、以及傳輸該等收集到的值;以及圖6是一實例計算裝置的方塊圖,其具有一處理器以執行在一機器可讀取儲存媒體中的指令,用以接收一配置異動、藉由把一暫存器設置為對應於該資料寬度的一值來配置用於通信的資料寬度。
較佳實施例之詳細說明
記憶體系統組件傳統上都被設計成具有固定的 資料寬度。固定的資料寬度可能會限制這些記憶體組件能夠在其中被使用的記憶體系統類型。舉例來說,標準化的固定資料寬度係由一製造商所提供,但是這限制了該記憶體系統的靈活性,因為該資料寬度是一靜態的配置。在另一實例中,為了要改變在該記憶體系統中組件之間通信的資料寬度,該記憶體系統可能需要被重新設計。這對該記憶體系統架構產生了一種較為靜態和僵化的方式。另外,當使用的資料寬度在大小上可能小於該固定的資料寬度時,固定的資料寬度可能會是低效率的。在此實例中,大部分的頻寬會被低度地利用。
為了解決這些課題,在本文中所揭露的實例會提供一方法來配置一記憶體組件的一資料寬度。本文中所定義的資料寬度係指在一讀取或寫入異動中資料運算元以位元數表示的大小,而不是該記憶體組件其資料匯流排的寬度。該方法在一記憶體組件處接收一配置異動,其可配置該記憶體組件能以不同的資料寬度來存取資料。藉由提供對應於該特定資料寬度的數個位元,該配置異動告知該記憶體組件一特定的資料寬度。在另一實施方式中,該配置異動指出多重資料寬度,諸如一資料傳輸寬度和/或資料存取寬度。該資料傳輸寬度指出將被傳輸到可存取該資料之該系統的該資料寬度,而該資料存取寬度指出將從記憶體陣列被存取和處理來產生出將被傳送給該系統的一資料寬度。在接收到該配置異動時,該記憶體配置了該特定的資料寬度。接收對應於該特定資料寬度的該配置異動在配置 該記憶體組件時提供了一種靈活的方法。這進一步提供了一種動態的方法,在其中該記憶體組件可被配置成各種的資料寬度。
此外,基於該配置異動來配置該記憶體組件的該資料寬度可以提高資料通信速度以支援未來世代的記憶體架構。配置該資料寬度可產生更高的效率,因為頻寬可被動態地調整到可使該記憶體組件整體功耗更低的該指定資料寬度。舉例來說,指出打算用於所有異動的該資料寬度(例如,資料存取),而不是分別在每次異動中指出該資料寬度會在跨越該介面上產生出一更高的效率,從而導致每一通道有更多的頻寬,並且降低每一異動的功耗。
在另一實現方式中,該等實例更提供一種方法來從記憶體組件收集資料位元值並執行一更正功能,諸如在該等所收集值上的一錯誤更正碼(ECC)。在傳輸之前在該記憶體組件執行該更正功能可為傳輸提供較少的資料位元值。另外,在該記憶體組件執行該更正功能可確保該傳輸的資料位元值是沒被破壞的。
總結來說,透過基於一配置異動來配置一記憶體組件的一資料寬度,本文所揭露的實例提供了一種靈活的方法。此外,藉由動態地調整該記憶體組件的該資料寬度,本文所揭露的實例會產生更高的效率。
現在請參照該等附圖,圖1是一介面106和記憶體組件104的一方塊圖。該記憶體組件104包括一內部控制器110來接收跨越該介面106的一配置異動102。該配置異動 102提供一個值114給記憶體組件104以設置到一內部的暫存器112。該值114對應於將用於後續的記憶體存取異動,諸如讀取或寫入異動的該資料寬度或資料運算元大小。以這種方式,在該配置異動102所提供的該值114表示該資料存取的寬度。該記憶體組件106還包括一陣列116來讀取和/或寫入各種資料位元118和120。
該介面106傳送配置異動和其他的記憶體存取異動,諸如對該記憶體組件104的讀取和寫入操作。在一實現方式中,該介面106是一種硬體類型的介面,其把該配置異動102從一外部的控制器(圖中未示出)傳送到該記憶體組件104。在另一實現方式中,該介面106可能包括一組指令、程序、操作、邏輯、演算法、技術、邏輯功能、韌體和/或軟體來在該外部的控制器和該記憶體組件104之間提供通信。該外部控制器係與一作業系統、管理軟體、或固線式模式進行通信用以配置該記憶體組件104的該資料寬度大小。該介面106接收邏輯信號和一協定,該協定係用於定序該等邏輯信號和/或異動來確保該等信號被路由到該給定的組件。因此,該介面106的實現方式可以包括一小型電腦系統介面(SCSI)、網際網路小型電腦系統介面(iSCSI)、串化器/解串化器(SerDes)、或其他類型的介面能夠接收信號和/或異動以及相應地路由安排。在一實現方式中,一管理員可以預先定義一配置異動的該資料寬度,其可源起於該外部控制器用以傳輸給該記憶體組件104。在另一實現方式中,該介面106包括一串化器/解串化器(SerDes)用於在該記 憶體組件104和連接到該介面106的其他組件之間的進行高速通信。在這種實現方式中,該介面106包含有功能性的硬體介面模組以在串列資料和/或並列資料之間的進行資料轉換。舉例來說,該介面106可以串列地和/或並列地接收和/或傳送該配置異動102和其他資料。在另一實現方式中,該介面106可以包括一窄的介面,它或需要花兩倍的週期數來傳輸在該(等)通道上的該資料,而在又另一實現方式中,該介面106可以包括一寬的介面。
該配置異動102指定了對應於該資料寬度的該資料位元數。具體而言,該配置異動102係為設置該記憶體組件104之該資料寬度的該異動。一旦該資料寬度已透過該配置異動102來被配置,指出一記憶體位置或位址來存取、來讀取、或寫入資料值的其他異動或操作可由該記憶體組件104來接收。該資料寬度告知該記憶體組件104和/或該介面106在該給定的讀取或寫入操作中可被讀取或寫入的該資料位元值的數目。該給定的讀取或寫入操作可在該記憶體組件104內的通信通道上被傳輸。除了該記憶體組件104的該資料寬度之外這些通信通道會被配置。此實現方式會在下一圖中進行詳細的討論。在另一實現方式中,該記憶體組件104會接收額外的異動(例如,讀取操作來從該陣列116存取匹配該配置資料寬度的數個資料位元和/或寫入操作,其中包括將提供給該陣列116之對應於該配置資料寬度的數個資料位元)。這些額外的異動被視為不同於該配置異動102,因為該配置異動102配置對應於該等讀取和/或寫入 操作之該記憶體組件104的資料寬度。舉例來說,該配置異動102把該資料寬度值114設置在該記憶體組件104的暫存器112中,而該等額外的操作使用由暫存器112的值114所指定的該資料寬度來讀取和寫入資料值。在另一實例中,該配置異動102可包括一位址配置,其指出被提供在讀取和寫入異動中的該位址應當被如何的做解讀,以選擇在該組件104中的該等記憶體元件來進行存取。
該記憶體組件104是一儲存區域,其可以多重資料寬度進行通信。該記憶體組件104接收該配置異動102並解讀該異動102來配置該資料寬度。該記憶體組件104能夠以多重資料寬度進行通信,因此接收該配置異動102會致使該記憶體組件104可根據在該配置異動102中所指出的該資料位元數來動態地調整一資料寬度。該記憶體組件的實施例包括非依電性記憶體、依電性記憶體、雙行記憶體模組、唯讀記憶體(ROM)、快閃記憶體、鐵電隨機存取記憶體(RAM)、軟碟、磁帶、光碟、硬碟、磁阻式隨機記憶體(MRAM)、奈米硬碟、固態硬碟、記憶體映射儲存(MMS)、或能夠以多重資料寬度大小進行通信之其他合適的記憶體組件。
該控制器110係在該記憶體組件104內部的一電子裝置,其管理該記憶體組件104的該等操作來讀取和/或寫入資料位元值到該陣列116。該控制器110管理該記憶體組件104的內部操作,因此,運作為如同該記憶體組件104和外部組件之間的介面。該控制器被連接到該介面106以接 收該配置異動102並根據在該配置異動102中所傳送的該值114來配置對該陣列116進行資料存取的寬度。該內部控制器110的實現方式包括一應用特定積體電路(ASIC)、處理器、微處理器、微晶片、晶片組、電子電路、半導體、微控制器、中央處理單元(CPU)、或能夠管理該記憶體組件104之各種操作的其他的可配置裝置。
該暫存器112是一種硬體暫存器類型,它儲存一值114,該值係對應於與該配置異動102相關聯的該資料位元數。設置在該暫存器112中的值告知該記憶體組件104該資料存取的寬度。該資料寬度指定多少個資料位元可被讀取和寫入到該陣列116中。以這種方式,該可被讀取和寫入的資料位元數配置了該資料存取的寬度。該暫存器112的值114被設置成對應於該配置異動102所指定的該位元數。
該陣列116是在該記憶體組件內部之記憶體元件的一集合,其包括該等各種資料位元118和120。因此,該陣列116可包括各種記憶體模組和/或記憶體元件,正如在下一圖示中可被看出的。在本文中所使用的術語,記憶體元件,可包括引用一單一資料位元的儲存。該等各種資料位元118和120代表讀取或寫入到該陣列116中的該等資料位元值。讀取在該陣列116中之該等各種資料位元值可包括觀察一記憶體陣列節點的狀態。舉例來說,資料位元118可以包括「0」,其係以在該資料位元的該位置上所儲存的一低電壓來指出,同時資料位元120可以包括「1」,其係以儲存的一高電壓準位來表示。把各種資料位元值寫入到該陣 列116可包括在該陣列的一指定的位置上進行賦能來寫入各種的資料位元值118和120。在一憶阻器的應用中,該記憶體組件可基於流經一資料位元的電流來把一電阻值規劃到每一個資料位元中,並調整該電阻準位以對應到資料位元值。
圖2A是一實例記憶體控制器210的方塊圖,其包括介面206透過一串列器/解串列器(SerDes)介面208介接到多個記憶體組件204。該SerDes介面208被使用在該控制器210和該等記憶體組件204的每一個之間的每一方向中以在串列和並列格式之間做資料轉換。在這一實現方式中,該SerDes介面208是在該控制器210和每一個記憶體組件204之間的一種介面類型,因此,獨立於該記憶體控制器210的介面206、記憶體元件216、和/或記憶體陣列。除了配置SerDes介面208的該資料寬度之外,該等介面206的每一個可進行其他配置。該等介面206在結構和功能方面可類似於如在圖1中所示的該等介面106。該記憶體控制器210管理該等多個記憶體組件204的功能和操作。該記憶體控制器210在結構和功能方面可類似於如在圖1中所示的該記憶體控制器。雖然圖2A圖示的該記憶體控制器210具有多個介面206,但這是用於說明的目的,因為該記憶體控制器210亦可僅包括如在圖1中所示的一單一介面。
該記憶體控制器210接收到一配置異動202,其指定一資料寬度(即,資料位元值的數量)用以讀取和/或寫入各種資料值到該記憶體組件204。該資料位元值的數量可以 是任意數量的,因此,在一實現方式中,該資料位元值的數量可以是一種非二的冪次數(即,奇數值)。舉例來說,這可以包括3、5、7、等等。在另一實現方式中,該配置異動202可以從該記憶體控制器210中被產生來配置該等記憶體組件204的每一個的該資料寬度。
該記憶體控制器210使用多個SerDes介面208來介接到每一個記憶體組件204。在該記憶體控制器210和每一個記憶體組件204之間的該資料交換除了該配置異動202之外還可以包括讀取和寫入異動。在這一實現方式中,該配置異動202係由該記憶體控制器210接收來配置每一個記憶體組件204的該資料寬度。因此,該等記憶體組件204其中之一的該資料寬度可以被配置成以該配置的資料寬度來寫入和/或讀取資料位元值。儘管圖2A所圖示出的該記憶體控制器210包括三個SerDes介面208介接到該等記憶體組件204用以配置、讀取、和寫入資料值到該等記憶體組件204的每一個,但實現方式應沒有被限制,因為該圖僅用於說明的目的。舉例來說,該記憶體控制器210可以包括一單一SerDes 208介面介接到該等記憶體組件204。
每一個記憶體組件204可以包括一個或多個記憶體元件216,諸如一憶阻器陣列,其可以被規劃以儲存多個資料位元值。舉例來說,一資料位元值「0」,包括儲存在該等記憶體元件216其中一個的一低電壓,資料位元值「1」,包括儲存在該等記憶體元件216其中一個的一高電壓。在一另外的實例中,該等記憶體元件216的每一個可用 一電阻來做規劃以對應到該等資料位元值。在一實現方式中,如本文中所使用的每一個記憶體元件216可以包含有多個資料位元值,而不是一單一資料位元值。在另一實現方式中,每一個記憶體元件216可能包括一單一資料位元值,如同在前面所參考到實例中的情況。
圖2B是一實例記憶體組件204的方塊圖,其包括多個記憶體元件216。該記憶體組件204係透過一串列器/解串列器(SerDes)介面208與該控制器210進行通信,如同圖2A的情況。該記憶體控制器210接收到該配置異動202並配置在該等記憶體元件216之間的該資料寬度做為該記憶體組件204的一部分。用這種方式中,該記憶體組件204被配置成多重資料寬度的其中之一。雖然圖2B把該記憶體組件204圖示成包含有多個記憶體元件216,但實現方式不應被侷限,因為這僅為說明的目的。舉例來說,該記憶體組件204可能僅包含一單一記憶體元件216。
該SerDes介面208被連接在該記憶體組件204和該記憶體控制器210之間。該記憶體組件204基於由該記憶體控制器210所接收到的該配置異動202被配置成一特定的資料寬度。一旦把該記憶體組件204配置成該特定的資料寬度,該SerDes介面208可以介接到該記憶體組件204,基於額外接收到的異動,其指出是否要讀取和/或寫入這些資料位元值,來讀取和寫入各種資料位元值。該配置異動202指出在該等讀取和寫入異動中用以接收和發送資料位元值的該資料寬度大小。在一實現方式中,該配置異動202係從一 外部控制器(圖中未示出)被傳遞並由該記憶體控制器210來接收,而在另一種實現方式中該配置異動202則係從該記憶體控制器210內部所產生。
該記憶體組件204被配置成具有與該配置異動202相關聯的該資料寬度。在一實現方式中,該記憶體組件204把該資料寬度配置到該等記憶體元件216的每一個,透過其來讀取和寫入資料位元值。由該記憶體控制器210接收該配置異動202可為該記憶體組件204提供靈活性以在內部把自己配置成具各種資料寬度來支援高速通信。
圖3是一實例方法的流程圖,來接收與數個位元相關聯的一配置異動,並基於從該接收到配置異動的該等數個位元配置一記憶體組件的一資料寬度。基於該配置異動來配置該記憶體組件的該資料寬度會致使系統設計者能夠選擇一記憶體配置來最佳地滿足該等記憶體系統的需求。在討論圖3中,請參考在圖1-2B中的組件以提供實例情境。而且,雖然圖3被描述成由如圖1所示的一記憶體組件104來實現,但它可在其他合適的組件上執行。舉例來說,圖3可以以在一機器可讀取儲存媒體上可執行指令的形式來實現,諸如在圖6中的機器可讀取儲存媒體604。
在操作302,該記憶體組件接收到該配置異動。該配置異動可以從一控制器透過一介面被提供給該記憶體組件,用於配置該記憶體組件的該資料寬度。這提供了一種無需重新設計該記憶體系統就可以容納不同資料寬度通信之額外的靈活性。該配置異動係伴隨數個資料位元,其 對應於該資料寬度,用其配置該記憶體組件以在該記憶體組件的內部儲存區上做讀取和寫入資料位元值。基於該配置異動來調整該記憶體組件的該資料寬度可讓一公用的記憶體組件可被調整成可為各種應用提供恰好其所需的資料位元,增加可使用的頻寬,使每一傳輸的資料位元具低的傳輸延遲和功耗。該配置異動是從一控制器透過一介面被傳送到該記憶體組件的一信號。在一實現方式中,該接收到的配置異動可能包括用以配置該記憶體組件的該資料寬度。該記憶體組件可能會收到一額外的異動指出是否使用由該配置異動所配置的該資料寬度來讀取或寫入資料位元值。
在操作304,該記憶體組件基於在操作302所接收到的該配置異動來配置用以通信的資料寬度。該資料寬度可包括被指定為資料位元和/或資料位元組的一個值。在一實現方式中,該資料寬度可被配置成一種非二的冪次數(舉例來說,不為1、2、4、8、16、等等)。舉例來說,該資料寬度可以包括奇數值,諸如3、5、7、等等。在另一實現方式中,一內部於該記憶體組件的暫存器被設置為一值,該值對應於該資料寬度用以讀取和/或寫入從該記憶體組件來回傳送的該等資料位元值。另外,在另一實現方式中,在操作302該接收到的配置異動可以包括一位址配置。該位址配置指出在一讀取或寫入操作中所提供的位址應當如何被解讀來指出一記憶體位置或位址,其係由該讀取或寫入操作所瞄準。在另外的一實現方式中,該配置異動可包括 被當作一啟動序列和/或該記憶體組件旁通道選擇的一部分。在這種實現方式中,該接收到的配置異動可包括一初始規劃。該初始規劃告知該記憶體組件藉由設置暫存器的內部值來配置自身的一資料寬度,並指示該用以接收和發送資料位元值的資料寬度係對應於該資料寬度。在一另外的實現方式中,該配置異動可包括一配置位址,該記憶體組件可以把其識別為可指定該資料寬度來設置其本身之配置。在又另一實現方式中,該記憶體組件可以透過一旁帶信號來進行配置。在這實現方式中,有一額外的埠被包括為該記憶體組件的一部分,其具有較低頻率並有能力可傳輸該配置異動直到該記憶體組件回復到讀取和/或寫入資料位元值的一般操作為止。在另外的實現方式中,該記憶體組件可被配置成可使用額外的配置資訊來存取一給定資料寬度的資料位元值。該額外的配置資訊告知該記憶體組件要執行一更正功能,諸如在該存取的資料位元上的一錯誤更正碼。在這些另外的實現方式中,從該記憶體組件透過該介面被傳輸到該控制器的該等資料位元值會包括比從該記憶體組件中所存取的資料位元值的數目要少一些資料位元值數目。除了配置該記憶體組件之外,該介面還可以被配置成可提供一種能力,即可支援該接收配置異動的資料寬度,以其透過該介面來傳送該等對應到該資料寬度的資料位元值。在這種實現方式中,該控制器可以與該介面建立通信以建立該數量的通道,透過其來在該等通道的每一個之上傳輸該資料和/或該週期數。這種實現方式會在下 一圖中做進一步詳細地解釋。
圖4是一實例方法的流程圖,該方法可接收與數個資料位元相關聯的一配置異動,並藉由把一記憶體組件的一內部暫存器設置為對應到該等數個資料位元的一個值來配置該記憶體組件的該資料寬度。另外,圖4圖示出接收一讀取或寫入異動,並由該資料寬度配置異動中所指定的該資料寬度來處理該異動。基於該配置異動設置該記憶體組件的該內部暫存器可活化多個記憶體組件的利用率,以提升資料位元值之讀取和/或寫入的較高速容量。在討論圖4時,請參考在圖1-2B中的組件以提供實例的情境。而且,雖然圖4被描述成由如圖1所示的一記憶體組件104來實現,但它可在其他合適的組件上執行。舉例來說,圖4可以以在一機器可讀取儲存媒體上可執行指令的形式來實現,諸如在圖6中的機器可讀取儲存媒體604。
在操作402-404,該記憶體組件接收該配置異動,其伴隨有配置用的數個資料位元。該等數個資料位元對應到該資料寬度,在操作404用其來配置該記憶體組件,用以透過一介面傳送該等資料位元值。舉例來說,該配置異動配置用於接收額外異動之該記憶體組件的該資料寬度。該等額外的異動可能包括讀取和寫入操作,如在操作408-416所示。在操作404該配置的資料寬度定義了透過讀取或寫入異動來存取之資料位元的該寬度或數量。在一實現方式中,一旦執行了操作402-404,該方法執行操作406然後執行操作408-412以讀取對應於該資料寬度的資料位 元值。在另一實現方式中,一旦執行了操作402-404,該方法執行操作406然後執行操作414-416來寫入對應於該資料寬度的資料位元值。操作402-404在功能上會類似在圖3中的操作302-304。
在操作406,該記憶體組件藉由把該內部暫存器設置為對應到該資料寬度的一值來配置該資料寬度。該記憶體組件傳送一信號給該內部暫存器,以把該值設置為與在操作402所接收到的配置異動相關聯的資料位元數。該資料寬度對應到該資料位元數的值,該記憶體組件以其來和其他內部記憶體組件進行通信。
在操作408,該記憶體組件接收到指出為該記憶體組件之一讀取操作的額外異動。在操作408的該讀取操作,致使該記憶體組件可用如在操作404的該配置的資料寬度來檢索該等資料位元值。在另一實現方式中,該讀操作致使該記憶體組件可在操作410檢索該等資料位元值。
在操作410,該記憶體組件檢索對應到該配置資料寬度的該等資料位元值。在這個操作,該記憶體組件會如同在操作408接收到該讀取操作,並在接收這個讀取操作之後,該記憶體組件會從位於該記憶體組件內部的記憶體元件,諸如一個陣列,檢索該等資料位元值。該讀取操作可以包括一位址,以其從位於該記憶體組件內部的一記憶體元件檢索該等資料位元值。檢索資料位元值之該讀取操作的該資料寬度大小係由在操作402所接收到該配置異動來配置。
在操作412,該記憶體組件傳送在操作410所檢索到的該等資料位元值。在一實現方式中,一更正功能被執行在該等檢索到的資料位元值上。這可確保從一特定的位置上所檢索到的該等值不是破壞或有錯誤的。這個實現方式會在下一圖中進行詳細說明。
在操作414-416,該記憶體組件接收一指出為一寫入操作的異動。該處理會提供位址和資料,告知該記憶體組件要把該資料寫入到由該提供位址所指定之位於該記憶體組件內部的記憶體元件。該等資料位元值的該寫入操作其寬度對應到如同在操作404該記憶體組件的該配置資料寬度。
圖5是一實例方法的流程圖,用來接收一配置異動,並基於該配置異動來配置該記憶體組件的一資料寬度。該方法還配置了一第二資料寬度用來存取一內部於該記憶體組件的記憶體元件,並收集對應於該第二配置資料寬度的資料位元值。然後該方法可在該收集的值上執行一錯誤更正碼並傳輸這些收集到的值。在對應於該資料寬度之該等資料位元的該等收集值上執行一錯誤更正碼可使較少的資料位元值傳輸過一介面,從而會有一更高的速度來傳輸資料位元值。在討論圖5中,請參考在圖1-2B中的組件以提供的實例情境。而且,雖然圖4被描述成由如圖1所示的一記憶體組件104來實現,但它可在其他合適的組件上執行。舉例來說,圖5可以以在一機器可讀取儲存媒體上可執行指令的形式來實現,諸如在圖6中的機器可讀取儲存媒體 604。操作502-504在功能上會分別類似在圖3-4中的操作302-304和操作402-404。
在操作506,該記憶體組件配置該第二資料寬度用於存取位於該記憶體組件內部的該等記憶體組件中的至少一個。在一實現方式中,該第二資料寬度被認為會比在操作504的該記憶體組件的該配置資料寬度要寬。這種實現方式致使在操作508-510執行該錯誤更正碼時有更多的資料位元值可被收集和處理。這進一步啟用了執行在該記憶體組件上的錯誤更正碼,並可發送較少收集到的資料位元值,諸如在操作512。操作506包括該記憶體組件,其配置一內部介面用其從在該記憶體組件上的該等記憶體元件檢索和/或收集資料位元值。在操作504該配置的資料寬度係指以其來收集和/或傳輸資料位元值的該寬度。該等資料位元值的收集和/或傳輸係基於指出為該讀取和/或寫入操作的額外異動。在操作502,在該配置異動被接收之後,這些操作會被接收。該第二配置的資料寬度是該資料寬度,以其從在該記憶體組件內部的記憶體元件中檢索和/或收集該等資料位元值。
在操作508,該記憶體組件從內部的記憶體元件,諸如陣列,收集該等資料位元值。該記憶體組件收集了數個資料位元值,其對應於如在操作506的該第二配置的資料寬度。在內部收集到的該等資料位元值對應到該第二配置的資料寬度。在一實現方式中,這些對應到該第二配置資料寬度的資料位元值然後可根據該記憶體組件的該配 置資料寬度被發送。從該內部記憶體元件所收集到的該等資料位元值會被認為是該原始的資料位元,因為該等值係從直接從該內部儲存元件不經處理地被檢索。在一實現方式中,該等原始資料位元會根據一錯誤更正碼的處理方式來被處理,如同在操作510的情況。
在操作510,該記憶體組件在於操作508所收集到的該等資料位元值上執行一錯誤更正碼。該錯誤更正碼為資料位元的一組冗餘值,被認為是用來驗證在操作508該等資料位元收集值是否有效的同位資料位元。在該記憶體組件執行該錯誤更正碼改善了頻寬和延遲,因為由該控制器所請求的該等資料位元值會被傳送回來,而不是請求的資料位元值以及該附加的冗餘資料位元。在一實現方式中,該控制器接收該錯誤更正碼和該等資料位元值的值來執行該錯誤更正碼,以確保該等資料位元值沒被破壞。在操作510,該收集的資料位元值和該等冗餘資料位元值可被儲存在記憶體元件中,諸如一儲存陣列中。比起只從其來收集該等資料位元值的該等內部記憶體元件,該儲存陣列可在該記憶體組件中包含有一增加的儲存容量區域來同時儲存該等冗餘資料位元值以及該等資料位元值。
在操作512,提供在操作510該等資料位元的該等更正值透過該介面被傳送到該控制器。在一實現方式中,該等資料位元的原始值被收集和被傳送到該控制器,並不如同在操作510執行該錯誤更正碼。這使得該控制器能夠執行該錯誤更正碼。
圖6是計算裝置600的一方塊圖,其具有一處理器602來執行在一機器可讀取儲存媒體604中的指令606-616。具體而言,具有該處理器602的該計算裝置600將會接收一配置異動並基於該配置異動來配置對應於數個資料位元的一資料寬度。雖然該計算裝置600包括處理器602和機器可讀取儲存媒體604,它也可包含有對於本領域之習知技藝者而言為適合的其他組件。舉例來說,該計算裝置600可包括如圖1的該記憶體組件104和/或介面106。該計算裝置600是一具有該處理器602的電子裝置,能夠執行指令606-616,就其而言,該計算裝置600的實施例包括一計算裝置、行動裝置、客戶端裝置、個人電腦、桌上型電腦、筆記型電腦、平板電腦、視訊遊戲控制台、或其他型態能夠執行指令606-616的電子裝置。該等指令606-616可被實現為方法、功能、操作、和其他的程序,其可被實現為儲存在該儲存媒體604上之機器可讀取指令,該儲存媒體可以是非暫時性,諸如硬體儲存裝置(舉例來說,隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除式可編程ROM、電可抹除ROM、硬碟、和快閃記憶體。
該處理器602可以提取、解碼、和執行指令606-616來接收一配置異動,並相應地配置該資料寬度。在一實現方式中,一旦執行指令606-610,該處理器可接著執行指令612-614。在另一實現方式中,一旦執行指令606-610,該處理器602可接著執行指令612-616。具體來說,該處理器602執行指令606-610來:接收指出該資料位元數 的該配置異動,該資料位元數係對應於用以通信之該記憶體組件的該資料寬度;基於該資料位元數配置用以通信之該記憶體組件的該資料寬度;以及把一內部於該記憶體組件的暫存器設置成對應用於配置之該資料位元數的一個值。然後,該處理器可以執行指令612-616來:檢索對應於該資料位元數的值,該資料位元數係與在指令606之該配置異動相關聯;處理用以傳輸的該等資料位元值;然後在傳輸之前在該檢索的資料位元值上執行一錯誤更正碼或其他類型的錯誤更正碼。
該機器可讀取儲存媒體604包含有該處理器可做提取、解碼、和執行的指令606-616。在另一實現方式中,該機器可讀取儲存媒體604可以是包含有或儲存可執行指令的一電子、磁性、光學、記憶體、儲存器、快閃碟、或其他的實體裝置。因此,該機器可讀取儲存媒體604可以包括,舉例來說,隨機存取記憶體(RAM)、一電可抹除可編程唯讀記憶體(EEPROM)、一儲存驅動器、一記憶體快取、網路儲存、一光碟唯讀記憶體(CD-ROM)、等等。因此,該機器可讀取儲存媒體604可以包括一應用程式和/或韌體,其可被獨立地使用和/或與該處理器602一起被使用來提取、解碼、和/或執行該機器可讀取儲存媒體604的指令。該應用程式和/或韌體可被儲存在該機器可讀取儲存媒體604上和/或儲存在該計算裝置600的另一位置上。
總結來說,本文所揭露的實例基於一配置異動來配置一記憶體組件的一資料寬度,藉此提供了一種靈活的 方法。此外,本文所揭露的該等實例可藉由調整該記憶體組件的該資料寬度來產生更高的效率。
302~304‧‧‧方塊

Claims (15)

  1. 一種方法,其可由一計算裝置執行來配置一記憶體組件的一資料寬度,該方法包含有:在能夠以多重資料寬度進行通信的該記憶體組件處接收一配置異動;以及基於該配置異動來配置該記憶體組件的該資料寬度。
  2. 如請求項1之方法,其中基於該配置異動來配置該記憶體組件的該資料寬度更包含有:把一內部於該記憶體組件的暫存器設置成一值,該值係與對應於該資料寬度的數個資料位元相關聯。
  3. 如請求項1之方法,該方法更包含有:由該記憶體組件接收一第二異動;以及在該記憶體組件和該控制器之間配置一通信用的介面。
  4. 如請求項3之方法,該方法更包含有:基於指出一讀取操作的該第二異動檢索對應於該配置資料寬度的資料位元值;以及透過該介面傳送該檢索的資料位元值給該控制器。
  5. 如請求項1之方法,該方法更包含有:配置一第二資料寬度用以存取內部於該記憶體組件的記憶體元件,其中該第二資料寬度是比該配置的資料寬度要寬的一種資料寬度;以及 從內部於該記憶體組件的該等記憶體元件收集對應於該第二配置資料寬度的資料位元值。
  6. 如請求項5之方法,該方法更包含有:在該等收集的資料位元值上執一更正功能以產生資料位元的更正值;以及透過一介面傳送該更正的資料位元值給一控制器。
  7. 一種記憶體組件,其包含有:一記憶體控制器以透過一介面接收一配置異動,該配置異動係與對應於該記憶體組件之一資料寬度的數個資料位元相關聯,並且其中該記憶體組件能夠以多重資料寬度進行通信;一暫存器以設置一內部值為對應於該資料寬度的該資料位元數;以及一陣列以提供跨越該介面通信之該等數個資料位元的值。
  8. 如請求項7之記憶體組件,其中該配置異動指出數個週期和數個通道,以透過其從該記憶體組件發送該等數個資料位元的該等值。
  9. 如請求項7之記憶體組件,其中該介面是一串列器和解串列器(SerDes)介面,而該介面的一鏈路寬度對應於該記憶體組件的該資料寬度。
  10. 如請求項7之記憶體組件,其中對應於該記憶體組件之該資料寬度的該資料位元數是一非二的冪次資料位元數。
  11. 如請求項7之記憶體組件,其中該記憶體控制器更將:指出一與該資料寬度值相關聯的位址。
  12. 一種非暫時性電腦可讀取儲存媒體,該媒體係以指令被編碼,該等指令可由一計算裝置的一處理器執行,該儲存媒體包含有指令來:由一能夠以多重資料寬度進行通信的記憶體組件接收一配置異動,該配置異動指出一對應於該記憶體組件之一資料寬度的數個資料位元;以及使用與該記憶體組件之該資料寬度相關聯的該資料位元數來配置用以通信之該記憶體組件的該資料寬度,該資料寬度係基於該配置異動。
  13. 如請求項12之包含有該等指令的非暫時性電腦可讀取儲存媒體,更包含有指令可:從內部於該記憶體組件之記憶體元件的一位址檢索出對應於該資料位元數量的值;以及處理用以跨越介面傳輸的該等值。
  14. 如請求項12之包含有該等指令的非暫時性電腦可讀取儲存媒體,其中基於該配置異動把該記憶體組件的該資料寬度配置成該資料位元數更包含有指令來:把一內部於該記憶體組件的一暫存器設置成對應於該資料位元數的一個值。
  15. 如請求項12之包含有該等指令的非暫時性電腦可讀取儲存媒體,更包含有指令可:在傳輸之前對該資料位元數的值執行一錯誤更正碼。
TW103121738A 2013-06-28 2014-06-24 組配記憶體組件之資料寬度的方法、記憶體組件及相關之非暫時性電腦可讀取儲存媒體 TWI512477B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/048777 WO2014209399A1 (en) 2013-06-28 2013-06-28 Memory component capable to communicate at multiple data widths

Publications (2)

Publication Number Publication Date
TW201512843A true TW201512843A (zh) 2015-04-01
TWI512477B TWI512477B (zh) 2015-12-11

Family

ID=52142520

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103121738A TWI512477B (zh) 2013-06-28 2014-06-24 組配記憶體組件之資料寬度的方法、記憶體組件及相關之非暫時性電腦可讀取儲存媒體

Country Status (5)

Country Link
US (1) US20160103778A1 (zh)
EP (1) EP2979188A4 (zh)
CN (1) CN105283856A (zh)
TW (1) TWI512477B (zh)
WO (1) WO2014209399A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI658363B (zh) * 2017-10-20 2019-05-01 慧榮科技股份有限公司 儲存裝置以及其介面晶片
TWI680374B (zh) * 2017-10-20 2019-12-21 慧榮科技股份有限公司 儲存裝置以及其介面晶片
TWI721565B (zh) * 2017-10-20 2021-03-11 慧榮科技股份有限公司 儲存裝置以及其介面晶片

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10222853B2 (en) * 2016-03-03 2019-03-05 Qualcomm Incorporated Power saving techniques for memory systems by consolidating data in data lanes of a memory bus
JP7006166B2 (ja) * 2017-11-17 2022-01-24 富士通株式会社 データ転送装置およびデータ転送方法
US11650943B2 (en) * 2018-10-16 2023-05-16 Micron Technology, Inc. Flexible bus management
US11449249B2 (en) * 2018-11-26 2022-09-20 Micron Technology, Inc. Configuring command/address channel for memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263032A (en) * 1991-06-27 1993-11-16 Digital Equipment Corporation Computer system operation with corrected read data function
US5893927A (en) * 1996-09-13 1999-04-13 International Business Machines Corporation Memory device having programmable device width, method of programming, and method of setting device width for memory device
US6889304B2 (en) * 2001-02-28 2005-05-03 Rambus Inc. Memory device supporting a dynamically configurable core organization
JP3698125B2 (ja) * 2002-07-03 2005-09-21 ソニー株式会社 データ処理システム、データ処理装置及びデータ処理方法
JP4063615B2 (ja) * 2002-08-30 2008-03-19 Necエレクトロニクス株式会社 不揮発性メモリおよびその書き込み処理方法
US7406579B2 (en) * 2002-12-17 2008-07-29 International Business Machines Corporation Selectively changeable line width memory
KR100475125B1 (ko) * 2003-06-21 2005-03-14 삼성전자주식회사 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법
KR100518597B1 (ko) * 2003-10-09 2005-10-04 삼성전자주식회사 입출력 데이터 폭을 선택적으로 변경시키는 저전력 소비형반도체 메모리 장치 및 이에 대한 데이터 입출력 방법
US7215591B2 (en) * 2004-08-03 2007-05-08 Lattice Semiconductor Corporation Byte enable logic for memory
US7764614B2 (en) * 2005-11-15 2010-07-27 Lsi Corporation Multi-mode management of a serial communication link
KR20110058575A (ko) * 2009-11-26 2011-06-01 삼성전자주식회사 데이터 프로세싱 시스템에서의 대역폭 동기화 회로 및 그에 따른 대역폭 동기화 방법
US8359433B2 (en) * 2010-08-17 2013-01-22 Intel Corporation Method and system of handling non-aligned memory accesses
US20120198179A1 (en) * 2011-02-02 2012-08-02 Ware Frederick A Area-efficient, width-adjustable signaling interface
US8898504B2 (en) * 2011-12-14 2014-11-25 International Business Machines Corporation Parallel data communications mechanism having reduced power continuously calibrated lines

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI658363B (zh) * 2017-10-20 2019-05-01 慧榮科技股份有限公司 儲存裝置以及其介面晶片
TWI680374B (zh) * 2017-10-20 2019-12-21 慧榮科技股份有限公司 儲存裝置以及其介面晶片
US10762007B2 (en) 2017-10-20 2020-09-01 Silicon Motion, Inc. Storage device and interface chip thereof
US10795835B2 (en) 2017-10-20 2020-10-06 Silicon Motion, Inc. Storage device and interface chip thereof
TWI721565B (zh) * 2017-10-20 2021-03-11 慧榮科技股份有限公司 儲存裝置以及其介面晶片

Also Published As

Publication number Publication date
EP2979188A1 (en) 2016-02-03
TWI512477B (zh) 2015-12-11
US20160103778A1 (en) 2016-04-14
EP2979188A4 (en) 2016-12-07
WO2014209399A1 (en) 2014-12-31
CN105283856A (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
TWI512477B (zh) 組配記憶體組件之資料寬度的方法、記憶體組件及相關之非暫時性電腦可讀取儲存媒體
US9298648B2 (en) Method and system for I/O flow management using RAID controller with DMA capabilitiy to directly send data to PCI-E devices connected to PCI-E switch
US8738994B2 (en) Memory controller, memory system, and operating method
US20140082260A1 (en) Flash memory controller having dual mode pin-out
TW201716980A (zh) 資料儲存設備及其操作方法
US8904105B2 (en) System and method for performing raid I/O operations in PCIE-based storage resources
CN109407966B (zh) 数据存储装置及其操作方法
KR20200093362A (ko) 메모리 시스템 및 그것의 동작 방법
CN110609659A (zh) 用于执行读取命令的NVMeoF RAID实现方法
KR20200025184A (ko) 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법
US12008270B2 (en) System, device, and method for memory interface including reconfigurable channel
CN112185440B (zh) 存储器接口、数据存储设备及其操作方法
US20230393959A1 (en) Out-of-band management method for storage apparatus, baseboard management controller and storage apparatus
US20230280917A1 (en) Storage system and method of operating the same
US20230007903A1 (en) Storage device and method of operation thereof
US11733920B2 (en) NVMe simple copy command support using dummy virtual function
US20220179581A1 (en) Memory system and controller of memory system
CN114579484A (zh) 数据存储装置及其操作方法
US11853555B2 (en) NVMe dual port enterprise SSD optimization
US20240020262A1 (en) Storage controller and storage device comprising the same
KR20200015260A (ko) 데이터 저장 장치 및 그것의 동작 방법
EP4148572B1 (en) Computational storage device and storage system including the computational storage device
US10846020B2 (en) Drive assisted storage controller system and method
US20230153237A1 (en) Method and device for storing data
US20230393749A1 (en) Method and device of storage data

Legal Events

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