TW201814494A - 記憶體系統及處理器系統 - Google Patents
記憶體系統及處理器系統 Download PDFInfo
- Publication number
- TW201814494A TW201814494A TW106108076A TW106108076A TW201814494A TW 201814494 A TW201814494 A TW 201814494A TW 106108076 A TW106108076 A TW 106108076A TW 106108076 A TW106108076 A TW 106108076A TW 201814494 A TW201814494 A TW 201814494A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- control unit
- mode
- unit
- write
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1673—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1677—Verifying circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1693—Timing circuits or methods
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本發明之實施形態係關於記憶體系統及處理器系統。 本發明提供一種可實現錯誤產生概率降低、存取速度提高及低消耗電力化之記憶體系統及處理器系統者。 一態樣之記憶體系統具備: 非揮發記憶體; 記憶部,其可較上述非揮發記憶體更高速存取,將對於上述非揮發記憶體之存取資訊於存取至上述非揮發記憶體前進行記憶;及 記憶體控制部,其基於上述記憶部之空間容量、或記憶於上述記憶部之上述存取資訊,而控制上述非揮發記憶體之寫入脈衝寬度。
Description
本發明之實施形態係關於記憶體系統及處理器系統。
謀求用於可攜式資訊終端之處理器為低消耗電力。因此,正進行以非揮發性記憶體置換快取記憶體或主記憶體之研討。MRAM(Magnetoresistive Random Access Memory:磁阻式隨機存取記憶體)係於各種非揮發性記憶體中作為可同時滿足高重寫耐性、進行高速讀取與寫入之動作性能、及可高積體之單元面積之3個特徵者而受到關注。將MRAM作為快取使用時動作速度與其他非揮發性記憶體相比較高速,且面積效率與先前之記憶體相比較高,可將大容量之高速快取搭載於處理器,因此對MRAM寄予較大期待。尤其於MRAM中,使用稱作STT-MRAM(Spin Transfer Torque MRAM:自旋轉移力矩MRAM)之垂直磁性自旋注入之方式,寫入電流與寫入延遲非常小,且可高速動作,因此期待廣泛應用。 然而,MRAM與SRAM(Static Random Access Memory:靜態隨機存取記憶體)或DRAM(Dynamic Random Access Memory:動態隨機存取記憶體)相比,有寫入時之錯誤產生概率較高之問題。亦考慮進行寫入資料後讀取並驗證之驗證處理,但驗證處理耗費時間,因此會導致存取速度降低。或,亦考慮提高寫入電壓,但會成為消耗電力增加之原因。又,亦考慮增長寫入脈衝寬度,但仍然會導致存取速度降低。
一態樣之記憶體系統具備: 非揮發記憶體; 記憶部,其可較上述非揮發記憶體更高速存取,將對於上述非揮發記憶體之存取資訊於存取至上述非揮發記憶體前進行記憶;及 記憶體控制部,其基於上述記憶部之空間容量、或記憶於上述記憶部之上述存取資訊,控制上述非揮發記憶體之寫入脈衝寬度。
以下,一面參照圖式,一面對一實施形態進行說明。圖1係顯示一實施形態之具備記憶體系統1之處理器系統2之概略構成之方塊圖。圖1之處理器系統2除記憶體系統1外,亦具備包含處理器3之主機電路4。 主機電路4之具體內部構成無限制。設置於主機電路4內之處理器3可為單核心之處理器3,亦可為多核心之處理器3。主機電路4之內部構成為任意,例如亦可於主機電路4內設置1階層以上之快取記憶體。又,亦可於主機電路4內設置管理自處理器3發行之位址之MMU(Memory Management Unit:記憶體管理單元)、進行位址轉換之頁面表格或TLB(Translation Lookaside Buffer:轉換後備緩衝器)等。 記憶體系統1具有記憶體控制器5與MRAM6。記憶體系統1內之MRAM6可為進行使用垂直磁化方式之MTJ(Magnetic Tunnel Junction:磁穿隧結)記憶元件之自旋注入寫入之STT-MRAM,亦可為其他寫入方式之MRAM6。 圖1之MRAM6可為藉由處理器3存取之主記憶體,亦可為存取優先順序高於主記憶體之快取記憶體。例如,於主機電路4內包含處理器3與低次之快取記憶體之情形時,圖1之MRAM6亦可為高次之快取記憶體。 另,亦可將圖1之MRAM6置換成ReRAM(Resistive Random Access Memory:電阻式隨機存取記憶體)等其他非揮發記憶體。又,將圖1之MRAM6作為主記憶體使用之情形時,除圖1之MRAM6外,亦可設置DRAM(Dynamic RAM)等揮發記憶體,形成混合構成之主記憶體。 圖1之主控制器5根據來自主機電路4內之處理器3之存取請求,進行對於MRAM6之資料之寫入控制與讀取控制。圖1之記憶體控制器5具有MRAM控制部7、時脈同步化部8、主機介面部9及控制器核心部10。 MRAM控制部7進行對於MRAM6之資料之寫入控制與讀取控制。時脈同步化部8生成與自外部輸入之時脈信號CLK同步化之信號,並供給至MRAM控制部7。藉此,MRAM控制部7與自外部輸入之時脈信號CLK同步,進行對於MRAM6之資料之寫入控制與讀取控制。 主機介面部9於與主機電路4之間收發各種信號。自主機電路4發送至主機介面部9之信號例如為指令、位址、資料等。指令包含寫入指令與讀取指令。自主機介面部9發送至主機電路4之信號例如為指令應答信號、位址、資料、忙碌信號等。 控制器核心部10連同MRAM控制部7進行對MRAM6之存取控制。控制器核心部10具有佇列存儲部(記憶部)11、佇列追加部12、佇列彈出部13、頁面叢集控制部14、佇列執行部15、驗證控制部16、佇列輸出部17、狀態遷移控制部18、初始化控制部19、位址生成部20、及組管理部21。 佇列存儲部11將主機電路4對MRAM6請求之存取資訊於存取至MRAM6前暫時記憶。以下,將各存取資訊稱作佇列。各佇列包含指令、位址及資料。 佇列存儲部11可以例如包含D型正反器等之暫存器構成。佇列存儲部11雖為小容量,但可較MRAM6更高速地進行資料之寫入及讀取。 佇列追加部12於自主機電路4發送來新的存取資訊之情形時,進行將該存取資訊作為新佇列而寫入至佇列存儲部11之控制。又,如後述,於推遲對MRAM6之驗證處理之情形時,佇列追加部12進行自MRAM控制部7接收用以驗證處理之佇列,並追加至佇列存儲部11之控制。 頁面叢集控制部14進行將佇列存儲部11內之佇列分類成頁面單位,生成頁面單位之叢集,且就每個叢集取出佇列之控制。佇列彈出部13於頁面叢集控制部14之控制下,自佇列存儲部11取出應接著執行之佇列,並供給至佇列執行部15。 佇列執行部15執行自佇列存儲部11經由佇列彈出部13取出之佇列所含之指令。若指令為寫入指令,則如後述,進行寫入模式之選擇。佇列執行部15就以頁面單位將佇列存儲部11內之佇列分類而成之各叢集所含之每個佇列選擇寫入模式。 如後述,於本實施形態中,作為寫入模式,具有第1模式與第2模式。第1模式係基於佇列存儲部11之空間容量、或存儲於佇列存儲部11之佇列,進行於MRAM6寫入資料後讀取寫入之資料並驗證之驗證處理之模式。第2模式係以長於第1模式之寫入脈衝寬度,無驗證處理地寫入資料之模式。 更具體而言,佇列執行部15計測各叢集內之寫入指令之數量Nw、各叢集內之讀取指令之數量Nr、各叢集內之總指令數Nq。且,佇列執行部15於Nq達到可存儲於佇列存儲部11之最大數之情形,或Nw>Nr之情形時,選擇第2模式,除此以外選擇第1模式。 佇列執行部15亦可取代判定Nw>Nr與否,而判定寫入指令後至少一個以上之讀取指令是否繼續。該情形時,於寫入指令後至少一個以上之讀取指令繼續之情形時,選擇第1模式,若寫入指令後讀取指令未繼續,則選擇第2模式。 第2模式較第1模式寫入脈衝寬度長,故認為即使不進行驗證處理,錯誤產生概率亦較低。相反言之,於第2模式中,以錯誤產生概率下降至實用上無問題之程度之方式,增長寫入脈衝寬度。 第1模式較第2模式寫入脈衝寬度短,故可對MRAM6高速寫入,但若保持此狀態會有錯誤產生概率變高之虞。因此,於寫入後進行驗證處理,若藉由驗證處理檢測出寫入錯誤,則進行再次寫入。但,若每次寫入指令都進行驗證處理,則無法迅速處理後續之佇列,導致佇列存儲部11裝滿。尤其於寫入指令後有讀取指令之情形時,若於寫入指令之處理中進行至驗證處理,則會導致讀取指令之處理時序較慢,處理器3之處理性能降低。因此,於本實施形態中,第1模式時,無驗證處理地連續執行相同頁面內之寫入指令,於移動頁面時,集中執行該頁面內之驗證處理。藉此,可迅速處理相同頁面內之讀取指令,可防止存取性能之降低。 驗證控制部16於佇列執行部15選擇第1模式時,進行將各寫入指令之驗證處理推遲之控制。具體而言,生成用以驗證處理之佇列,並送出至佇列追加部12。佇列追加部12將用以驗證處理之佇列追加存儲至佇列存儲部11。 狀態遷移控制部18基於佇列執行部15之佇列之執行結果,生成用以對MRAM6存取之各種控制信號。初始化控制部19進行於電源啟動時等將控制器核心部10之內部初始化之控制。位址生成部20基於佇列所含之位址,生成用以對MRAM6存取之位址。 組管理部21將MRAM6分割成複數個組,對每個組進行存取控制。就每個組包含複數個頁面。組管理部21可個別地選擇應對每個組存取之頁面。 圖2係顯示MRAM6之構造之圖。如圖2所示,MRAM6分成複數個組b1~bn,各組具有複數個記憶體區域6a。各記憶體區域6a分別與個別之頁面對應。就每個記憶體區域6a,所驅動之字元線不同。藉由將來自處理器3之存取資訊所含之位址解碼,而決定驅動之字元線,但由於字元線負荷較大,故驅動耗費時間。因此,對與各頁面對應之各記憶體區域6a存取之情形時,連續進行對於該記憶體區域6a之寫入處理與讀取處理較佳。 又,於對不同頁面之記憶體區域6a存取時,需要解碼新的位址並驅動新的字元線,此種處理係稱作頁面之打開處理。又,結束對某頁面之記憶體區域6a之存取時之處理係稱作關閉處理。例如,自對頁面A之記憶體區域6a之存取,切換成對相同組內之頁面B之記憶體區域6a之存取之情形時,需要於進行頁面A之關閉處理後,進行頁面B之打開處理。通常,各組內設為打開狀態之頁面數為1頁面,因此為對相同組內之其他頁面存取,需要將打開之頁面作關閉處理。其理由為,安裝於各組之感測放大器電路與存儲讀取之資料之列緩衝器電路之數量有限制,可保持打開狀態之頁面數有限制。 如此,每次切換頁面時,需要打開處理與關閉處理,因此較理想為頁面之切換儘可能少。因此,於本實施形態中,生成將佇列存儲部11內之佇列分配於每個頁面之複數個叢集,就每個叢集進行對MRAM6之存取。 圖3係顯示佇列存儲部11之構造之圖。佇列存儲部11未分成頁面單位,依序存儲來自主機電路4之存取資訊。存取資訊包含指令、位址及資料,因此於佇列存儲部11設置有存儲該等3種資訊之區域。如上述,佇列存儲部11例如藉由暫存器構成,但亦可以如SRAM之高速記憶體構成。 將佇列存儲部11內之佇列分配於叢集之處理係藉由頁面叢集控制部14進行。圖4係顯示藉由頁面叢集控制部14生成之叢集之一例之圖。圖4之叢集A與B分別與頁面A與頁面B對應。於叢集A存儲有對於頁面A之佇列之資訊。更具體而言,於叢集A與B分別存儲有對於頁面A與B之寫入指令或讀取指令。於叢集A與B,以主機電路4內之處理器3發行之順序記憶有存取資訊。 佇列執行部15係自叢集A開頭之存取資訊之指令依序執行。於執行開頭之指令前,進行與叢集A對應之頁面A之打開處理。 叢集A內之指令包含寫入指令與讀取指令。讀取指令之情形時,以預先規定之順序進行與自MRAM6指定之位址對應之資料之讀取。寫入指令之情形時,如後述,基於佇列存儲部11之空間容量、或佇列存儲部11內之佇列,選擇第1模式或第2模式,進行對MRAM6之資料之寫入。例如,選擇第1模式之情形時,無驗證處理地依序執行叢集A內之所有寫入指令。然後,於叢集A內之所有指令之執行結束,開始下一叢集之處理前,集中進行驗證處理。開始下一叢集之處理前進行驗證處理之理由為,於下一叢集之處理為相同組之其他頁面時,會導致進行頁面A之關閉處理。若欲於執行頁面A之關閉處理後進行驗證處理,則需要再次進行頁面A之打開處理,會導致記憶體存取之效率降低,因此於開始下一叢集之處理前,集中進行驗證處理之效率較佳。 另,如圖4之叢集A,讀取指令與寫入指令混合存在之情形時,佇列執行部15將其順序維持原狀,執行各指令。即,不更換讀取指令與寫入指令之執行順序。若更換指令之順序而執行,則有無法取得資料之整合性之虞,但於本實施形態中,不更換讀取指令與寫入指令之順序,因此不會產生無法取得資料之整合性之不佳狀況。如此,佇列執行部15僅對於僅將第1模式時之寫入指令執行時之驗證處理推遲,進行故障處理。 此處,於處理各叢集時,作為頁面之打開/關閉策略,有打開頁面策略與關閉頁面策略。打開頁面策略係於對相同組內之其他頁面存取之前,持續打開暫時打開之頁面之策略。於該策略中,接著對其他頁面存取之情形時,需要進行至今為止打開之頁面之關閉處理。另一方面,接著對相同頁面存取之情形時,由於將頁面保持為打開狀態,故可省略頁面之打開處理。關閉頁面策略係於對頁面之存取結束時,每次必須關閉頁面之策略。接著到達該組之存取為其他頁面之情形時,可提前進行關閉處理,因此可順利進行打開處理,另一方面,即使接著到達該組之存取為相同頁面,亦必須進行關閉處理與打開處理。 佇列執行部15於結束圖4之叢集A內之所有指令執行時,接著開始叢集B之指令執行。MRAM6採用關閉頁面策略之情形時,或叢集B之頁面B為與叢集A之頁面A相同組之其他頁面之情形時,叢集A之頁面A進行關閉處理。叢集B之頁面B非為已打開之頁面之情形時,於執行圖4之叢集B時,進行與叢集B對應之頁面B之打開處理。佇列執行部15係自叢集B開頭之存取資訊之指令依序執行。於應執行之指令為寫入指令之情形時,選擇第1模式或第2模式。例如,佇列之空間容量為零之情形時,選擇第2模式。佇列執行部15於選擇第2模式之情形時,執行叢集B內之各寫入指令時,增長寫入脈衝寬度。 圖5及圖6係顯示控制器核心部10之處理動作之一例之流程圖。圖5係採用打開頁面策略時之流程圖,圖6係採用關閉頁面策略時之流程圖。圖5及圖6之流程圖顯示圖1中主要由頁面叢集控制部14、佇列執行部15、驗證控制部16及狀態遷移控制部18進行之處理。進行圖5及圖6之處理之頁面叢集控制部14、佇列執行部15、驗證控制部16及狀態遷移控制部18構成記憶體控制部。該記憶體控制部基於佇列存儲部11之空間容量、或存儲於佇列存儲部11之存取資訊,控制MRAM6之寫入脈衝寬度。換言之,記憶體控制部基於佇列存儲部11之空間容量、或存儲於佇列存儲部11之寫入指令與讀取指令,控制MRAM6之寫入脈衝寬度。 首先,說明圖5之流程圖之處理。佇列執行部15選擇與佇列存儲部11內之未處理之頁面對應之叢集(步驟S1)。如上述,叢集之生成係係由頁面叢集控制部14進行。其次,判定相應頁面是否已打開(步驟S2)。若相應頁面尚未打開,則將當前打開之頁面關閉(步驟S3)。 其次,佇列執行部15將與選擇之叢集對應之頁面打開(步驟S4)。此處,經由MRAM控制部7,驅動與相應頁面對應之記憶體區域6a之字元線。 其次,佇列執行部15經由佇列彈出部13自開頭依序獲取叢集內之各佇列(步驟S5)。其次,佇列執行部15判定獲取之佇列之指令是否為讀取指令(步驟S6)。若為讀取指令,則經由MRAM控制部7,進行對MRAM6之相應位址存取,並讀取相應資料之控制(步驟S7)。 步驟S6之判定為否(NO)之情形時,判斷為寫入指令,且判定於佇列存儲部11是否有空間容量(步驟S8)。或,亦可於步驟S8中,判定存儲於佇列存儲部11之佇列之寫入指令數是否多於讀取指令數。或,亦可於步驟S8中,判定於步驟S3獲取之佇列之寫入指令後讀取指令是否繼續。步驟S8之判定為是(YES)之情形時,選擇第2模式(步驟S9)。然後,以狀態遷移控制部18生成較通常之寫入脈衝寬度長之寫入脈衝,經由MRAM控制部7對MRAM6存取,於步驟S5中獲取之佇列所指定之位址寫入資料(步驟S10)。該情形時,認為由於寫入脈衝寬度較長,故而資料寫入之可靠性較高,因此省略驗證處理。 另,於步驟S10生成之寫入脈衝之脈衝寬度係視為即使無驗證處理,資料寫入之可靠性亦充分高之程度之脈衝寬度,事先調查此種脈衝寬度。 步驟S8之判定為否之情形時,選擇第1模式(步驟S11)。然後,以狀態遷移控制部18生成通常之寫入脈衝,經由MRAM控制部7對MRAM6存取,於步驟S5中獲取之佇列所指定之位址寫入資料(步驟S12)。 步驟S10或S12之處理結束之情形時,判定叢集內是否仍有佇列剩餘(步驟S13)。仍有佇列剩餘之情形(步驟S13之判定為是之情形)時,重複步驟S5之後之處理。步驟S13之判定為否之情形時,判定是否仍存在與未處理之頁面對應之叢集(步驟S14)。存在未處理之叢集之情形(步驟S14為是之情形)時,重複步驟S1之後之處理。不存在未處理之叢集之情形(步驟S14為否之情形)時,結束圖5之處理。 其次,說明圖6之流程圖之處理。首先,選擇未處理之叢集(步驟S21)。其次,打開與選擇之叢集對應之頁面(步驟S22)。關閉頁面策略之情形時,即使對相同組內之相同頁面之存取繼續之情形時,亦於每次各存取結束時進行頁面之關閉處理。因此,開始新的存取時必須進行頁面之打開處理。 其後,步驟S23~S31與圖5之步驟S5~S13相同,因此省略說明。若步驟S31中判定於叢集內未剩餘佇列,則關閉至今為止打開之頁面(步驟S32)。如此,圖6中每次各叢集之處理結束時關閉頁面之點與圖5不同。其後,判定是否存在未處理之叢集(步驟S33),若仍存在則重複步驟S22之後之處理,若不存在則結束圖6之處理。 如此,於本實施形態中,於對MRAM6等非揮發記憶體存取時,基於佇列存儲部11之空間容量、或存儲於佇列存儲部11之佇列,控制非揮發記憶體之寫入脈衝寬度。更具體而言,無佇列存儲部11之空間容量之情形、或存儲於佇列存儲部11之寫入指令數大於讀取指令數之情形時,使對非揮發記憶體之寫入脈衝之脈衝寬度較通常長。藉此,即使不進行驗證處理,亦不會有錯誤產生概率增大之虞。又,藉由無需驗證處理,可避免產生無法存儲至佇列存儲部11之佇列之虞。 又,於本實施形態中,於寫入指令後讀取指令未繼續之情形時,無需增長寫入脈衝之脈衝寬度並進行驗證處理,於寫入指令後讀取指令繼續之情形時,無驗證處理地依序進行相同頁面內之資料寫入後,於關閉該頁面時集中進行驗證處理。藉此,可加快讀取指令之執行時序,可提高處理器3之對於非揮發記憶體之存取性能。 另,可將上述實施形態總結為以下之技術案。 技術案1 一種記憶體系統,其具備: 非揮發記憶體; 記憶部,其可較上述非揮發記憶體更高速存取,將對於上述非揮發記憶體之存取資訊於存取至上述非揮發記憶體前進行記憶;及 記憶體控制部,其基於上述記憶部之空間容量、或記憶於上述記憶部之上述存取資訊,控制上述非揮發記憶體之寫入脈衝寬度。 技術案2 根據技術案1,記憶於上述記憶部之上述存取資訊包含對藉由處理器發行之上述非揮發記憶體存取之指令、應存取之位址、及資料。 技術案3 根據技術案1或2,上述記憶體控制部基於上述記憶部之空間容量、或記憶於上述記憶部之寫入指令及讀取指令,控制上述非揮發記憶體之寫入脈衝寬度。 技術案4 根據技術案3,上述記憶體控制部基於上述記憶部之空間容量、或記憶於上述記憶部之寫入指令及讀取指令而選擇第1模式與第2模式之任一者,第1模式進行以第1寫入脈衝寬度於上述非揮發記憶體寫入資料後讀取寫入之資料並驗證之驗證處理,第2模式以長於上述第1模式之上述第1寫入脈衝寬度之第2寫入脈衝寬度無上述驗證處理地寫入資料。 技術案5 根據技術案4,上述記憶體控制部於上述記憶部無空間容量,或記憶於上述記憶部之寫入指令後有應執行之讀取指令之情形時,選擇上述第2模式。 技術案6 根據技術案1至5中任一者,上述非揮發記憶體包含複數個記憶體區域;且 上述記憶部與上述複數個記憶體區域中之應存取之記憶體區域建立對應而記憶上述存取資訊。 技術案7 根據技術案6,上述記憶體控制部於處理對於記憶於上述記憶部之一個記憶體區域之存取資訊後,依序處理對於其他記憶體區域之存取資訊。 技術案8 根據技術案6或7,上述記憶體控制部於應存取之每個記憶體區域,選擇上述第1模式或第2模式。 技術案9 根據技術案8,上述記憶體控制部於選擇上述第1模式之情形時,依序進行對寫入對象之一個記憶體區域之資料之寫入,於對於上述一個記憶體區域之存取結束,開始對其他記憶體區域之存取前,進行寫入至上述一個記憶體區域之資料之驗證處理。 技術案10 根據技術案8或9,上述記憶體控制部於對於記憶於上述記憶部之一個記憶體區域之存取資訊中包含寫入指令與讀取指令之情形時,按照記憶於上述記憶部之順序,執行對於上述相同記憶體區域之寫入處理與讀取處理。 技術案11 根據技術案1至10中任一者,上述記憶部具備揮發記憶體。 技術案12 根據技術案1至11中任一者,上述非揮發記憶體具備MRAM(Magnetoresistive Random Access Memory)。 技術案13 一種處理器系統,其具備: 處理器; 非揮發記憶體,其係藉由上述處理器存取; 記憶部,其可較上述非揮發記憶體更高速存取,將對於上述非揮發記憶體之存取資訊於存取至上述非揮發記憶體前進行記憶;及 記憶體控制部,其基於上述記憶部之空間容量、或記憶於上述記憶部之上述存取資訊,控制上述非揮發記憶體之寫入脈衝寬度。 雖已說明本發明之若干實施形態,但該等實施形態係作為例子提示者,並未意欲限定發明之範圍。該等新穎之實施形態係可以其他多種形態實施,於不脫離發明之主旨之範圍內,可進行多種省略、置換、變更。該等實施形態或其變化係包含於發明之範圍或主旨,且包含於申請專利範圍所記載之發明及其均等之範圍內。 本申請案以日本專利申請案2016-183330(申請日:9月20日/2016年)為基礎,自該申請案享受優先之利益。藉由參照該申請案而包含該申請案之全部內容。
1‧‧‧記憶體系統
2‧‧‧處理器系統
3‧‧‧處理器
4‧‧‧主機電路
5‧‧‧記憶體控制器
6‧‧‧MRAM
6a‧‧‧記憶體區域
7‧‧‧MRAM控制部
8‧‧‧時脈同步化部
9‧‧‧主機介面部
10‧‧‧控制器核心部
11‧‧‧佇列存儲部
12‧‧‧佇列追加部
13‧‧‧佇列彈出部
14‧‧‧頁面叢集控制部
15‧‧‧佇列執行部
16‧‧‧驗證控制部
17‧‧‧佇列輸出部
18‧‧‧狀態遷移控制部
19‧‧‧初始化控制部
20‧‧‧位址生成部
21‧‧‧組管理部
b1~bn‧‧‧組
CLK‧‧‧時脈信號
S1~S14‧‧‧步驟
S21~S33‧‧‧步驟
圖1係顯示一實施形態之具備記憶體系統之處理器系統之概略構成之方塊圖。 圖2係顯示MRAM之構造之圖。 圖3係顯示佇列存儲部之構造之圖。 圖4係顯示藉由頁面叢集控制部生成之叢集之一例之圖。 圖5係顯示控制器核心部之處理動作之一例之流程圖。 圖6係顯示控制器核心部之處理動作之一例之流程圖。
Claims (10)
- 一種記憶體系統,其具備: 非揮發記憶體; 記憶部,其可較上述非揮發記憶體更高速存取,將對於上述非揮發記憶體之存取資訊於存取至上述非揮發記憶體前進行記憶;及 記憶體控制部,其基於上述記憶部之空間容量、或記憶於上述記憶部之上述存取資訊,控制上述非揮發記憶體之寫入脈衝寬度。
- 如請求項1之記憶體系統,其中記憶於上述記憶部之上述存取資訊包含對藉由處理器發行之上述非揮發記憶體存取之指令、應存取之位址、及資料。
- 如請求項1或2之記憶體系統,其中上述記憶體控制部基於上述記憶部之空間容量、或記憶於上述記憶部之寫入指令及讀取指令,控制上述非揮發記憶體之寫入脈衝寬度。
- 如請求項3之記憶體系統,其中上述記憶體控制部基於上述記憶部之空間容量、或記憶於上述記憶部之寫入指令及讀取指令而選擇第1模式與第2模式之任一者,第1模式進行以第1寫入脈衝寬度於上述非揮發記憶體寫入資料後讀取寫入之資料並驗證之驗證處理,第2模式以長於上述第1模式之上述第1寫入脈衝寬度之第2寫入脈衝寬度無上述驗證處理地寫入資料。
- 如請求項4之記憶體系統,其中上述記憶體控制部於上述記憶部無空間容量,或記憶於上述記憶部之寫入指令後有應執行之讀取指令之情形時,選擇上述第2模式。
- 如請求項1至5中任一項之記憶體系統,其中上述非揮發記憶體包含複數個記憶體區域;且 上述記憶部與上述複數個記憶體區域中之應存取之記憶體區域建立對應而記憶上述存取資訊。
- 如請求項6之記憶體系統,其中上述記憶體控制部於處理對於記憶於上述記憶部之一個記憶體區域之存取資訊後,依序處理對於其他記憶體區域之存取資訊。
- 如請求項6或7之記憶體系統,其中上述記憶體控制部於應存取之每個記憶體區域,選擇上述第1模式或第2模式。
- 如請求項8之記憶體系統,其中上述記憶體控制部於選擇上述第1模式之情形時,依序進行對寫入對象之一個記憶體區域之資料之寫入,於對於上述一個記憶體區域之存取結束,開始對其他記憶體區域之存取前,進行寫入至上述一個記憶體區域之資料之驗證處理。
- 如請求項8或9之記憶體系統,其中上述記憶體控制部於對於記憶於上述記憶部之一個記憶體區域之存取資訊中包含寫入指令與讀取指令之情形時,按照記憶於上述記憶部之順序,執行對於上述相同記憶體區域之寫入處理與讀取處理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP??2016-183330 | 2016-09-20 | ||
JP2016183330A JP2018049672A (ja) | 2016-09-20 | 2016-09-20 | メモリシステムおよびプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201814494A true TW201814494A (zh) | 2018-04-16 |
TWI663543B TWI663543B (zh) | 2019-06-21 |
Family
ID=61621016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106108076A TWI663543B (zh) | 2016-09-20 | 2017-03-10 | Memory system |
Country Status (4)
Country | Link |
---|---|
US (1) | US10592163B2 (zh) |
JP (1) | JP2018049672A (zh) |
CN (1) | CN107844263B (zh) |
TW (1) | TWI663543B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109903800A (zh) * | 2019-03-15 | 2019-06-18 | 中国科学院上海微系统与信息技术研究所 | 相变储存器控制装置、相变储存器控制方法、电子装置及存储介质 |
JP2023077829A (ja) * | 2021-11-25 | 2023-06-06 | ソニーセミコンダクタソリューションズ株式会社 | 電子機器 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3591887B2 (ja) * | 1994-09-12 | 2004-11-24 | 富士通株式会社 | 半導体記憶装置 |
JP4192060B2 (ja) | 2003-09-12 | 2008-12-03 | シャープ株式会社 | 不揮発性半導体記憶装置 |
US20080126690A1 (en) | 2006-02-09 | 2008-05-29 | Rajan Suresh N | Memory module with memory stack |
JP5400262B2 (ja) | 2005-12-28 | 2014-01-29 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
KR100976696B1 (ko) * | 2008-07-10 | 2010-08-18 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 프로그램 방법 |
US8130535B2 (en) * | 2009-09-01 | 2012-03-06 | Qualcomm Incorporated | Flexible word-line pulsing for STT-MRAM |
US8347175B2 (en) * | 2009-09-28 | 2013-01-01 | Kabushiki Kaisha Toshiba | Magnetic memory |
JP4956640B2 (ja) | 2009-09-28 | 2012-06-20 | 株式会社東芝 | 磁気メモリ |
WO2011067795A1 (en) * | 2009-12-02 | 2011-06-09 | Ferdinando Bedeschi | Refresh architecture and algorithm for non-volatile memories |
JP5560944B2 (ja) | 2010-06-18 | 2014-07-30 | ソニー株式会社 | 記憶素子の駆動方法 |
JP5010723B2 (ja) * | 2010-09-22 | 2012-08-29 | 株式会社東芝 | 半導体記憶制御装置 |
US9679664B2 (en) * | 2012-02-11 | 2017-06-13 | Samsung Electronics Co., Ltd. | Method and system for providing a smart memory architecture |
JP2014026681A (ja) * | 2012-07-24 | 2014-02-06 | Ps4 Luxco S A R L | 半導体装置及びこれを備えた情報処理システム |
US9135975B2 (en) * | 2013-10-28 | 2015-09-15 | Qualcomm Incorporated | Write pulse width scheme in a resistive memory |
JP6107625B2 (ja) * | 2013-12-02 | 2017-04-05 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法 |
US9406368B2 (en) * | 2014-01-21 | 2016-08-02 | International Business Machines Corporation | Dynamic temperature adjustments in spin transfer torque magnetoresistive random-access memory (STT-MRAM) |
US9418721B2 (en) * | 2014-01-21 | 2016-08-16 | International Business Machines Corporation | Determining and storing bit error rate relationships in spin transfer torque magnetoresistive random-access memory (STT-MRAM) |
KR102364381B1 (ko) * | 2015-03-06 | 2022-02-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
-
2016
- 2016-09-20 JP JP2016183330A patent/JP2018049672A/ja active Pending
-
2017
- 2017-03-08 CN CN201710132910.9A patent/CN107844263B/zh active Active
- 2017-03-10 US US15/455,387 patent/US10592163B2/en active Active
- 2017-03-10 TW TW106108076A patent/TWI663543B/zh active
Also Published As
Publication number | Publication date |
---|---|
JP2018049672A (ja) | 2018-03-29 |
CN107844263A (zh) | 2018-03-27 |
TWI663543B (zh) | 2019-06-21 |
US20180081593A1 (en) | 2018-03-22 |
US10592163B2 (en) | 2020-03-17 |
CN107844263B (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8645723B2 (en) | Asynchronous management of access requests to control power consumption | |
US8954672B2 (en) | System and method for cache organization in row-based memories | |
US20200356484A1 (en) | Timed Data Transfer between a Host System and a Memory Sub-System | |
US11669272B2 (en) | Predictive data transfer based on availability of media units in memory sub-systems | |
US20130329491A1 (en) | Hybrid Memory Module | |
JP2019505910A (ja) | 不揮発性メモリの複数区画の同時アクセスのための装置及び方法 | |
JP2011118469A (ja) | メモリ管理装置およびメモリ管理方法 | |
CN103354939A (zh) | 用于使dram和mram访问交错的存储器控制器和方法 | |
US10997082B2 (en) | Memory system, computing system, and methods thereof for cache invalidation with dummy address space | |
CN109219850B (zh) | 存储器中的延迟回写 | |
JP2014154119A (ja) | メモリ制御装置及び半導体記憶装置 | |
KR20200003055A (ko) | Nand 버퍼를 갖는 nand 플래시 저장 디바이스 | |
TWI663543B (zh) | Memory system | |
US10496546B2 (en) | Cache memory and processor system | |
JP2008210088A (ja) | メモリコントローラ、半導体メモリのアクセス制御方法およびシステム | |
US10372337B2 (en) | Write request processing method and memory controller | |
JP5464527B2 (ja) | 不揮発性メモリの読み出し動作変更 | |
US7778103B2 (en) | Semiconductor memory device for independently selecting mode of memory bank and method of controlling thereof | |
KR101645003B1 (ko) | 메모리 제어기 및 그 메모리 제어기가 탑재된 컴퓨팅 장치 | |
US8374040B2 (en) | Write bandwidth in a memory characterized by a variable write time | |
US8521951B2 (en) | Content addressable memory augmented memory | |
CN105320470B (zh) | 存储设备中的访问抑制 | |
US20170329547A1 (en) | Bank interleaving controller and semiconductor device including the same | |
CN112579481B (zh) | 数据处理方法、数据处理装置和计算装置 | |
US20230393747A1 (en) | Controller for a memory device and a storage device |