TWI609265B - 用於揮發性記憶體之以極性爲基的資料移轉功能 - Google Patents

用於揮發性記憶體之以極性爲基的資料移轉功能 Download PDF

Info

Publication number
TWI609265B
TWI609265B TW104138740A TW104138740A TWI609265B TW I609265 B TWI609265 B TW I609265B TW 104138740 A TW104138740 A TW 104138740A TW 104138740 A TW104138740 A TW 104138740A TW I609265 B TWI609265 B TW I609265B
Authority
TW
Taiwan
Prior art keywords
data unit
logic
write data
memory
transfer function
Prior art date
Application number
TW104138740A
Other languages
English (en)
Other versions
TW201640355A (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 TW201640355A publication Critical patent/TW201640355A/zh
Application granted granted Critical
Publication of TWI609265B publication Critical patent/TWI609265B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • G11C14/0045Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell and the nonvolatile element is a resistive RAM element, i.e. programmable resistors, e.g. formed of phase change or chalcogenide material
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • 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/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Description

用於揮發性記憶體之以極性為基的資料移轉功能 發明領域
本文揭示大致上係有關於電子學領域。更明確言之,若干面向大致上係有關於用於揮發性記憶體之以極性為基的資料移轉功能。
發明背景
與邏輯壹相反,當資料值為邏輯零時,揮發性記憶體裝置諸如雙倍資料率(DDR)同步動態隨機存取記憶體(DDR SDRAM)具有非對稱性功率消耗。更明確言之,大部分DDR SDRAM記憶體當於記憶體中寫入、讀取、刷新、激活及預充電邏輯壹(1)時與邏輯零(0)時消耗的功率值不同。據此,管理揮發性記憶體裝置的技術可用於例如電子裝置之記憶體系統。
依據本發明之一實施例,係特地提出一種電子裝置,其包含:一處理器;及一記憶體,其包含:一記憶體裝置包含一揮發性記憶體;及一控制器耦合至該記憶體及包含邏輯,至少部分包括硬體邏輯,用以:接收一寫入資 料單元;在該寫入資料單元上執行一以極性為基的移轉功能用以產生一變換資料單元;及將該變換資料單元寫入一揮發性記憶體。
100‧‧‧中央處理單元(CPU)封裝
106‧‧‧核心
108‧‧‧快取記憶體
110、602‧‧‧CPU
120‧‧‧控制中樞器
122、610、942‧‧‧記憶體控制器
124‧‧‧記憶體介面
130‧‧‧本地記憶體
140‧‧‧記憶體裝置
142‧‧‧控制器
144‧‧‧匯流排
146、150、612、714、960、1010、1012‧‧‧記憶體
160‧‧‧通訊匯流排
210-230、250-270、310-380、410-482‧‧‧操作
500‧‧‧記憶體控制器中之邏輯
510‧‧‧零檢測器
515‧‧‧拌碼代碼產生器
520‧‧‧檢測器
525‧‧‧資料及代碼
530、540‧‧‧多工器
535‧‧‧反相器
600、700、1000‧‧‧計算系統
602、602-1~n、702、702-1~N、1002、1004‧‧‧CPU、處理器
603‧‧‧電腦網路
604、704、712‧‧‧互連網路、匯流排
606、1020‧‧‧晶片組
608、1006、1008‧‧‧記憶體控制器中樞器(MCH)
614‧‧‧圖形介面
616‧‧‧顯示裝置、顯示器、圖形加速器
618‧‧‧中樞器介面
620‧‧‧輸入/輸出控制中樞器(ICH)
622‧‧‧匯流排
624‧‧‧周邊橋接器、控制器
626‧‧‧音訊裝置
628‧‧‧碟片驅動裝置
630‧‧‧網路介面裝置
706、706-1~M、920‧‧‧處理器核心
708‧‧‧分享快取記憶體
710‧‧‧路由器
716‧‧‧層級1(L1)快取記憶體
720‧‧‧控制單元
802‧‧‧提取單元
804‧‧‧解碼單元
806‧‧‧排程單元
808‧‧‧執行單元
810‧‧‧報廢單元
814‧‧‧匯流排單元
816‧‧‧暫存器
902‧‧‧單晶片系統(SOC)封裝
930‧‧‧圖形處理單元(GPU)核心
940‧‧‧輸入/輸出(I/O)介面
970、1043‧‧‧I/O裝置
1002、1004‧‧‧處理器
1003‧‧‧網路
1014、1022、1024‧‧‧點對點(PtP)介面
1016、1018、1026、1028、1030、1032‧‧‧PtP介面電路
1034‧‧‧高效能圖形電路
1036‧‧‧高效能圖形介面
1037、1041‧‧‧PtP介面電路、I/F
1040、1044‧‧‧匯流排
1042‧‧‧匯流排橋接器
1045‧‧‧鍵盤/滑鼠
1046‧‧‧通訊裝置
1048‧‧‧資料儲存裝置
詳細說明部分係參考附圖提供。附圖中,元件符號的最左位數識別該元件符號首次出現的圖式。於不同圖式中使用相同的元件符號指示相似的或相同的項目。
圖1為依據此處討論之各種實施例的示意方塊圖例示一設備之組件,其中可實現用於揮發性記憶體之以極性為基的資料移轉功能。
圖2A為依據此處討論之各種實施例的流程圖例示用於揮發性記憶體功率縮減之以極性為基的資料移轉功能實施寫入操作之方法中之高階操作。
圖2B為依據此處討論之各種實施例的流程圖例示用於揮發性記憶體功率縮減之以極性為基的資料移轉功能實施讀取操作之方法中之高階操作。
圖3A為依據此處討論之各種實施例的流程圖例示用於揮發性記憶體功率縮減之以極性為基的資料移轉功能實施寫入操作之方法中之高階操作。
圖3B為依據此處討論之各種實施例的流程圖例示用於揮發性記憶體功率縮減之以極性為基的資料移轉功能實施讀取操作之方法中之高階操作。
圖4A為依據此處討論之各種實施例的流程圖例示用於揮發性記憶體功率縮減之以極性為基的資料移轉功 能實施寫入操作之方法中之高階操作。
圖4B為依據此處討論之各種實施例的流程圖例示用於揮發性記憶體功率縮減之以極性為基的資料移轉功能實施讀取操作之方法中之高階操作。
圖5A-5B為依據此處討論之各種實施例的示意圖例示用於揮發性記憶體功率縮減之以極性為基的資料移轉功能實施讀取操作之邏輯組件。
圖6-10為依據此處討論之各種實施例的示意方塊圖例示電子裝置,其可適用以執行用於揮發性記憶體功率縮減之以極性為基的資料移轉功能。
較佳實施例之詳細說明
於後文詳細說明部分中,陳述無數特定細節以供徹底瞭解各個實施例。但可無此等特定細節而實施各個實施例。於其它情況下,未曾以細節描述眾所周知之方法、程序、組件、及電路俾便不遮掩特定實施例。又,實施例之各種面向可使用各種手段執行,諸如整合式半導體電路(「硬體」)、組織成一或多個程式的電腦可讀取指令(「軟體」)、或硬體與軟體之若干組合。用於本文揭示之目的,述及「邏輯」將表示硬體、軟體、或其若干組合。
如前文描述,管理揮發性及非揮發性記憶體裝置的技術,其利用結果導致寫入邏輯壹(1)的節電優於邏輯零(0)(或反之亦然)相關聯的節電,可運用於例如電子裝置的記憶體系統。此處描述之主旨藉由提出記憶體控制器其具 有應用移轉功能以寫入資料的邏輯來解決此等及其它議題。於若干實施例中,由於CPU中之暫存器內的全部邏輯0資料為常見,移轉功能以一預定數字其包括大量邏輯壹(1)或全然由邏輯壹(1)組成而置換全然充斥著邏輯零(0)的寫入資料單元,藉此減少了由非揮發性記憶體將該資料寫入及儲存於記憶體內所消耗的功率。接著,當該資料單元自記憶體中讀取時,對該資料施以反向移轉功能以便在將資料回傳給一請求端之前將該資料恢復到其原先格式。進一步細節將參考圖1-10描述如後。
圖1為依據此處討論之各種實施例的示意方塊圖例示一設備之組件,其中可執行用於揮發性記憶體之以極性為基的資料移轉功能。參考圖1,於若干實施例中,一中央處理單元(CPU)封裝100其可包含耦合至一控制中樞器120及一本地記憶體130的一或多個CPU 110。控制中樞器120包含一記憶體控制器122及一記憶體介面124。於若干實施例中,控制中樞器120可與處理器110整合。
記憶體介面124係藉一通訊匯流排160耦合至一或多個遠端記憶體裝置140。記憶體裝置140可實施為固態驅動裝置(SSD)、非揮發性雙排型記憶體模組(NV-DIMM)等,及包含一控制器142其可包含本地記憶體146及記憶體150。於各種實施例中,至少若干記憶體150可包含揮發性記憶體,例如,相變記憶體、NAND(快閃)記憶體、鐵電隨機存取記憶體(FeTRAM)、以奈米線為基的非揮發性記憶體(NVM)、結合憶阻器技術的記憶體、靜態隨機存取記憶體 (SRAM)、三維(3D)交叉點記憶體諸如相變記憶體(PCM)、自旋轉移矩記憶體(STT-RAM)、或NAND記憶體。於記憶體裝置140中之記憶體150的特定組態並無特殊限制。於此等實施例中,記憶體介面可包含串列ATA介面、介接CPU封裝100的PCI快速(PCIe)等。
於此處描述之若干實施例中,用以執行移轉功能的邏輯可實現於記憶體控制器122,但於其它實施例中,邏輯可執行CPU 110或控制器142中之一或多者。邏輯的特定所在位置並無特殊限制。
實現以極性為基的移轉功能之第一操作實施例將參考圖2A及2B描述,假設邏輯壹(1)具有較佳節電。首先參考圖2A,於操作210,記憶體控制器122標示一預定數字給全然由邏輯零(0)組成的資料單元將被轉換者。於若干實施例中,該預定數字可選取為具有邏輯壹(1)數目的一數字。舉例言之,針對16位元資料單元,預定數字可標示為十六進制的0x_7FFF(二進制的0111 1111 1111 1111)。特定預定數字並無特殊限制,但須含有高數目的邏輯壹(1)用於節電。
於操作212,於控制器122接收一寫入資料單元。舉例言之,控制器122可接收一寫入操作包括來自一主機裝置的一寫入資料單元,諸如於CPU 110中之一或多者上執行的應用程式。
於操作214,若寫入資料單元係由全邏輯零(0)組成,則控制傳遞給操作216,及記憶體控制器122將該資料 單元轉換成於操作210中標示的預定數字。如此,呈全零(0000 0000 0000 0000)到達控制器122的16位元資料單元被轉換成(0111 1111 1111 1111)的已變換16位元資料單元。於操作218,包含該預定數字的變換資料單元被寫入記憶體150。
相反地,於操作214,若寫入資料單元係不包含全零,則控制傳遞給操作220,及記憶體控制器122判定於操作212中接收的該資料單元是否包含於操作210中標示的預定數字。於操作220,若於操作212中接收的該資料單元包含於操作210中標示的預定數字,則控制傳遞給操作222,及記憶體控制器122將包含全邏輯零(0)的一資料單元寫入記憶體。將此原則應用至此處特定數值實施例,若寫入資料單元為(0111 1111 1111 1111),則控制器122將(0000 0000 0000 0000)寫入記憶體150。
相反地,於操作220,若於操作212中接收的該資料單元不包含於操作210中標示的預定數字,則控制傳遞給操作230,及控制器122將於資料單元中接收的資料寫入記憶體150。
圖2B為依據此處討論之各種實施例的流程圖例示用於揮發性記憶體節電之以極性為基的資料移轉功能實施讀取操作之方法。更明確言之,圖2B中描繪之操作實施當於圖2A中寫入記憶體的資料單元係自記憶體讀取時的反向移轉功能。
參考圖2B,於操作250,控制器122接收針對於 圖2A中寫入的資料單元的一讀取請求。於操作252,控制器122自記憶體150取回資料單元。於操作254,若讀取資料單元係由全邏輯零(0)組成,則控制傳遞給操作256,及記憶體控制器122將該讀取資料單元轉換成於操作210中標示的預定數字。如此,呈全零(0000 0000 0000 0000)到達控制器122的16位元資料單元被轉換成(0111 1111 1111 1111)的已變換16位元資料單元,及回應於讀取請求而回傳。
相反地,於操作254,若讀取資料單元係不包含全零,則控制傳遞給操作260,及記憶體控制器122判定於操作252中取回的該資料單元是否包含於操作210中標示的預定數字。於操作260,若於操作252中取回的該資料單元包含於操作210中標示的預定數字,則控制傳遞給操作262,及記憶體控制器122回應於讀取請求而回傳包含全邏輯零(0)的一資料單元。將此原則應用至此處特定數值實施例,若讀取資料單元為(0111 1111 1111 1111),則控制器122回應於讀取請求而回傳(0000 0000 0000 0000)。
相反地,於操作260,若於操作252中取回的該資料單元不包含於操作210中標示的預定數字,則控制傳遞給操作230,及控制器122回應於讀取請求而回傳自記憶體取回的該資料。
實現以極性為基的移轉功能之第二操作實施例將參考圖3A及3B描述,假設邏輯壹(1)具有較佳節電。首先參考圖3A,於操作310,記憶體控制器122標示一預定數字給全然由邏輯壹(1)組成的資料單元將被轉換者。於若干實 施例中,該預定數字可選取為具有邏輯壹(1)數目的一數字。舉例言之,針對16位元資料單元,預定數字可標示為十六進制的0x_7FFF(二進制的0111 1111 1111 1111)。特定預定數字並無特殊限制,但須含有高數目的邏輯壹(1)用於節電。
於操作312,於控制器122接收一寫入資料單元。舉例言之,控制器122可自一主機裝置接收包括一寫入資料單元的一寫入操作,諸如於CPU 110中之一或多者上執行的應用程式。
於操作314,若寫入資料單元係由全邏輯零(0)組成,則控制傳遞給操作316,及記憶體控制器122將該資料單元轉換成全邏輯壹(1)。如此,呈全零(0000 0000 0000 0000)到達控制器122的16位元資料單元被轉換成(1111 1111 1111 1111)的已變換16位元資料單元。於操作318,包含該預定數字的變換資料單元被寫入記憶體150。
相反地,於操作314,若寫入資料單元係不包含全零,則控制傳遞給操作320,及記憶體控制器122判定於操作312中接收的該資料單元是否包含全壹(1)。於操作320,若於操作312中接收的該資料單元包含全壹(1),則控制傳遞給操作322,及記憶體控制器122將包含於操作310中標示的預定數字的一資料單元寫入記憶體150。將此原則應用至此處特定數值實施例,若寫入資料單元為(1111 1111 1111 1111),則控制器122將(0111 1111 1111 1111)寫入記憶體150。
相反地,於操作320,若於操作312中接收的該資料單元係不包含全壹(1),則控制傳遞給操作330,於該處判定於操作312中接收的該資料單元是否包含於操作310中標示的該預定數字。於操作330,若於操作312中接收的該資料單元包含於操作310中標示的該預定數字,則控制傳遞給操作332,及控制器122將全零(0)寫入記憶體150。
相反地,於操作330,若於操作312中接收的該資料單元不包含於操作310中標示的預定數字,則控制傳遞給操作340,及控制器122將於資料單元中接收的資料寫入記憶體150。
圖3B為依據此處討論之各種實施例的流程圖例示用於揮發性記憶體節電之以極性為基的資料移轉功能實施讀取操作之方法。更明確言之,圖3B中描繪之操作實施當於圖3A中寫入記憶體的資料單元係自記憶體讀取時的反向移轉功能。
參考圖3B,於操作350,控制器122接收針對於圖3A中寫入的資料單元的一讀取請求。於操作352,控制器122自記憶體150取回資料單元。於操作354,若讀取資料單元係由全邏輯零(0)組成,則控制傳遞給操作356,及記憶體控制器122將該讀取資料單元轉換成於操作310中標示的預定數字。如此,呈全零(0000 0000 0000 0000)到達控制器122的16位元資料單元被轉換成(0111 1111 1111 1111)的已變換16位元資料單元,及回應於讀取請求而回傳。
相反地,於操作354,若寫入資料單元係不包含 全零,則控制傳遞給操作360,及記憶體控制器122判定於操作352中取回的該資料單元是否包含全邏輯壹(1)。於操作360,若於操作352中取回的該資料單元包含全邏輯壹(1),則控制傳遞給操作362,及記憶體控制器122回應於讀取請求而回傳包含全邏輯零(0)的一資料單元。將此原則應用至此處特定數值實施例,若寫入資料單元為(1111 1111 1111 1111),則控制器122回應於讀取請求而回傳(0000 0000 0000 0000)。
相反地,於操作360,若寫入資料單元係不包含全零,則控制傳遞給操作370,及記憶體控制器122判定於操作352中取回的該資料單元是否包含於操作310中標示的預定數字。於操作370,若於操作352中取回的該資料單元包含於操作310中標示的預定數字,則控制傳遞給操作372,及記憶體控制器122回應於讀取請求而回傳包含全邏輯壹(1)的一資料單元。將此原則應用至此處特定數值實施例,若寫入資料單元為(0111 1111 1111 1111),則控制器122回應於讀取請求而回傳(1111 1111 1111 1111)。
相反地,於操作370,若於操作352中取回的該資料單元不包含於操作310中標示的預定數字,則控制傳遞給操作380,及控制器122回應於讀取請求而回傳自記憶體取回的該資料。
如所述,前述實施例假定壹(1)之邏輯值比零(0)之邏輯值耗用更少的功率,且被給予移轉功能其將具有全邏輯零(0),此乃常見數字,的資料單元轉換成具有高值(或 全部)邏輯壹(1)的資料單元,以便減少由記憶體消耗的電力。然後接續的讀取操作施加反向移轉功能而將資料恢復至其原先形式。
熟諳技藝人士將瞭解在記憶體裝置140上的若干記憶體150可經組配以使得邏輯「0」為低能源值,而非如此處描述的邏輯「1」。於此等實施例中,可施加反相器用以反相移轉功能的輸出,例如,藉將具有高值(或全部)邏輯壹(1)的一資料單元轉換成具有高值(或全部)邏輯零(0)的一資料字組。於有些記憶體裝置諸如DRAM,常見某些位址空間將有利於零(0),而其它將有利於壹(1)。
舉例言之,記憶體裝置140的賣方可提供資訊,諸如具有邏輯零(0)作為低能源態的記憶體150部分之位址範圍等。此項資訊可組配於記憶體控制器122內。當耦合至記憶體裝置140的電子裝置被啟動時,電子裝置的基本輸入/輸出系統(BIOS)可自記憶體裝置收集相關位址範圍,及提供位址範圍給移轉功能邏輯。然後移轉功能邏輯施加反相器至移轉功能的輸出用於相關位址範圍。
執行以極性為基的移轉功能之第三操作實施例將參考圖4A及4B及圖5A-5B描述。於第三實施例中,移轉功能結合一資料拌碼器。圖5A例示配置用於一寫入資料路徑的記憶體控制器122中之邏輯。簡短參考圖5A,記憶體控制器122中之邏輯可包含一零檢測器510、一拌碼代碼產生器515、一檢測器520用以判定所接收的資料是否等於由拌碼代碼產生器515所產生的一代碼,一XOR運算元用以自資 料及代碼525形成拌碼資料,一多工器530用以在各種資料條件間做選擇,一反相器535,及一多工器540用以選擇是否基於功率而反相資料。圖5B例示針對一讀取資料路徑配置的記憶體控制器內的邏輯。
將參考圖4A及4B描述邏輯之操作。首先參考圖4A,該方法始於操作410,及於操作412,一寫入資料單元接收於控制器122。舉例言之,控制器122可自主機裝置接收包括一寫入資料單元的寫入操作,諸如在CPU 110中之一或多者上執行的應用程式。
於操作414,若寫入資料單元係由全邏輯零(0)組成,則控制傳遞給操作416及邏輯發送全零給最終階段。基於針對系統中記憶體140的賣方資訊,操作440決定邏輯零乃在此位址空間的較低能源態。若零為較低態,則控制傳遞給將最末階段寫入記憶體442。於此種情況下,如此表示全零。若零非為較低能源態,則控制傳遞給反轉最末階段及寫入記憶體444。於此種情況下,如此表示全壹發送給記憶體140。如此,呈全零(0000 0000 0000 0000)到達控制器122的16位元資料單元被轉換成(1111 1111 1111 1111)之已變換16位元資料單元。簡短參考圖5,若零檢測器510檢測得資料輸入為全零,則全零由多工器530前傳。若零非為較低能源態,則反相器535反相該資料輸入給多工器540。
相反地,於操作414,若寫入資料單元不包含全零,則控制傳遞給操作420及記憶體控制器122將該資料輸入拌碼器。於操作422,拌碼代碼產生器515產生一拌碼代 碼。於操作424,檢測器520判定於操作412接收的資料是否等於拌碼代碼。於操作424,若於操作412接收的資料等於拌碼代碼,則控制傳遞給操作426及控制器122將拌碼代碼寫入最末階段。基於條件440,若零為較低能源態,則控制傳遞給操作442及控制器122將最末階段寫入記憶體。於此種情況下,於操作422產生的拌碼器代碼被寫入記憶體。相反地,於操作440,若零非為較低能源態,則控制傳遞給操作444及控制器122反轉最末階段及寫入記憶體444。於此種情況下,如此表示於操作422產生的拌碼器代碼在被發送到記憶體140之前已被反相。
相反地,於操作424,若於操作412接收的資料不等於拌碼代碼,則控制傳遞給操作430及控制器122產生已拌碼的資料,及於操作432,控制器傳遞已拌碼的資料給最末階段。基於條件440,若零為較低能源態,則控制傳遞給將最末階段寫入記憶體442。於此種情況下,如此表示已拌碼的資料。相反地,若零非為較低能源態,則控制傳遞給反轉最末階段及寫入記憶體444。於此種情況下,如此表示已拌碼的資料在被發送到記憶體之前已被反相。
圖4B為依據此處討論之各種實施例的流程圖例示針對用於記憶體電力縮減之以極性為基的資料移轉功能執行讀取操作之方法中的高階操作。更明確言之,當圖4A中寫入記憶體的資料單元讀取自記憶體時,圖4B中描繪的操作實施反相移轉功能。
參考圖4B,於操作450,控制器122接收針對圖 4A中寫入的資料單元之一讀取請求。於操作452,控制器122自記憶體150取回該資料單元。舉例言之,基於針對系統中記憶體140的賣方資訊,操作454決定邏輯零是否為此位址的較低能源態。於操作454,若零為較低能源態,則於操作456控制傳遞該資料單元給下個階段。相反地,於操作454,若零非為較低能源態,則控制傳遞給操作458以在傳遞給下個階段之前反相該資料單元。於操作460,操作456或458的結果傳遞給零檢測器。於操作460,若讀取資料單元係由全邏輯零(0)組成,則控制傳遞給操作462及記憶體控制器122將該讀取資料單元轉換成全邏輯零(0)。如此,當全壹(1111 1111 1111 1111)及零並非較低能源數據時,到達控制器122的16位元資料單元被轉換成(0000 0000 0000 0000)的已變換16位元資料單元及回應於讀取請求而回傳。
相反地,於操作460,若寫入資料單元不包含全零,則控制傳遞給操作470,及記憶體控制器122判定於操作452取回的該資料單元是否等於操作422中由拌碼代碼產生器515所產生的拌碼代碼。於操作470,若該資料等於拌碼器代碼,則控制傳遞給操作472及記憶體控制器122回應於讀取請求,回傳包含於操作422中由拌碼代碼產生器515所產生的拌碼代碼之一資料單元。
相反地,於操作470,若該資料不等於拌碼器代碼,則控制傳遞給操作480及記憶體控制器122產生一經解拌碼的資料單元,及於操作482,回應於讀取請求,控制器122回傳自記憶體取回的資料。
如前文描述,於若干實施例中,電子裝置可具體實施為電腦系統。圖6例示依據一實施例一電腦系統600之方塊圖。電腦系統600可包括一或多個中央處理單元(CPU)602或處理器其透過互連網路(或匯流排)604通訊。處理器602可包括一通用處理器、一網路處理器(其處理透過一電腦網路603通訊之資料)、或其它類型的處理器(包括精簡指令集電腦(RISC)處理器或複雜指令集電腦(CISC))。再者,處理器602可具有單或多核心設計。具有多核心設計的處理器602可整合不同類型的處理器核心於相同積體電路(IC)晶粒上。又,具有多核心設計的處理器602可實現為對稱性或非對稱性多處理器。於一實施例中,處理器602中之一或多者可與圖1之處理器102相同或類似。舉例言之,處理器602中之一或多者可包括參考圖1-3討論的控制單元120。又,參考圖3-5討論的操作可由系統600之一或多個組件進行。
一晶片組606也可與互連網路604通訊。晶片組606可包括一記憶體控制中樞器(MCH)608。MCH 608可包括一記憶體控制器610,其與記憶體612(其可與圖1之記憶體130相同或相似)通訊。記憶體412可儲存資料,包括指令序列,其可由CPU 602或含括於計算系統600中之任何其它裝置執行。於一個實施例中,記憶體612可包括一或多個揮發性儲存(或記憶體)裝置,諸如隨機存取記憶體(RAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)、或其它類型之儲存裝置。也可使用非揮發性記憶體諸如硬 碟。額外裝置可透過互連網路604通訊,諸如多個CPU及/或多個系統記憶體。
MCH 608也可包括與一顯示裝置616通訊的一圖形介面614。於一個實施例中,圖形介面614可透過一加速圖形埠(AGP)而與顯示裝置616通訊。於一實施例中,顯示器616(諸如平板顯示器)例如透過一信號轉換器而與圖形介面614通訊,該信號轉換器將儲存於一儲存裝置諸如視訊記憶體或系統記憶體中之影像的數位表示型態轉譯成顯示信號,該等顯示信號由顯示器616解譯與顯示。由顯示裝置產生的顯示信號,在由顯示器616解譯與隨後顯示在顯示器616上之前,可傳送通過各種控制裝置。
一中樞器介面618許可MCH 608與輸入/輸出控制中樞器(ICH)620通訊。ICH 620可對與計算系統600通訊的I/O裝置提供介面。ICH 620可經由一周邊橋接器(或控制器)624而與匯流排622通訊,諸如周邊組件互連(PCI)橋接器、通用串列匯流排(USB)控制器、或其它類型的周邊橋接器或控制器。橋接器624可提供CPU 602與周邊裝置間之資料路徑。可運用其它類型的拓樸結構。又,多個匯流排可與ICH 620例如經由多個橋接器或控制器通訊。再者,於各種實施例中,與ICH 620通訊的其它周邊裝置可包括整合式驅動電子裝置(IDE)或小型電腦系統介面(SCSI)硬碟驅動裝置、USB埠、鍵盤、滑鼠、並列埠、串列埠、軟碟驅動裝置、數位輸出支援(例如,數位視訊介面(DVI))、或其它裝置。
匯流排622可與一音訊裝置626、一或多個碟片驅 動裝置628、及一網路介面裝置630(其係與電腦網路603通訊)通訊。其它裝置可透過匯流排622通訊。又,於若干實施例中,各種組件(諸如網路介面裝置630)可與MCH 608通訊。此外,處理器602與此處討論的一或多個其它組件可組合而形成單晶片(例如,提供一單晶片系統(SOC))。又復,於其它實施例中,圖形加速器616可涵括於MCH 608內部。
又復,計算系統600可包括揮發性及/或非揮發性記憶體(或儲存裝置)。舉例言之,非揮發性記憶體可包括下列中之一或多者:唯讀記憶體(ROM)、可規劃ROM(PROM)、可抹除PROM(EPROM)、電氣EPROM(EEPROM)、碟片驅動裝置(例如,628)、軟碟、光碟ROM(CD-ROM)、數位影音碟(DVD)、快閃記憶體、磁光碟、或能夠儲存電子資料(例如,包括指令)的其它類型的非揮發性機器可讀取媒體。
圖7例示依據一實施例一計算系統700之方塊圖。系統700可包括一或多個處理器702-1至702-N(此處通稱為「處理器702」或「處理器702」)。處理器702可透過互連網路或匯流排704通訊。各個處理器可包括各種組件,為求清晰,其中部分只參考處理器702-1討論。據此,其餘處理器702-2至702-N中之各者可包括參考處理器702-1討論的相同的或相似的組件。
於一實施例中,處理器702-1可包括一或多個處理器核心706-1至706-M(此處稱為「核心706」或更通稱為「核心706」)、一分享快取記憶體708、一路由器710、及/或一處理器控制邏輯或單元720。處理器核心706可在單一 積體電路(IC)晶片上實施。再者,晶片可包括一或多個分享及/或專用快取記憶體(諸如快取記憶體708)、匯流排或互連結構(諸如匯流排或互連網路712)、記憶體控制器、或其它組件。
於一個實施例中,路由器710可用於在處理器702-1及/或系統700之各種組件間通訊。再者,處理器702-1可包括多於一個路由器710。又復,多個路由器710可通訊而使其能安排在處理器702-1內部或外部的各種組件間之資料路徑。
分享快取記憶體708可儲存資料(例如,包括指令)其由處理器702-1之一或多個組件諸如核心706運用。舉例言之,分享快取記憶體708可本地快取儲存於記憶體714中之資料以供由處理器702的組件更快速存取。於一實施例中,快取記憶體708可包括中間層級快取記憶體(諸如層級2(L2)、層級3(L3)、層級4(L4)、或其它層級的快取記憶體)、最末層級快取記憶體(LLC)、及/或其組合。再者,處理器702-1之各種組件可與分享快取記憶體708直接通訊,透過匯流排(例如,匯流排712)及/或記憶體控制器或中樞器通訊。如於圖7中顯示,於若干實施例中,核心706中之一或多者可包括層級1(L1)快取記憶體716-1(此處通稱為「L1快取記憶體716」)。於一個實施例中,控制單元720可包括邏輯用以執行如前文參考圖2之記憶體控制器122描述的操作。
圖8例示依據一實施例一計算系統的一處理器核心706及其它組件之部分之方塊圖。於一個實施例中,圖8 中顯示的箭頭例示指令通過核心706之流動方向。一或多個處理器核心(諸如處理器核心706)可在單一積體電路晶片(或晶粒)上實施,諸如參考圖7討論者。再者,晶片可包括一或多個分享及/或專用快取記憶體(諸如圖7之快取記憶體708)、互連結構(例如,圖7之互連結構704及/或112)、控制單元、記憶體控制器、或其它組件。
如於圖8中例示,處理器核心706可包括一提取單元802用以提取指令(包括具有條件分支的指令)以供由核心706執行。該等指令可提取自任何儲存裝置,諸如記憶體714。核心706也可包括一解碼單元804用以解碼所提取的指令。例如,解碼單元804可將所提取的指令解碼成多個uops(微操作)。
此外,核心706可包括一排程單元806。排程單元806可執行與儲存已解碼指令(例如,接收自解碼單元804)相關聯的各項操作直到該等指令準備用於調度為止,例如,直到已解碼指令之全部來源值變成可用為止。於一個實施例中,排程單元806可排程及/或簽發(或調度)已解碼指令給一執行單元808用於執行。在指令已被解碼(例如,由解碼單元804)及調度(例如,由排程單元806)之後,執行單元808可執行該已調度的指令。於一實施例中,執行單元808可包括多於一個執行單元。執行單元808也可從事各項算術運算諸如加、減、乘、及/或除,且可包括一或多個算術邏輯單元(ALU)。於一實施例中,共處理器(圖中未顯示)可聯合執行單元808而從事各種算術運算。
又,執行單元808可亂序執行指令。因此,於一個實施例中,處理器核心706可以是亂序處理器核心。核心706也可包括一報廢單元810。報廢單元810可在已執行指令提交之後報廢之。於一實施例中,已執行指令的報廢可導致處理器狀態自指令之執行提交,由指令所使用的實體暫存器被解除分配等。
核心706也可包括一匯流排單元714以啟用處理器核心706與其它組件(諸如參考圖8討論的組件)間透過一或多個匯流排(例如,匯流排804及/或812)的通訊。核心706也可包括一或多個暫存器816用以儲存由核心706之各個組件所存取的資料(諸如有關功率消耗狀態設定之值)。
又復,即便圖7例示控制單元720透過互連結構812耦合至核心706,但於各種實施例中,控制單元720可位在它處,諸如核心706內部,透過匯流排704耦合至核心等。
於若干實施例中,此處討論的組件中之一或多者可具體實施為單晶片系統(SOC)裝置。圖9例示依據一實施例一SOC封裝之方塊圖。如於圖9中例示,SOC封裝902包括一或多個中央處理單元(CPU)核心920、一或多個圖形處理單元(GPU)核心930、一輸入/輸出(I/O)介面940、及一記憶體控制器942。SOC封裝902可耦合至互連結構或匯流排,諸如此處參考其它圖式之討論。又,SOC封裝902可包括更多或更少的組件,諸如此處參考其它圖式之討論。又,SOC封裝902之各個組件可包括一或多個其它組件,諸如此處參考其它圖式之討論。於一個實施例中,SOC封裝902(及其組 件)係設在一包括可由一處理器執行的指令之機器可讀取非暫態儲存媒體積體電路(IC)晶粒上,例如,其係封裝成單一半導體裝置。
如於圖9中例示,SOC封裝902透過記憶體控制器942耦合至一記憶體960(其可類似或與如此處參考其它圖式之討論的記憶體相同)。於一實施例中,記憶體960(或其部分)能夠整合至SOC封裝902上。
I/O介面940例如可透過一互連結構及/或匯流排而耦合至一或多個I/O裝置970,諸如此處參考其它圖式之討論。I/O裝置970可包括鍵盤、滑鼠、觸控板、顯示器、影像/視訊擷取裝置(諸如相機或攝影機/視訊紀錄器)、觸控螢幕、揚聲器等中之一或多者。
圖10例示依據一實施例一計算系統1000其係排列成點對點(PtP)組態。更明確言之,圖10顯示一系統於該處處理器、記憶體、及輸入/輸出裝置係由多個點對點介面互連。參考圖2討論之操作可由系統1000之一或多個組件執行。
如於圖10中例示,系統1000可包括數個處理器,其中為求清晰只顯示兩個處理器1002及1004。處理器1002及1004可各自包括一本地記憶體控制器中樞器(MCH)1006及1008以使其能夠與記憶體1010及1012通訊。於若干實施例中,MCH 1006及1008可包括圖1之記憶體控制器120及/或邏輯。
於一實施例中,處理器1002及1004可以是參考圖 7討論之處理器702中之一者。處理器1002及1004可分別使用點對點(PtP)介面電路1016及1018透過PtP介面1014交換資料。又,處理器1002及1004可各自使用點對點介面電路1026、1028、1030、及1032,透過PtP介面1022及1024而與晶片組1020交換資料。晶片組1020可進一步例如使用PtP介面電路1037,透過高效能圖形介面1036而與高效能圖形電路1034交換資料。
如於圖10中顯示,圖1之核心106及/或快取記憶體108中之一或多者可位在處理器1002及1004內部。但其它實施例可存在於圖10之系統1000內部的其它電路、邏輯單元、或裝置內。又復,其它實施例可分散遍布圖10中例示的數個電路、邏輯單元、或裝置。
晶片組1020可使用點對點(PtP)介面電路1041而與一匯流排1040通訊。匯流排1040可有與其通訊的一或多個裝置,諸如匯流排橋接器1042及I/O裝置1043。透過一匯流排1044,匯流排橋接器1043可與其它裝置通訊,諸如鍵盤/滑鼠1045、通訊裝置1046(諸如數據機、網路介面裝置、或可與電腦網路803通訊的其它通訊裝置)、音訊I/O裝置、及/或資料儲存裝置1048。資料儲存裝置1048(其可以是硬碟驅動裝置或以NAND快閃記憶體為基之固態驅動裝置)可儲存可由處理器1002及/或1004執行的代碼1049。
下列係有關於進一步實施例。
實施例1為一種電子裝置包含一處理器;及一記憶體,包含一記憶體裝置包含一揮發性記憶體及一控制器 耦合至該記憶體及包含邏輯,至少部分包括硬體邏輯,用以接收一寫入資料單元;在該寫入資料單元上執行一以極性為基的移轉功能用以產生一變換資料單元;及將該變換資料單元寫入一揮發性記憶體。
於實施例2中,實施例1之主旨可選擇性地包括邏輯,至少部分包括硬體邏輯,用以檢測一寫入資料單元其只有包括零;及將該寫入資料單元轉換成一變換資料單元其包括一預定數字。
於實施例3中,實施例1-2中之任一者的主旨可選擇性地包括邏輯,至少部分包括硬體邏輯,用以檢測一寫入資料單元其包括該預定數字;及將該寫入資料單元轉換成一變換資料單元其包括全零。
於實施例4中,實施例1-3中之任一者的主旨可選擇性地包括邏輯,至少部分包括硬體邏輯,用以接收針對該變換資料單元之一讀取請求;從記憶體取回該變換資料單元;及在該變換資料單元上執行一以極性為基的移轉功能用以產生該寫入資料單元;及回應於該請求而回傳該寫入資料單元。
於實施例5中,實施例1-4中之任一者的主旨可選擇性地包括邏輯,至少部分包括硬體邏輯,用以檢測一變換資料單元其只有包括零;及將該變換資料單元轉換成一寫入資料單元其包括一預定數字。
於實施例6中,實施例1-5中之任一者的主旨可選擇性地包括邏輯,至少部分包括硬體邏輯,用以檢測一變 換資料單元其包括該預定數字;及將該變換資料單元轉換成一寫入資料單元其包括全零。
於實施例7中,實施例1-6中之任一者的主旨可選擇性地包括邏輯,至少部分包括硬體邏輯,用以產生一拌碼器代碼;及施加該拌碼器代碼至該寫入資料單元用以產生一變換資料單元。
於實施例8中,實施例1-7中之任一者的主旨可選擇性地包括邏輯,至少部分包括硬體邏輯,用以接收針對該變換資料單元之一讀取請求;從記憶體取回該變換資料單元;及將變換資料單元解拌碼用以產生該寫入資料單元;及回應於該請求而回傳該寫入資料單元。
於各種實施例中,此處例如參考圖1-10討論之操作可實現為硬體(例如,電路)、軟體、韌體、微碼、或其組合,其可提供為電腦程式產品,例如包括具體有形(例如,非暫態)機器可讀取或電腦可讀取媒體於其上儲存有指令(或軟體程序)用以規劃一電腦而執行此處討論之方法。又,「邏輯」一詞可包括例如軟體、硬體、或軟體與硬體的組合。機器可讀取媒體可包括儲存裝置,諸如此處討論者。
於說明書中述及「一個實施例」或「一實施例」表示連結該實施例描述的特定特色、結構、或特性可涵括於至少一個具體實施例中。片語「於一個實施例中」出現於說明書中各處可以或可非全部皆係指相同的實施例。
又,於詳細說明部分及申請專利範圍中,可使用術語「耦合」及「連結」連同其衍生詞。於若干實施例中, 「連結」可用以指示二或多個元件係彼此直接實體或電氣接觸。「耦合」可表示二或多個元件係直接實體或電氣接觸。然而,「耦合」也可表示二或多個元件可能並非為彼此直接接觸,但仍可彼此協作或互動。
如此,雖然已經以結構特色及/或方法動作的特定語言描述實施例,但須瞭解本案所請主旨可不僅限於所描述的特定特色或動作。反而,該等特定特色或動作係揭示為執行本案所請主旨之樣本形式。
100‧‧‧CPU封裝
110‧‧‧CPU
120‧‧‧控制中樞器
122‧‧‧記憶體控制器
124‧‧‧記憶體介面
130‧‧‧本地記憶體
140‧‧‧記憶體裝置
142‧‧‧控制器
144、160‧‧‧通訊匯流排
146、150‧‧‧記憶體

Claims (18)

  1. 一種電子裝置,其包含:一處理器;及一記憶體,包含:一記憶體裝置,其包含一揮發性記憶體;及一控制器,其耦合至該揮發性記憶體且包含邏輯,該邏輯至少部分包括硬體邏輯,其用以:接收一寫入資料單元以及進行:檢測該寫入資料單元只有包括零並且執行一以極性為基的移轉功能以將該寫入資料單元轉換成一變換資料單元,其包括一預定數目之壹和至少一個零;或是檢測該寫入資料單元包括一預定數目之壹和至少一個零並且執行一以極性為基的移轉功能以將該寫入資料單元轉換成一變換資料單元,其包括全零;及將該變換資料單元寫入該揮發性記憶體。
  2. 如請求項1之電子裝置,其進一步包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:接收針對該寫入資料單元之一讀取請求;從該揮發性記憶體取回該變換資料單元;在該變換資料單元上執行一反向移轉功能以產生該寫入資料單元;及 回應於該請求而回傳該寫入資料單元。
  3. 如請求項2之電子裝置,其中用以執行該反向移轉功能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:檢測該變換資料單元只有包括零;及將該變換資料單元轉換成該寫入資料單元,其包括一預定數目之壹和至少一個零。
  4. 如請求項3之電子裝置,其中用以執行該反向移轉功能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:檢測該變換資料單元包括該預定數目之壹和至少一個零;及將該變換資料單元轉換成該寫入資料單元,其包括全零。
  5. 如請求項1之電子裝置,其中用以執行一以極性為基的移轉功能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:產生一拌碼器代碼;及施加該拌碼器代碼至該寫入資料單元以產生該變換資料單元。
  6. 如請求項5之電子裝置,其進一步包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:接收針對該寫入資料單元之一讀取請求;從該揮發性記憶體取回該變換資料單元; 將變換資料單元解拌碼以產生該寫入資料單元;及回應於該請求而回傳該寫入資料單元。
  7. 一種記憶體裝置,其包含:一揮發性記憶體;及一控制器,其耦合至該揮發性記憶體且包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:接收一寫入資料單元以及進行:檢測該寫入資料單元只有包括零並且執行一以極性為基的移轉功能以將該寫入資料單元轉換成一變換資料單元,其包括一預定數目之壹和至少一個零;或是檢測該寫入資料單元包括一預定數目之壹和至少一個零並且執行一以極性為基的移轉功能以將該寫入資料單元轉換成一變換資料單元,其包括全零;及將該變換資料單元寫入該揮發性記憶體。
  8. 如請求項7之記憶體裝置,其進一步包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:接收針對該寫入資料單元之一讀取請求;從該揮發性記憶體取回該變換資料單元;在該變換資料單元上執行一反向移轉功能以產生該寫入資料單元;及回應於該請求而回傳該寫入資料單元。
  9. 如請求項8之記憶體裝置,其中用以執行該反向移轉功 能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:檢測該變換資料單元只有包括零;及將該變換資料單元轉換成該寫入資料單元,其包括一預定數目之壹和至少一個零。
  10. 如請求項9之記憶體裝置,其中用以執行該反向移轉功能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:檢測該變換資料單元包括該預定數目之壹和至少一個零;及將該變換資料單元轉換成該寫入資料單元,其包括全零。
  11. 如請求項7之記憶體裝置,其中用以執行一以極性為基的移轉功能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:產生一拌碼器(scrambler)代碼;及施加該拌碼器代碼至該寫入資料單元以產生該變換資料單元。
  12. 如請求項11之記憶體裝置,其進一步包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:接收針對該寫入資料單元之一讀取請求;從該揮發性記憶體取回該變換資料單元;將變換資料單元解拌碼以產生該寫入資料單元;及回應於該請求而回傳該寫入資料單元。
  13. 一種控制器,其包含邏輯,至少部分包括硬體邏輯,用以:接收一寫入資料單元以及進行:檢測該寫入資料單元只有包括零並且執行一以極性為基的移轉功能用以將該寫入資料單元轉換成一變換資料單元,其包括一預定數目之壹和至少一個零;或是檢測該寫入資料單元包括一預定數目之壹和至少一個零並且執行一以極性為基的移轉功能用以將該寫入資料單元轉換成一變換資料單元,其包括全零;及將該變換資料單元寫入該揮發性記憶體。
  14. 如請求項13之控制器,其進一步包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:接收針對該寫入資料單元之一讀取請求;從該揮發性記憶體取回該變換資料單元;在該變換資料單元上執行一反向移轉功能以產生該寫入資料單元;及回應於該請求而回傳該寫入資料單元。
  15. 如請求項14之控制器,其中用以執行該反向移轉功能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:檢測該變換資料單元只有包括零;及將該變換資料單元轉換成該寫入資料單元,其包括 一預定數目之壹和至少一個零。
  16. 如請求項15之控制器,其中用以執行該反向移轉功能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:檢測該變換資料單元包括該預定數目之壹和至少一個零;及將該變換資料單元轉換成該寫入資料單元,其包括全零。
  17. 如請求項13之控制器,其中用以執行一以極性為基的移轉功能之該邏輯包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:產生一拌碼器代碼;及施加該拌碼器代碼至該寫入資料單元以產生該變換資料單元。
  18. 如請求項17之控制器,其進一步包含至少部分包括硬體邏輯的邏輯,該硬體邏輯用以:接收針對該寫入資料單元之一讀取請求;從該揮發性記憶體取回該變換資料單元;將變換資料單元解拌碼以產生該寫入資料單元;及回應於該請求而回傳該寫入資料單元。
TW104138740A 2014-12-24 2015-11-23 用於揮發性記憶體之以極性爲基的資料移轉功能 TWI609265B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/582,546 US9740610B2 (en) 2014-12-24 2014-12-24 Polarity based data transfer function for volatile memory

Publications (2)

Publication Number Publication Date
TW201640355A TW201640355A (zh) 2016-11-16
TWI609265B true TWI609265B (zh) 2017-12-21

Family

ID=56151348

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104138740A TWI609265B (zh) 2014-12-24 2015-11-23 用於揮發性記憶體之以極性爲基的資料移轉功能

Country Status (4)

Country Link
US (2) US9740610B2 (zh)
KR (2) KR102549070B1 (zh)
TW (1) TWI609265B (zh)
WO (1) WO2016105806A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
US10719397B2 (en) 2018-06-08 2020-07-21 Samsung Electronics Co., Ltd. System, device and method for storage device assisted low-bandwidth data repair
US11139034B1 (en) 2020-07-15 2021-10-05 Micron Technology, Inc. Data-based polarity write operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009617A1 (en) * 2001-03-15 2003-01-09 Ehud Cohen Method for reducing power consumption through dynamic memory stoarge inversion
US20090043944A1 (en) * 2007-08-09 2009-02-12 Timothy Chainer Method, Apparatus And Computer Program Product Providing Energy Reduction When Storing Data In A Memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5735697A (en) 1996-09-27 1998-04-07 Itt Corporation Surface mount connector
DE19901829A1 (de) 1999-01-19 2000-07-20 Philips Corp Intellectual Pty Schaltungsanordnung zur elektronischen Datenverarbeitung
KR100546339B1 (ko) 2003-07-04 2006-01-26 삼성전자주식회사 차동 데이터 스트로빙 모드와 데이터 반전 스킴을 가지는단일 데이터 스트로빙 모드를 선택적으로 구현할 수 있는반도체 장치
US7525864B2 (en) * 2007-04-05 2009-04-28 Lsi Corporation Memory data inversion architecture for minimizing power consumption
US7953930B2 (en) * 2007-12-07 2011-05-31 Sandisk Corporation Device identifiers for nonvolatile memory modules
US7656707B2 (en) * 2007-12-14 2010-02-02 Intel Corporation Systems and methods for discrete channel decoding of LDPC codes for flash memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009617A1 (en) * 2001-03-15 2003-01-09 Ehud Cohen Method for reducing power consumption through dynamic memory stoarge inversion
US20090043944A1 (en) * 2007-08-09 2009-02-12 Timothy Chainer Method, Apparatus And Computer Program Product Providing Energy Reduction When Storing Data In A Memory

Also Published As

Publication number Publication date
US20180067852A1 (en) 2018-03-08
KR102549070B1 (ko) 2023-06-28
KR20170097625A (ko) 2017-08-28
TW201640355A (zh) 2016-11-16
US9740610B2 (en) 2017-08-22
KR20230045112A (ko) 2023-04-04
US10055346B2 (en) 2018-08-21
KR102518010B1 (ko) 2023-04-04
US20160188463A1 (en) 2016-06-30
WO2016105806A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
JP6429256B2 (ja) スピン転移トルクメモリにおける書き込みオペレーション
TWI567751B (zh) 多暫存器記憶體存取指令、處理器、方法及系統
WO2016048496A1 (en) Encryption integrity check in memory
JP6137582B2 (ja) 電子デバイス、メモリコントローラ、装置
TW201706855A (zh) 記憶體中之轉譯後備緩衝器
US20150006856A1 (en) Mode dependent partial width load to wider register processors, methods, and systems
US10108554B2 (en) Apparatuses, methods, and systems to share translation lookaside buffer entries
RU2643499C2 (ru) Управление памятью
EP3709159B1 (en) Processing vectorized guest physical address translation instructions
TWI609265B (zh) 用於揮發性記憶體之以極性爲基的資料移轉功能
CN106663471A (zh) 用于反向存储器备份的方法和装置
US10019354B2 (en) Apparatus and method for fast cache flushing including determining whether data is to be stored in nonvolatile memory
TWI605450B (zh) 在自旋轉移力矩記憶體中之寫入操作技術
CN115220795A (zh) 指令处理方法、电子设备和存储介质
JP2007328627A (ja) 半導体集積回路

Legal Events

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