TW201923574A - 記憶體系統中的動態鏈路差錯保護 - Google Patents

記憶體系統中的動態鏈路差錯保護 Download PDF

Info

Publication number
TW201923574A
TW201923574A TW107122909A TW107122909A TW201923574A TW 201923574 A TW201923574 A TW 201923574A TW 107122909 A TW107122909 A TW 107122909A TW 107122909 A TW107122909 A TW 107122909A TW 201923574 A TW201923574 A TW 201923574A
Authority
TW
Taiwan
Prior art keywords
link
write
read
host
memory
Prior art date
Application number
TW107122909A
Other languages
English (en)
Other versions
TWI787299B (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 TW201923574A publication Critical patent/TW201923574A/zh
Application granted granted Critical
Publication of TWI787299B publication Critical patent/TWI787299B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

當資料經由兩個實體之間(諸如在主機和記憶體之間)的鏈路傳遞時,可能引入差錯。可實現鏈路差錯保護方案以偵測和糾正鏈路上發生的差錯,從而增強傳輸可靠性。然而,由於這些保護方案會增加等待時間和功耗兩者,這些益處並非沒有代價。在一或多個態樣,提議動態地調整所應用的鏈路差錯保護級別以匹配操作環境中的任何變化。例如,鏈路差錯的可能性與鏈路速度強相關。若增加鏈路速度,則可以應用更高的鏈路差錯保護級別來抵消鏈路差錯的增加。若降低鏈路速度,則可以降低保護級別,從而可使等待時間和功耗懲罰最小化。

Description

記憶體系統中的動態鏈路差錯保護
所揭示的標的的領域係關於記憶體系統。具體而言,所揭示的標的的領域係關於記憶體系統中的動態鏈路差錯保護。
在主機與記憶體之間的資料傳遞中可存在差錯。隨著記憶體鏈路操作變得更快以滿足更高的頻寬要求,記憶體設備與主機(例如,片上系統(SoC)、CPU)之間的鏈路中的資料傳輸差錯的概率變得更大。一個原因是高速鏈路更容易受到時鐘信號干擾、PDN(功率遞送網路)雜訊等的影響。
為了增強可靠性,可以將差錯保護方案應用於記憶體鏈路。例如,一般記憶體子系統可以包括主機側的糾錯碼(ECC)編碼器和解碼器以及記憶體設備側的互補ECC編碼器和解碼器。當主機希望將資料寫入記憶體設備時,主機發送寫命令並經由鏈路向記憶體設備提供寫資料。為了保護寫資料,主機側的ECC編碼器在經由鏈路發送寫資料之前對寫資料進行編碼。記憶體設備側的ECC解碼器對經編碼的寫資料進行解碼,並且將經解碼的寫資料儲存在記憶體設備的記憶體單元中。
當主機希望從記憶體設備讀取資料時,主機經由鏈路向記憶體設備發送讀命令。記憶體設備從記憶體單元檢索讀資料,並經由鏈路將檢索到的讀資料發送到主機。為了保護讀資料,記憶體設備的ECC編碼器在將讀資料發送給主機之前對讀資料進行編碼。主機側的ECC解碼器對經編碼的讀資料進行解碼,並且將經解碼的讀資料提供給請求方(諸如,CPU)。
遺憾的是,提供此類保護方案通常會由於編碼和解碼管理負擔而增加效能等待時間。此外,在行動系統中可能特別重要的是需要額外功率。
本概述標識了一些實例態樣的特徵,並且不是對所揭示的標的的排他性或窮盡性描述。各特徵或各態樣是被包括在本概述中還是從本概述中省略不意欲指示這些特徵的相對重要性。描述了額外特徵和態樣,並且這些額外特徵和態樣將在閱讀以下詳細描述並查看形成該詳細描述的一部分的附圖之際變得對本發明所屬領域中具有通常知識者顯而易見。
揭示一種示例性裝置。該裝置可包括記憶體設備,其被配置為經由鏈路與主機進行通訊。該記憶體設備可包括複數個記憶體單元和記憶體鏈路介面。該記憶體鏈路介面可以被配置為經由鏈路從主機接收讀命令或寫命令。回應於讀命令,記憶體鏈路介面可以被配置為從複數個記憶體單元檢索讀資料,並根據所應用的鏈路保護模式經由鏈路向主機提供讀資料。回應於寫命令,記憶體鏈路介面可以被配置為經由鏈路從主機接收寫資料,並根據所應用的鏈路保護模式將寫資料儲存到複數個記憶體單元。該記憶體設備可以被配置為實現包括第一鏈路保護模式和第二鏈路保護模式的複數個鏈路保護模式。可應用鏈路保護模式而以不同的保護級別保護經由鏈路傳送的讀資料或寫資料免於差錯。該記憶體設備可以被配置為回應於從主機收到的鏈路保護模式改變通知而從應用第一鏈路保護模式改變為應用第二鏈路保護模式。
揭示另一示例性裝置。該裝置可包括主機,其被配置為經由鏈路與記憶體設備進行通訊。該主機可以包括主機鏈路介面,其被配置為與鏈路對接;及記憶體控制器,其被配置為經由主機鏈路介面與記憶體設備進行通訊。該記憶體控制器可以被配置為經由鏈路向記憶體設備發出讀命令或寫命令。在發出讀命令之際,記憶體控制器可以被配置為根據所應用的鏈路保護模式經由鏈路從記憶體設備接收讀資料。在發出寫命令之際,記憶體控制器可以被配置為根據所應用的鏈路保護模式經由鏈路向記憶體設備提供寫資料。該主機可以被配置為實現包括第一鏈路保護模式和第二鏈路保護模式的複數個鏈路保護模式。可應用鏈路保護模式而以不同的保護級別保護經由鏈路傳送的讀資料或寫資料免於差錯。該主機可以被配置為回應於鏈路速度改變而從應用第一鏈路保護模式改變為應用第二鏈路保護模式。
揭示一種裝置的示例性方法。該裝置可包括被配置為經由鏈路彼此通訊的主機和記憶體設備。該方法可以包括回應於鏈路速度改變而將裝置從應用第一鏈路保護模式改變為應用第二鏈路保護模式。該方法可以包括由主機經由鏈路向記憶體設備發出讀命令,並且回應於該讀命令,根據所應用的鏈路保護模式由記憶體設備經由鏈路向主機提供讀資料。該方法可以包括由主機經由鏈路向記憶體設備發出寫命令,並且在發出該寫命令之際,根據所應用的鏈路保護模式由主機經由鏈路向記憶體設備提供寫資料。該裝置可以被配置為實現包括第一和第二鏈路保護模式的複數個鏈路保護模式。可應用鏈路保護模式而以不同的保護級別保護經由鏈路傳送的讀資料或寫資料免於差錯。
揭示又一示例性裝置。該裝置可包括被配置為經由鏈路彼此通訊的主機和記憶體設備。該記憶體設備可包括複數個記憶體單元。該記憶體設備可以包括用於經由鏈路從主機接收讀命令的裝置,用於回應於讀命令從複數個記憶體單元檢索讀資料的裝置,以及用於回應於讀命令,根據所應用的鏈路保護模式經由鏈路向主機提供讀資料的裝置。替換地或補充地,該記憶體設備可以包括用於經由鏈路從主機接收寫命令的裝置,用於回應於寫命令經由鏈路從主機接收寫資料的裝置,以及用於回應於寫命令,根據所應用的鏈路保護模式將寫資料儲存到複數個記憶體單元的裝置。該主機可以包括用於經由鏈路向記憶體設備發出讀命令的裝置,以及用於在發出讀命令之際經由鏈路從記憶體設備接收讀資料的裝置。替換地或補充地,該主機可以包括用於經由鏈路向記憶體設備發出寫命令的裝置,以及用於在發出寫命令之際,根據所應用的鏈路保護模式經由鏈路向記憶體設備提供寫資料的裝置。該裝置可以被配置為實現包括第一鏈路保護模式和第二鏈路保護模式的複數個鏈路保護模式。可應用鏈路保護模式而以不同的保護級別保護經由鏈路傳送的讀資料或寫資料免於差錯。該裝置可以被配置為回應於鏈路速度改變而從應用第一鏈路保護模式改變為應用第二鏈路保護模式。
標的的各態樣在以下針對所揭示的標的的特定實例的描述和相關附圖中提供。可以設計出替換方案而不會脫離所揭示的標的的範疇。另外,眾所周知的元素將不被詳細描述或將被省去以免混淆相關細節。
措辭「示例性」在本文中用於表示「用作實例、例子、或圖示」。本文中描述為「示例性」的任何實施例不必被解釋為優於或勝過其他實施例。同樣,術語「實施例」並不要求所揭示標的的所有實施例都包括所論述的特徵、優點、或操作模式。
本文所使用的術語僅出於描述特定實例的目的,而並不意欲限定。如本文所使用的,單數形式的「一」、「某」和「該」意欲亦包括複數形式,除非上下文另有明確指示。亦將理解,術語「包括」、「具有」、「包含」及/或「含有」在本文中使用時指明所陳述的特徵、整數、程序、操作、元素、及/或組件的存在,但並不排除一或多個其他特徵、整數、程序、操作、元素、組件及/或其群組的存在或添加。
此外,許多實例以將由例如計算設備的組件執行的動作序列的形式來描述。將認識到,本文中所描述的各種動作能由專用電路(例如,特殊應用積體電路(ASIC))、由正被一或多個處理器執行的程式指令、或由這兩者的組合來執行。另外,本文描述的這些動作序列可被認為是完全體現在任何形式的電腦可讀取儲存媒體內,該電腦可讀取儲存媒體內儲存有一經執行就將使相關聯的處理器執行本文所描述的功能性的對應電腦指令集。由此,各個態樣可以用數種不同的形式來體現,所有這些形式都已被構想落在所要求保護的標的的範疇內。另外,對於本文描述的每個實例,任何此類實例的對應形式可在本文中被描述為例如「被配置成執行所描述的動作的邏輯」。
本案的一或多個態樣可應用於行動或計算系統中的低功率記憶體子系統,以用檢錯及/或糾錯碼來保護高速記憶體鏈路(介面)。例如,一或多個態樣可與行動或計算晶片組中的下一代低功率DDR SPEC和DDR PHY相關。
在一或多個態樣,提議在主機和記憶體設備兩者中結合編碼和解碼能力(例如,ECC、漢明單糾錯雙檢錯(SECDED)、同位等)。與一般記憶體子系統不同,提議包括範圍從無鏈路差錯保護到全鏈路差錯保護以及其間的任意點(亦即,部分鏈路差錯保護)的動態鏈路差錯保護切換方案。經由將動態鏈路差錯保護方案納入記憶體設備中以及主機中,可解決與一般技術相關聯的一些或全部問題。例如,可以動態地調整所提供的鏈路差錯保護的級別,以便可以在提供鏈路差錯保護的利益和成本之間進行最佳權衡。
圖1圖示了提供動態鏈路差錯保護的所提出的記憶體子系統100的實例。該記憶體子系統100可以包括經由鏈路190進行通訊的片上系統(SoC)110和記憶體設備150。這是簡化的圖示,其中圖示單個記憶體設備150。然而,單個SoC 110可以與多個記憶體設備150進行通訊。在一些實例中,SoC 110可以是用於行動設備的處理器或應用處理器。該SoC 110可以被稱為主機110,用於向記憶體設備150提供記憶體命令。
在一些實例中,鏈路190可以在主機110和記憶體設備150之間提供晶片到晶片鏈路。例如,鏈路190可以包括複數個信號線,包括用於從主機 110向記憶體設備150傳送單向信號(例如,時鐘(CK)、晶片選擇(CS)、命令和位址(CA)等等)和雙向定向信號(資料(DQ)、資料選通(DQS)等等)的線。主機110和記憶體設備150之間的訊號傳遞可以根據JEDEC DRAM規範。
主機110可以包括記憶體控制器120、主機鏈路介面130(例如,記憶體PHY塊)、主機編碼器122和主機解碼器124。儘管未圖示,但是主機110亦可以包括其他組件,諸如數位訊號處理器(DSP)、圖形處理單元(GPU)、多媒體引擎和向記憶體控制器120發送讀和寫請求的多核中央處理單元(CPU)。
記憶體控制器120可以經由主機鏈路介面130向記憶體設備150發出讀和寫命令,例如,以滿足從DSP、GPU等收到的請求。當記憶體控制器120發出讀命令時,它可以從主機鏈路介面130接收讀資料,並且進而將讀資料發送給請求方。當記憶體控制器120發出寫命令時,它可以從請求方接收寫資料,並且進而將寫資料提供給主機鏈路介面130。
在讀操作期間,主機鏈路介面130可以代表記憶體控制器120經由鏈路190將讀命令發送到記憶體設備150。隨後,主機鏈路介面130可經由鏈路190從記憶體設備150接收讀資料,並將收到的讀資料提供給記憶體控制器120。讀資料可以是經編碼的或未經編碼的。若讀資料是經編碼的,則主機解碼器124可以解碼讀資料,並且記憶體控制器120可以將經解碼的讀資料發送到請求方。主機解碼器124亦可以偵測甚至糾正可能存在於讀資料中的差錯。例如,主機解碼器124可以糾正可能在讀資料的傳輸中引入的一或多個位元差錯。記憶體控制器120可以被配置為將經糾正的讀資料發送回請求方。
在寫操作期間,主機鏈路介面130可以代表記憶體控制器120經由鏈路190將寫命令和寫資料發送到記憶體設備150。當被啟用時,主機編碼器122(例如,ECC、漢明SECDEC、同位等)可以對寫資料進行編碼,使得經編碼的寫資料經由鏈路190被發送。對寫資料進行編碼允許記憶體設備150偵測甚至糾正寫資料中可能存在的差錯。例如,可以糾正在寫資料經由鏈路190的傳輸中引入的一或多個位元差錯。
在圖1中,主機編碼器122和主機解碼器124被圖示為納入記憶體控制器120中。這僅僅是實例,並且不應被視為限定。可以構想,主機編碼器122及/或主機解碼器124可以是獨立的或被納入主機110內的其他組件(諸如,主機鏈路介面130)中。此外,儘管個體地圖示了主機編碼器122和主機解碼器124,但兩者可被實現在單個設備中。亦可以構想,主機編碼器122及/或主機解碼器124可被實現在多個設備中。實際上,在某個(些)態樣,主機編碼器122及/或主機解碼器124的實現可散佈在主機110內的多個組件之中。
記憶體設備150可包括記憶體鏈路介面160(例如,輸入/輸出(I/O)塊)、一或多個記憶體組170、記憶體編碼器162、以及記憶體解碼器164。該記憶體組170可包括複數個記憶體單元。記憶體鏈路介面160可以經由鏈路190從主機110接收讀和寫命令。當記憶體鏈路介面160接收讀命令時,它可以向主機110提供讀資料。當記憶體鏈路介面160接收寫命令時,它亦可以從主機110接收寫資料。
在讀操作期間,記憶體鏈路介面160可經由鏈路190從主機110接收讀命令。回應於該讀命令,記憶體鏈路介面160可從在記憶體組170中的多個記憶體單元檢索讀資料,並將所檢索的讀資料經由鏈路190提供給主機110。當被啟用時,記憶體編碼器162可以對讀資料進行編碼,使得經編碼的讀資料經由鏈路190被發送。對讀資料進行編碼允許主機110偵測甚至糾正讀資料中可能存在的差錯。
在寫操作期間,記憶體鏈路介面160可經由鏈路190從主機110接收寫命令和寫資料。回應於寫命令,記憶體鏈路介面160可以將寫資料儲存在記憶體組170(例如,複數個記憶體單元)中。 寫資料可以是經編碼的或未經編碼的。若寫資料是經編碼的,則記憶體解碼器164可以解碼寫資料,並且記憶體鏈路介面160可以將經解碼的寫資料儲存在記憶體組170中。記憶體解碼器164亦可以偵測甚至糾正可能在寫資料中存在的差錯,並且記憶體鏈路介面160可以將經糾正的寫資料儲存在記憶體組170中。
在圖1中,記憶體編碼器162和記憶體解碼器164被圖示為納入記憶體鏈路介面160中。這僅僅是實例,並且不應被視為限定。可以構想,記憶體編碼器162及/或記憶體解碼器164可以是獨立的或被納入記憶體設備150內的其他組件中。此外,儘管個體地圖示了記憶體編碼器162和記憶體解碼器164,但兩者可被實現在單個設備中。亦可以構想,記憶體編碼器162及/或記憶體解碼器164可被實現在多個設備中。實際上,在某個(些)態樣,記憶體編碼器162及/或記憶體解碼器164的實現可散佈在多個組件之中。
在一態樣,主機編碼器122和記憶體編碼器162可操作用於:當被提供有相同的未經編碼資料時產生經相同地編碼的寫資料和讀資料(例如,相同的ECC)。在另一態樣,亦有可能寫資料可以與讀資料被不同地編碼。然而,只要記憶體和主機解碼器164、124分別與主機和記憶體編碼器122、162互補地操作,就可以進行正確的資料交換。
如上所指示,提議將動態鏈路差錯保護切換能力納入記憶體子系統100中。在一態樣,所提議的技術使得能夠動態地調整鏈路差錯保護級別,以便可基於操作環境提供適當的保護量。例如,鏈路差錯的概率可以與鏈路190上的操作速度強相關。因此,可基於鏈路速度動態地調整鏈路差錯保護的級別。亦即,當記憶體子系統100的鏈路速度改變時,鏈路差錯保護的級別亦可以適當地改變。鏈路差錯保護的級別可以在無保護和完全保護之間的任何範疇內。
為了便於論述,將假設記憶體子系統100可以實現可被應用於防止鏈路190上的差錯的複數個鏈路保護模式。例如,每個鏈路保護模式可以包括複數個保護參數並定義應用於保護經由鏈路190傳送的讀資料和寫資料免於差錯的保護級別。隨後,當鏈路速度從第一鏈路速度變為第二鏈路速度時,記憶體子系統100可以從應用第一鏈路保護模式變為應用第二鏈路保護模式。換而言之,所應用的鏈路保護改變。
回想起可編碼讀資料和寫資料中的一者或兩者。在記憶體設備150處對讀資料進行編碼允許主機110偵測及/或糾正經由鏈路190傳送的讀資料中的任何差錯。相反,在主機110處對寫資料進行編碼允許記憶體設備150偵測及/或糾正經由鏈路190傳送的寫資料中的任何差錯。因此,在一態樣,每個鏈路保護模式可以指定讀差錯偵測參數、讀差錯糾正參數、寫差錯偵測參數、寫差錯糾正參數中的每一者是否被啟用/禁用。讀差錯偵測參數可以是用於指示是否應偵測讀資料中的(諸)差錯的保護參數,讀差錯糾正參數可以是用於指示是否應糾正讀資料中(諸)差錯的保護參數,寫差錯偵測參數可以是用於指示是否應偵測寫資料中的(諸)差錯的保護參數,寫差錯糾正參數可以是用於指示是否應糾正寫資料中(諸)差錯的保護參數。在該態樣,每個鏈路保護模式可以指定保護參數被啟用/禁用的不同組合。
提供實例場景以實現更詳細的理解。假設在第一實例場景中,記憶體子系統100是具有資料時鐘(WCK)的低功率雙倍資料速率5(LPDDR5)記憶體子系統,其可以在20Mhz到3.2Ghz之間的頻率中操作,這轉換為速度範圍在40 Mbps到6400 Mbps之間的鏈路傳輸。若鏈路190以低速(例如,WCK處於或低於1.6Ghz)操行,則在鏈路190上發生傳輸差錯的機會可以足夠低,使得未經編碼的資料(讀資料、寫資料)可以充分的可靠性被傳送。在可以可靠地傳送未經編碼資料的這種操作環境中,實現鏈路差錯保護最多只能提供傳輸可靠性的微小改進,使得實現鏈路差錯保護的成本可能超過收益。
因此,在第一實例場景下的低鏈路速度環境中,可以完全關閉(即完全禁用)保護。例如,對應於低鏈路速度的鏈路保護模式可以指定所有保護參數(讀差錯偵測參數、讀差錯糾正參數、寫差錯偵測參數和寫差錯糾正參數)被禁用。若低速鏈路保護模式是所應用的鏈路保護模式,則主機編碼器122、主機解碼器124、記憶體編碼器162和記憶體解碼器164皆可以被禁用,並且未經編碼的讀資料和寫資料可以經由鏈路190被傳送。經由禁用主機編碼器122、主機解碼器124、記憶體編碼器162和記憶體解碼器164,可以避免功率和等待時間懲罰。
在另一極端,若鏈路190以高速(例如,WCK高於1.6Ghz)操作,則在鏈路190上發生傳輸差錯的機會可使得未經編碼的資料不可能經由鏈路190以充分的可靠性被傳送。在無法經由鏈路190可靠地傳送未經編碼資料的這種操作環境中,實現鏈路差錯保護可以提高傳輸可靠性,從而證明成本(例如,管理負擔、功率等)是合理的。
因此,在第一實例場景下的高鏈路速度環境中,鏈路差錯保護可被完全啟用。例如,高速鏈路保護模式可以指定所有保護參數(讀差錯偵測參數、讀差錯糾正參數、寫差錯偵測參數和寫差錯糾正參數)被啟用。若該高速鏈路保護模式是所應用的鏈路保護模式,則對於讀操作,可使記憶體編碼器162能夠對經由鏈路190提供的讀資料進行編碼,並且可使主機解碼器124能夠對經編碼的讀資料進行解碼。在一態樣,可以使得主機解碼器124能夠偵測在經編碼的讀資料中是否存在任何差錯(例如,位元差錯)。若沒有差錯被偵測到,則可將經解碼的讀資料提供給請求方。在另一態樣,即使在經編碼的讀資料中存在差錯,亦可使主機解碼器124能夠糾正差錯,使得可將經糾正的讀資料提供給請求方。主機解碼器124可以糾正達特定數目(讀閾值數目)的差錯。
對於寫操作,當所應用的鏈路保護模式是高速鏈路保護模式時,可使主機編碼器122能夠對經由鏈路190提供的寫資料進行編碼,並且可使記憶體解碼器164能夠對經編碼的寫資料進行解碼,使得可將經解碼的寫資料儲存在記憶體組170的複數個記憶體單元中。在一態樣,可以使得記憶體解碼器164能夠偵測在經編碼的寫資料中是否存在任何差錯(例如,位元差錯)。若沒有差錯被偵測到,則可以儲存經解碼的寫資料。在另一態樣,即使在偵測到差錯時,亦可以使記憶體解碼器164能夠糾正差錯,從而可以儲存經糾正的寫資料。記憶體解碼器164可以糾正達特定數目(寫閾值數目)的差錯。讀閾值數目和寫閾值數目可以相同或不同。
在該第一實例場景中,描述了兩種鏈路保護模式(例如,低速和高速鏈路保護模式)。在一態樣,鏈路保護模式可以經由頻率設定點(FSP)暫存器在記憶體設備150中實現。隨後,對於第一實例場景,可以使用兩個FSP暫存器(FSP [0]和FSP [1])。 以下將在描述圖2和3時提供關於FSP暫存器的細節。
儘管在第一實例場景中僅論述了兩種鏈路保護模式,但是可以存在任何數目個鏈路保護模式。為了圖示,假設在第二實例場景中,存在三種鏈路保護模式:分別對應於低速範圍(例如,20Mhz≦WCK頻率≦1.33Ghz)、中速範圍(例如,1.33 Ghz <WCK頻率≦2.66Ghz)和高速範圍(例如,2.66 Ghz <WCK頻率≦3.2Ghz)的低速、中速和高速鏈路保護模式。
亦假設對於該第二實例場景中的低速鏈路保護模式,讀差錯偵測參數、讀差錯糾正參數、寫差錯偵測參數和寫差錯糾正參數全部被禁用。因此,當鏈路190以低速範圍內的速度(例如,1Ghz)操作時,低速鏈路保護模式變為所應用的鏈路保護模式,並且主機編碼器122、主機解碼器124、記憶體編碼器162和記憶體解碼器164都不被啟用。因此,當應用低速鏈路保護模式時,可以經由鏈路190傳遞未經編碼的讀資料和寫資料。
進一步假設對於高速鏈路保護模式,讀差錯偵測參數、讀差錯糾正參數、寫差錯偵測參數和寫差錯糾正參數全部被啟用。因此,當鏈路190以高速範圍內的速度(例如,3Ghz)操作時,高速鏈路保護模式變為所應用的鏈路保護模式,並且主機編碼器122、主機解碼器124、記憶體編碼器162和記憶體解碼器164都被啟用以進行偵測和糾正。因此,當應用高速鏈路保護模式時,可以經由鏈路190傳遞經編碼的讀資料和寫資料。
如上所描述,第二實例場景的低速和高速鏈路保護模式類似於第一實例場景的低速和高速鏈路保護模式。但與第一實例場景不同,第二實例場景亦包括中速鏈路保護模式,其中可以假設讀差錯偵測參數被禁用,讀差錯糾正參數被啟用,寫差錯偵測參數被禁用,以及寫差錯糾正參數被啟用。因此,當鏈路190以中速範圍內的速度(例如,2Ghz)操作時,中速鏈路保護模式變為所應用的鏈路保護模式。在該模式中,記憶體編碼器162對讀資料進行編碼,而主機編碼器122對寫資料進行編碼。補充地,主機解碼器124糾正讀資料中讀閾值數目個的位元差錯,而記憶體解碼器164糾正寫資料中寫閾值數目個的位元差錯。
當應用中速鏈路保護模式時,相對於低速鏈路保護模式,讀和寫等待時間可能增加。功耗亦可能更高。但是,相對於高速鏈路保護模式,由於禁用差錯偵測,因此可以消耗更少的功率。
注意,可將差錯偵測與差錯糾正分開。亦即,讀差錯糾正參數可與讀差錯偵測參數被分開地啟用/禁用。同樣,寫差錯糾正參數可與寫差錯偵測參數被分開地啟用/禁用。簡而言之,可以獨立地啟用和禁用每個保護參數。結果,主機編碼器122、主機解碼器124、記憶體編碼器162和記憶體解碼器164的許多使能級別的組合是可能的,這允許微調複數個鏈路保護模式。
在第一和第二實例場景兩者中,應用低速鏈路保護模式意味著禁用所有鏈路差錯保護特徵,而應用高速鏈路保護模式意味著啟用所有鏈路差錯保護特徵。然而,即使在低鏈路速度下,亦可能存在期望某個最小保護的情況。即使在最高鏈路速度下,亦可能存在不期望完全保護的情況。
例如,假設在第三實例場景中,存在三種鏈路保護模式,並且低速和中速鏈路保護模式與第二實例場景相同。但是高速鏈路保護模式與第二實例場景的不同之處在於寫差錯偵測參數被禁用。此鏈路保護模式可適用於在寫操作中偵測到多個鏈路差錯的情況。在此情景中,主機110(例如,SoC)可以重試對記憶體設備150的相同寫操作以恢復原始寫資料。遺憾的是,這可能需要顯著的實現複雜性並且經由寫重試招致大的效能損失。在此情形中,針對寫僅啟用鏈路糾錯可以是寫重試導致的效能損失與較好的鏈路差錯保護能力之間的權衡。
當然,完全可以將第三實例場景的高速鏈路保護模式納入在第二實例場景的高速和中速鏈路保護模式之間。一般而言,主機110和記憶體設備150可以被配置為實現複數個鏈路保護模式。鏈路保護模式可以彼此不同。每個鏈路保護模式可以對應於鏈路速度。對應於一個鏈路保護模式的鏈路速度可以與對應於其他鏈路保護模式的鏈路速度不同。更寬泛地,每個鏈路保護模式可以對應於鏈路速度的範圍,而對應於一個鏈路保護模式的鏈路速度的範圍可以與對應於其他鏈路保護模式的鏈路速度的範圍不交疊。
每個鏈路保護模式可以包括複數個保護參數,其用於定義應用於保護經由鏈路190傳送的讀資料和寫資料免於差錯的特定保護級別。例如,每個鏈路保護模式可以定義主機編碼器122、主機解碼器124、記憶體編碼器162和記憶體解碼器164的使能級別的特定組合。此外,每個鏈路保護模式可以與其他鏈路保護模式中的每一者不同。例如,為一個鏈路保護模式定義的使能級別的組合可以與為其他鏈路保護模式定義的組合不同。以此方式,當鏈路速度改變時(例如,從第一鏈路速度改變到第二鏈路速度),鏈路保護模式亦可以動態地改變(例如,從第一鏈路保護模式(對應於第一鏈路速度)改變到第二鏈路保護模式(對應第二鏈路速度))。
回想在記憶體設備150中,可以利用頻率設定點(FSP)暫存器來實現鏈路保護模式。記憶體設備150可以包括對應於複數個鏈路保護模式的複數個FSP暫存器。FSP暫存器可以例如是暫存器或其他記憶組件。對於第一實例場景,記憶體設備150可以包括至少兩個FSP暫存器FSP [0](例如,用於低速鏈路保護模式)和FSP [1](例如,用於高速鏈路保護模式)。對於第二和第三實例場景,記憶體設備150可以包括至少三個FSP暫存器FSP [0](例如,用於低速鏈路保護模式),FSP [1](例如,用於中速鏈路保護模式)和FSP [2](例如,用於高速鏈路保護模式)。
在一態樣,就每個鏈路保護模式對應於速度或速度範圍這點來說,一種含義是每個FSP暫存器亦對應於鏈路速度或鏈路速度範圍。每個FSP暫存器可以反映對應鏈路保護模式的讀差錯偵測、讀差錯糾正、寫差錯偵測和寫差錯糾正保護參數的組合。例如,每個FSP暫存器可以包括複數個保護位元,包括讀差錯偵測位元、讀差錯糾正位元、寫差錯偵測位元和寫差錯糾正位元。當被置位/未被置位時,讀差錯偵測位元可以指示讀差錯偵測參數被啟用/禁用。當被置位/未被置位時,讀差錯糾正位元可以指示讀差錯糾正參數被啟用/禁用。當被置位/未被置位時,寫差錯偵測位元可以指示寫差錯偵測參數被啟用/禁用。當被置位/未被置位時,寫差錯糾正位元可以指示寫差錯糾正參數被啟用/禁用。
在一態樣,可以經由一或多個模式暫存器(MR)180-1 ... 180-M來實現複數個FSP暫存器。如圖1所見,記憶體設備150可包括複數個模式暫存器180-1 ... 180-M。模式暫存器180-1 ... 180-M可定義記憶體設備150的行為。可以存在M個模式暫存器180-1 … 180-M,其中M可以是大於零的任何整數。每個模式暫存器180-1 ... 180-M可以是寫類型、讀類型、或讀/寫類型。記憶體控制器120可發出模式暫存器寫(MRW)命令以指定特定的寫或讀/寫類型模式暫存器以及模式值,並且記憶體鏈路介面160可將收到的模式值寫入所指定的模式暫存器180-1 … 180-M。記憶體控制器120亦可發出模式暫存器讀(MRR)命令以指定特定的讀或讀/寫類型模式暫存器,並且記憶體鏈路介面160可從所指定的模式暫存器180-1 … 180-M讀取並將所讀取的值提供給記憶體控制器120。
圖2圖示了可以用於實現FSP暫存器的模式暫存器(諸如模式暫存器180-1 ... 180-M中的一者)的實例。在該實例中,假設FSP暫存器的模式暫存器包括8個運算元(OP)位元,其中位元OP [3]、OP [2]、OP [1]和OP [0]分別用於實現讀差錯偵測位元、讀差錯糾正位元、寫差錯偵測位元和寫差錯糾正位元,以反映保護參數。對於用於實現FSP暫存器的每個模式暫存器,記憶體控制器120可發出MRW命令以及對應的模式值。進而,記憶體鏈路介面160可將對應的模式值寫入該模式暫存器。以此方式,讀差錯偵測位元、讀差錯糾正位元、寫差錯偵測位元和寫差錯糾正位元的不同組合可以被設定/未被置位,以反映不同的鏈路保護模式。
圖3圖示了針對不同鏈路速度的FSP暫存器的設置的實例。在此特定實例中,三個模式暫存器用於實現三個FSP暫存器FSP [0]、FSP [1]和FSP [2]。這些FSP中的設置反映了上述第三實例場景。
圖4圖示了用於動態地改變記憶體子系統100中的鏈路保護模式的實例方法400的流程圖。在圖4中,主機110可以執行偶數方塊410-430,而記憶體設備150可以執行奇數方塊415-435。在方塊410中,主機110(例如,記憶體控制器120)可以(例如,經由鏈路190)向記憶體設備150發出MRW命令連同模式值。在方塊415中,記憶體設備150(例如,記憶體鏈路介面160)可以用從主機110收到的模式值對用於實現FSP暫存器的模式暫存器180進行程式設計。在方塊420中,主機110可以向記憶體設備150通知要應用的鏈路保護模式。在一態樣,當鏈路速度從第一鏈路速度改變到第二鏈路速度時,主機110可以向記憶體設備150指示要應用從第一鏈路保護模式到第二鏈路保護模式的鏈路保護模式的改變。例如,主機110可以向記憶體設備150指示對應於第二鏈路保護模式的當前FSP暫存器。在方塊425中,記憶體設備150可應用當前FSP暫存器。在方塊430和435中,主機110和記憶體設備150可以協調以根據第二鏈路保護模式執行讀和寫操作。
圖5圖示了用於執行讀操作的實例方法500的流程圖。主機110可以執行偶數方塊510-580,而記憶體設備150可以執行奇數方塊515-555。在方塊510中,記憶體控制器120可以經由鏈路190向記憶體設備150發出讀命令。例如,記憶體控制器120可以對來自請求方(例如,DSP、GPU、CPU等)的讀請求作出反應。隨後,在方塊520中,記憶體控制器120可以經由鏈路190從記憶體設備150接收讀資料。
在方塊510和520之間,記憶體鏈路介面160可以在方塊515中接收讀命令。在方塊525中,記憶體鏈路介面160可以從複數個記憶體單元檢索讀資料。在方塊535中,記憶體設備150可以決定是否應對讀資料進行編碼。在一態樣,在當前FSP暫存器的讀差錯偵測位元和讀差錯糾正位元中的一者或兩者被設定時,可以對讀資料進行編碼。當啟用所應用的鏈路保護模式的讀差錯偵測參數和讀差錯糾正參數中的一者或兩者時,這可以被視為等同於決定對讀資料進行編碼。
若決定不需要對讀資料進行編碼(例如,若讀差錯偵測和讀差錯糾正保護位元兩者皆未被置位(亦即,禁用)),則在方塊555中,記憶體鏈路介面160可以在沒有加密的情況下經由鏈路190發送檢索到的讀資料。另一態樣,若決定應該對讀資料進行編碼(例如,若一個或兩個保護位元被置位(亦即,啟用)),則在方塊545中,記憶體編碼器162可以對檢索到的讀資料進行編碼,以及隨後在方塊555中,記憶體鏈路介面160可以經由鏈路190發送經編碼的讀資料。
回到主機側,在方塊530中,主機110可以決定是否應該對經由鏈路190收到的讀資料進行解碼。例如,由於當啟用所應用的鏈路保護模式的讀差錯偵測和讀差錯糾正參數中的一者或兩者時,記憶體設備150對讀資料進行編碼,因此主機110可以決定,當啟用所應用的鏈路保護模式的讀差錯偵測和讀差錯糾正參數中的一者或兩者時,亦應當對讀資料進行解碼。當決定收到的讀資料是未經編碼的時(例如,若兩個參數都被禁用),則在方塊580中,記憶體控制器120可以在不解密的情況下向請求方提供讀資料。
然而,若在方塊530中決定收到的讀資料是經編碼的並因此應被解碼,則在方塊540中,主機解碼器124可以對收到的讀資料進行解碼。從方塊540,若所應用的鏈路保護模式的讀差錯偵測參數被啟用,則該方法可以進行到方塊550。在該方塊中,主機110可以偵測收到的讀資料中是否存在任何差錯。若沒有差錯被偵測到,則記憶體控制器120可以在方塊580中將經解碼的讀資料提供給請求方。
然而,若在方塊550中偵測到任何差錯,則可以採取其他選項(例如,從頂部引出的「是(Y)」分支)。一個選項可以是什麼也不做,並且請求方可能在某個超時後再次嘗試相同的請求。另一種選項可以是向請求方報告差錯。又一種選項可以是記憶體控制器120將讀命令重新發送到記憶體設備150。這些僅僅是實例,並不意味著窮舉。
替換地從方塊540,若所應用的鏈路保護模式的讀差錯糾正參數被啟用,則該方法500可以進行到方塊560。在該方塊中,主機解碼器124可以糾正可能存在於讀資料中的任何差錯。在一態樣,應注意,在應用糾正程序之前不需要決定是否存在差錯。亦即,糾正程序可以使得它不會引入任何額外差錯。因此,在應用糾正程序之後,無差錯的讀資料可以保持無差錯。
在方塊570中,主機110可以決定讀資料是否已被完全糾正。例如,可能存在對於主機解碼器124可以糾正多少位元差錯的限制。換言之,主機解碼器124可以能夠在讀資料中糾正達「讀閾值」數目個位元差錯。若決定已經糾正讀資料(例如,差錯的數目小於讀閾值數目),則在方塊580中,記憶體控制器120可以將經糾正的讀資料提供給請求方。
然而,若在方塊570中決定讀資料未被完全糾正(例如,差錯的數目可能超過讀閾值數目),則可以採取其他選項(例如,從左側引出的「否(N)」分支)。選項可以類似於參考方塊550列出的選項。
在方塊540的另一替換方案中,可以啟用讀差錯偵測和讀差錯糾正保護參數兩者。由於啟用讀差錯偵測參數,因此該方法可以進行到方塊550,其中主機110可以偵測收到的讀資料中是否存在任何差錯。如上所描述,當在方塊550中沒有偵測到差錯時,記憶體控制器120可以在方塊580中將經解碼的讀資料提供給請求方。然而,在該情形中,若在方塊550中偵測到差錯,則該方法可以進行到方塊560,其中主機解碼器124可以糾正差錯(例如,達讀閾值數目)。這是因為亦啟用了讀差錯糾正保護參數。
圖6圖示了用於執行寫操作的實例方法600的流程圖。主機110可以執行偶數方塊610-640,而記憶體設備150可以執行奇數方塊615-685。在方塊610中,記憶體控制器120可以經由鏈路190向記憶體設備150發出寫命令。例如,記憶體控制器120可以對來自請求方(例如,DSP、GPU、CPU等)的寫請求作出反應。
在方塊620中,主機110可以在將(例如,亦在請求方的寫請求中接收的)寫資料提供給記憶體設備150之前決定是否應該對該寫資料進行編碼。在一態樣,當所應用的鏈路保護模式的寫差錯偵測和寫差錯糾正參數中的一者或兩者皆被啟用時,可以決定應對寫資料進行編碼。
若決定不需要對寫資料進行編碼(例如,若寫差錯偵測和寫差錯糾正保護位元兩者皆被禁用(這裡應該原文錯)),則在方塊640中,記憶體鏈路介面160可以在沒有加密的情況下經由鏈路190發送寫資料。另一態樣,若決定應該對寫資料進行編碼(例如,若一個或兩個保護參數被啟用),則在方塊630中,主機編碼器122可以對寫資料進行編碼,以及隨後在方塊640中,主機鏈路介面130可以經由鏈路190發送經編碼的寫資料。
在方塊615和625中,記憶體鏈路介面160可經由鏈路190分別從主機110接收寫命令和寫資料。在方塊635中,記憶體設備150可以決定經由鏈路190收到的寫資料是否應該被解碼。例如,由於當啟用所應用的鏈路保護模式的寫差錯偵測和寫差錯糾正參數中的一者或兩者時,主機110對寫資料進行編碼,因此記憶體設備150可以決定,當啟用所應用的鏈路保護模式的寫差錯偵測和寫差錯糾正參數中的一者或兩者時,亦應當對寫資料進行解碼。當決定收到的寫資料是未經編碼的時,記憶體鏈路介面160可以在方塊685中將寫資料儲存在複數個記憶體單元中。
然而,若在方塊635中決定收到的寫資料是經編碼的並因此應被解碼,則在方塊645中,記憶體解碼器164可以對收到的寫資料進行解碼。從方塊645,若所應用的鏈路保護模式的寫差錯偵測參數被啟用,則該方法可以進行到方塊655。在該方塊中,記憶體設備150可以決定在收到的寫資料中是否存在任何差錯。若沒有差錯被偵測到,則記憶體鏈路介面160可以在方塊685中將經解碼的寫資料儲存在複數個記憶體單元中。
然而,若在方塊655中偵測到任何差錯,則可以採取其他選項(例如,從頂部引出的「Y」分支)。一個選項可以是什麼也不做,並且主機110可在某個超時後再次嘗試。另一種選項可以是向主機110報告差錯。這些僅僅是實例,並不意味著窮舉。
替換地從方塊645,若所應用的鏈路保護模式的寫差錯糾正參數被啟用,則該方法600可以進行到方塊665。在該方塊中,記憶體解碼器164可以糾正可能存在於寫資料中的任何差錯。再次,應注意,在應用糾正處理之前不需要決定是否存在差錯。
在方塊675中,記憶體設備150可以決定寫資料是否已被完全糾正。例如,記憶體解碼器164可以能夠在寫資料中糾正達「寫閾值」數目個位元差錯。若決定已經糾正寫資料(例如,差錯的數目小於寫閾值數目),則在方塊685中,記憶體鏈路介面160可以將經糾正的寫資料提供給複數個記憶體單元。
然而,若在方塊675中決定寫資料未被完全糾正(例如,差錯的數目可能超過寫閾值數目),則可以採取其他選項(例如,從右側引出的「N」分支)。該選項可以類似於參考方塊655列出的選項。
在方塊645的另一替換方案中,可以假設啟用寫差錯偵測和寫差錯糾正保護參數兩者。由於啟用寫差錯偵測參數,因此該方法可以進行到方塊655,其中記憶體設備150可以偵測在收到的讀資料中是否存在任何差錯,而當在方塊655中沒有偵測到差錯時,記憶體鏈路介面160可在方塊685中儲存經解碼的寫資料。然而,在該情形中,若在方塊655中偵測到差錯,則該方法可以進行到方塊655,其中由於寫差錯糾正保護參數亦被啟用,記憶體解碼器164可以糾正差錯。
圖7圖示了可整合有前述記憶體子系統100的各種電子設備。例如,需要小的形狀因數、非常低剖面的行動電話設備702、膝上型電腦設備704、終端設備706、以及可穿戴設備、可攜式系統可包括納入如本文所描述的記憶體子系統100的裝置/封裝700。裝置/封裝700可以是例如本文所描述的積體電路、晶粒、整合裝置、整合裝置封裝、積體電路裝置、裝置封裝、積體電路(IC)封裝、層疊封裝裝置、系統級封裝裝置中的任一者。圖7中所圖示的設備702、704、706僅是示例性的。其他電子設備亦能以裝置/封裝700為其特徵,此類電子設備包括但不限於包括以下各項的一組設備(例如,電子設備):行動設備、掌上型個人通訊系統(PCS)單元、可攜式資料單元(諸如個人數位助理)、啟用全球定位系統(GPS)的設備、導航設備、機上盒、音樂播放機、視訊播放機、娛樂單元、固定位置資料單元(諸如儀錶讀數裝備)、通訊設備、智慧型電話、平板電腦、電腦、可穿戴設備、伺服器、路由器、實現在機動車輛(例如,自主車輛)中的電子設備、或者儲存或檢索資料或電腦指令的任何其他設備,或者其任何組合。
本發明所屬領域中具有通常知識者將領會,資訊和信號可使用各種不同技術和技藝中的任何一種來表示。例如,貫穿上面說明始終可能被述及的資料、指令、命令、資訊、信號、位元、符號和碼片可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子、或其任何組合來表示。
此外,本發明所屬領域中具有通常知識者將領會,結合本文所揭示的各實例描述的各種說明性邏輯區塊、模組、電路和演算法可被實現為電子硬體、電腦軟體、或兩者的組合。為清楚地圖示硬體與軟體的這一可互換性,各種說明性組件、方塊、模組、電路、以及方法在上面是以其功能性的形式作一般化描述的。此類功能性是被實現為硬體還是軟體取決於具體應用和施加於整體系統的設計約束。技藝人士可針對每種特定應用以不同方式來實現所描述的功能性,但此類實現決策不應被解讀為致使脫離本案的範疇。
結合本文揭示的各實例描述的方法、序列及/或演算法可直接在硬體中、在由處理器執行的軟體模組中、或在這兩者的組合中體現。軟體模組可常駐在RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、可移除磁碟、CD-ROM或者本發明所屬領域中所知的任何其他形式的儲存媒體中。示例性儲存媒體與處理器耦合以使得該處理器能從/向該儲存媒體讀寫資訊。替換地,儲存媒體可以被整合到處理器。
因此,一個態樣可包括實施上述裝置中的任一者的電腦可讀取媒體。因此,所揭示的標的的範疇不限於所圖示的實例且任何用於執行本文中所描述的功能性的手段均被包括。
儘管上述揭示示出了說明性實例,但是應當注意,在其中可作出各種變更和修改而不會脫離如所附請求項定義的所揭示的標的的範疇。根據本文中所描述的實例的方法請求項的功能、程序及/或動作不必按任何特定次序來執行。此外,儘管所揭示的標的的要素可能是以單數來描述或主張權利的,但是複數亦是已料想了的,除非顯式地聲明瞭限定於單數。
100‧‧‧記憶體子系統
110‧‧‧片上系統(SoC)
120‧‧‧記憶體控制器
122‧‧‧主機編碼器
124‧‧‧主機解碼器
130‧‧‧主機鏈路介面
150‧‧‧記憶體設備
160‧‧‧記憶體鏈路介面
162‧‧‧記憶體編碼器
164‧‧‧記憶體解碼器
170‧‧‧記憶體組
180-1‧‧‧模式暫存器(MR)
180-2‧‧‧模式暫存器(MR)
180-M‧‧‧模式暫存器(MR)
190‧‧‧鏈路
400‧‧‧方法
410‧‧‧方塊
415‧‧‧方塊
420‧‧‧方塊
425‧‧‧方塊
430‧‧‧方塊
435‧‧‧方塊
500‧‧‧方法
510‧‧‧方塊
515‧‧‧方塊
520‧‧‧方塊
525‧‧‧方塊
530‧‧‧方塊
535‧‧‧方塊
540‧‧‧方塊
545‧‧‧方塊
550‧‧‧方塊
555‧‧‧方塊
560‧‧‧方塊
570‧‧‧方塊
580‧‧‧方塊
600‧‧‧方法
610‧‧‧方塊
615‧‧‧方塊
620‧‧‧方塊
625‧‧‧方塊
630‧‧‧方塊
635‧‧‧方塊
640‧‧‧方塊
645‧‧‧方塊
655‧‧‧方塊
665‧‧‧方塊
675‧‧‧方塊
685‧‧‧方塊
700‧‧‧裝置/封裝
702‧‧‧設備
704‧‧‧設備
706‧‧‧設備
提供附圖以説明對所揭示的標的的一或多個態樣的實例進行描述,並且提供這些附圖僅僅是為了圖示各實例而非對其進行限制:
圖1圖示了實例記憶體子系統的示圖;
圖2圖示了用於實現頻率設定點暫存器的模式暫存器的實例;
圖3圖示了頻率設定點暫存器針對不同鏈路速度的設置的實例;
圖4圖示了動態改變鏈路保護模式的實例方法的流程圖;
圖5圖示了用於執行讀操作的實例方法的流程圖;
圖6圖示了用於執行寫操作的實例方法的流程圖;及
圖7圖示了其中整合有記憶體子系統的設備的實例。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無

Claims (33)

  1. 一種裝置,包括: 一記憶體設備,其被配置為經由一鏈路與一主機進行通訊, 其中該記憶體設備包括: 複數個記憶體單元;及 一記憶體鏈路介面,其被配置為 經由該鏈路從該主機接收一讀命令,從該複數個記憶體單元檢索讀資料,並且回應於該讀命令根據所應用的鏈路保護模式經由該鏈路向該主機提供該讀資料,或者 經由該鏈路從該主機接收一寫命令,經由該鏈路從該主機接收寫資料,並且回應於該寫命令根據該所應用的鏈路保護模式將該寫資料儲存到該複數個記憶體單元,以及 其中該記憶體設備被配置為 實現複數個鏈路保護模式,包括一第一鏈路保護模式和一第二鏈路保護模式,其中應用該等各鏈路保護模式而以不同保護級別保護經由該鏈路傳送的該讀資料或該寫資料免於差錯,以及 回應於從該主機收到的一鏈路保護模式改變通知而從應用該第一鏈路保護模式改變為應用該第二鏈路保護模式。
  2. 如請求項1之裝置,其中該複數個鏈路保護模式包括無鏈路保護。
  3. 如請求項1之裝置,其中從該主機收到的該鏈路保護模式改變通知是一鏈路速度改變通知。
  4. 如請求項1之裝置,其中該記憶體設備進一步包括: 一記憶體編碼器,其在被啟用的情況下被配置為對從該多個記憶體單元檢索的該讀資料進行編碼,使得在收到該讀命令之際經由該鏈路將經編碼的讀資料提供給該主機,或者 一記憶體解碼器,其在被啟用的情況下被配置為對經由該鏈路從該主機收到的該寫資料進行解碼,使得在收到該寫命令之際將該經解碼的寫資料儲存在該複數個記憶體單元中, 其中該記憶體設備被配置為基於該所應用的鏈路保護模式來控制該記憶體編碼器的一使能級別和該記憶體解碼器的一使能級別。
  5. 如請求項4之裝置,進一步包括: 對應於該複數個鏈路保護模式的複數個頻率設定點(FSP)暫存器, 其中每個FSP暫存器指示該記憶體編碼器的該使能級別或該記憶體解碼器的該使能級別。
  6. 如請求項5之裝置, 其中該記憶體設備進一步包括用於實現該複數個FSP暫存器的一或多個模式暫存器, 其中該記憶體鏈路介面被配置為針對該複數個FSP暫存器之每一者模式暫存器,接收一模式暫存器寫(MRW)命令連同該模式暫存器的一模式值,以及 其中該記憶體設備被配置為經由根據該所收到的模式值對該複數個FSP暫存器的該模式暫存器進行程式設計來對該複數個FSP暫存器進行程式設計。
  7. 如請求項5之裝置, 其中每個FSP暫存器包括一讀差錯偵測位元、一讀差錯糾正位元、一寫差錯偵測位元和一寫差錯糾正位元, 其中該所應用的FSP暫存器是對應於該所應用的鏈路保護模式的該FSP暫存器,以及 其中該記憶體編碼器被配置為,若該所應用的FSP暫存器的該讀差錯偵測位元和該讀差錯糾正位元中的一者或兩者被置位,則對從該複數個記憶體單元中檢索的該讀資料進行編碼,或者 其中該記憶體解碼器被配置為: 若該所應用的FSP暫存器的該寫差錯偵測位元被置位,則偵測從該主機收到的該寫資料是否具有一或多個位元差錯,以及 若該所應用的FSP暫存器的該寫差錯糾正位元被置位,則糾正從該主機收到的該寫資料中的達一寫閾值數目個位元差錯,使得該經糾正的寫資料被儲存在該複數個記憶體單元中。
  8. 如請求項7之裝置, 其中該複數個FSP暫存器包括對應於高鏈路速度和低鏈路速度的高速FSP暫存器和低速FSP暫存器,該高鏈路速度比該低鏈路速度更快, 其中在該高速FSP暫存器中, 該讀差錯偵測位元和該讀差錯糾正位元中的一者或兩者被置位,以及 該寫差錯偵測位元和該寫差錯糾正位元兩者被置位,以及 其中在該低速FSP暫存器中,該讀差錯偵測位元、該讀差錯糾正位元、該寫差錯偵測位元和該寫差錯糾正位元皆未被置位。
  9. 如請求項8之裝置,其中 該複數個FSP暫存器進一步包括對應於一中間鏈路速度的一中速FSP暫存器,該中間鏈路速度比該低鏈路速度更快,且比該高鏈路速度更慢,以及 其中在該中速FSP暫存器中, 該讀差錯偵測位元和該讀差錯糾正位元中的一者被置位,或者 該寫差錯偵測位元和該寫差錯糾正位元中的一者被置位。
  10. 如請求項5之裝置,其中 該複數個FSP暫存器對應於複數個鏈路速度範圍,以及 其中對應於每個FSP暫存器的鏈路速度範圍不與任何其他FSP暫存器的鏈路速度範圍交疊。
  11. 如請求項1之裝置,進一步包括該主機, 其中每個鏈路保護模式指定一讀差錯偵測參數、一讀差錯糾正參數、一寫差錯偵測參數、一寫差錯糾正參數中的每一者是否被啟用/禁用,以及 其中該主機被配置成: 若該所應用的鏈路保護模式的該讀差錯偵測參數被啟用,則經由該鏈路向該記憶體設備發出該讀命令,經由該鏈路從該記憶體設備接收該讀資料,偵測從該記憶體設備收到的該讀資料是否具有一或多個位元差錯,以及若該所應用的鏈路保護模式的該讀差錯糾正參數被啟用,則糾正從該記憶體設備收到的該讀資料中達一讀閾值數目個位元差錯,或者 若該所應用的鏈路保護模式的該寫差錯偵測參數和該寫差錯糾正參數中的一者或兩者被啟用,則經由該鏈路向該記憶體設備發出該寫命令,經由該鏈路向該記憶體設備提供該寫資料,以及對提供給該記憶體設備的該寫資料進行編碼。
  12. 如請求項1之裝置,其中該裝置被納入到從包括以下各項的一組中選擇的一設備中:一音樂播放機、一視訊播放機、一娛樂單元、一導航設備、一通訊設備、一行動設備、一行動電話、一智慧型電話、一個人數位助理、一固定位置終端、一平板電腦、一電腦、一可穿戴設備、一膝上型電腦、一伺服器、以及一機動車中的一設備。
  13. 一種裝置,包括: 一主機,其被配置為經由鏈路與一記憶體設備進行通訊, 其中該主機包括: 一主機鏈路介面,其被配置為與該鏈路進行對接;及 一記憶體控制器,其被配置為經由該主機鏈路介面與該記憶體設備進行通訊, 其中該記憶體控制器被配置為: 經由該鏈路向該記憶體設備發出一讀命令,在發出該讀命令之際根據該所應用的鏈路保護模式經由該鏈路從該記憶體設備接收讀資料,或者 經由該鏈路向該記憶體設備發出一寫命令,以及在發出該讀命令之際根據該所應用的鏈路保護模式經由該鏈路向該記憶體設備提供寫資料,以及 其中該主機被配置為: 實現包括一第一鏈路保護模式和一第二鏈路保護模式的複數個鏈路保護模式,其中應用各鏈路保護模式而以不同保護級別保護經由該鏈路傳送的該讀資料或該寫資料免於差錯,以及 回應於一鏈路速度改變而從應用該第一鏈路保護模式改變為應用該第二鏈路保護模式。
  14. 如請求項13之裝置,其中該複數個鏈路保護模式包括無鏈路保護。
  15. 如請求項13之裝置,其中該記憶體控制器被配置為向該記憶體設備提供要應用從該第一鏈路保護模式到該第二鏈路保護模式的鏈路保護模式改變的通知。
  16. 如請求項13之裝置,其中該主機進一步包括: 一主機編碼器,其在被啟用的情況下被配置為對該寫資料進行編碼,使得在發出該寫命令之際經由該鏈路將該經編碼的寫資料提供給該記憶體設備,或者 一主機解碼器,其在被啟用的情況下被配置為在發出該讀命令之際,對經由該鏈路從該記憶體設備收到的該讀資料進行解碼, 其中該主機被配置為基於該所應用的鏈路保護模式來控制該主機編碼器的一使能級別和該主機解碼器的一使能級別。
  17. 如請求項16之裝置, 其中每個鏈路保護模式指定一讀差錯偵測參數、一讀差錯糾正參數、一寫差錯偵測參數、一寫差錯糾正參數中的每一者是否被啟用/禁用,以及 其中該主機編碼器被配置為若該所應用的鏈路保護模式的該寫差錯偵測參數和該寫差錯糾正參數中的一者或兩者被啟用,則對提供給該記憶體設備的該寫資料進行編碼,或者 其中該主機解碼器被配置為: 若該所應用的鏈路保護模式的該讀差錯偵測參數被啟用,則偵測從該記憶體設備收到的該讀資料是否具有一或多個位元差錯,以及 若該所應用的鏈路保護模式的該讀差錯糾正參數被啟用,則糾正從該記憶體設備收到的該讀資料中達一讀閾值數目個位元差錯。
  18. 如請求項17之裝置,其中 該複數個鏈路保護模式包括對應於高鏈路速度和低鏈路速度的高速鏈路保護模式和低速鏈路保護模式,該高鏈路速度比該低鏈路速度更快, 其中在該高速鏈路保護模式中, 該讀差錯偵測參數和該讀差錯糾正參數中的一者或兩者被啟用,以及 該寫差錯偵測參數和該寫差錯糾正參數兩者被啟用,以及 其中在該低速鏈路保護模式中,該讀差錯偵測參數、該讀差錯糾正參數、該寫差錯偵測參數和該寫差錯糾正參數全部被禁用。
  19. 如請求項18之裝置,其中 該複數個鏈路保護模式進一步包括對應於一中間鏈路速度的一中速鏈路保護模式,該中間鏈路速度比該低鏈路速度更快,且比該高鏈路速度更慢,以及 其中在該中速鏈路保護模式中, 該讀差錯偵測參數和該讀差錯糾正參數中的一者被啟用,或者 該寫差錯偵測參數和該寫差錯糾正參數中的一者被啟用。
  20. 如請求項17之裝置,其中該記憶體設備被配置為: 若該所應用的鏈路保護模式的該讀差錯偵測參數和該讀差錯糾正參數中的一者或兩者被啟用,則經由該鏈路從該主機接收該讀命令,經由該鏈路向該主機提供該讀資料,以及對提供給該主機的該讀資料進行編碼,或者 若該所應用的鏈路保護模式的該寫差錯偵測參數被啟用,則經由該鏈路從該主機接收該寫命令,經由該鏈路從該主機接收該寫資料,偵測從該主機收到的該寫資料是否具有一或多個位元差錯,以及若該所應用的鏈路保護模式的該寫差錯糾正參數被啟用,則糾正從該記憶體設備收到的該寫資料中達一寫閾值數目個位元差錯。
  21. 如請求項13之裝置,其中 該記憶體設備被配置為經由複數個模式暫存器實現該複數個鏈路保護模式,以及 其中該記憶體控制器被配置為針對用於實現該複數個鏈路保護模式的每個模式暫存器,向該記憶體設備發出一模式暫存器寫(MRW)命令連同該模式暫存器的一模式值。
  22. 如請求項13之裝置,其中該裝置被納入到從包括以下各項的一組中選擇的一設備中:一音樂播放機、一視訊播放機、一娛樂單元、一導航設備、一通訊設備、一行動設備、一行動電話、一智慧型電話、一個人數位助理、一固定位置終端、一平板電腦、一電腦、一可穿戴設備、一膝上型電腦、一伺服器、以及一機動車中的一設備。
  23. 一種裝置的方法,該裝置包括被配置為經由一鏈路彼此通訊的一主機和一記憶體設備,該方法包括以下步驟: 回應於一鏈路速度改變而將該裝置從應用一第一鏈路保護模式改變為應用一第二鏈路保護模式;及 由該主機經由該鏈路向該記憶體設備發出一讀命令,並且由該記憶體設備回應於該讀命令根據該所應用的鏈路保護模式經由該鏈路向該主機提供讀資料,或者 由該主機經由該鏈路向該記憶體設備發出一寫命令,並且由該主機在發出該寫命令之際根據該所應用的鏈路保護模式經由該鏈路向該記憶體設備提供寫資料, 其中該裝置被配置為實現包括該第一鏈路保護模式和該第二鏈路保護模式的複數個鏈路保護模式,以及 其中各鏈路保護模式被應用而以不同保護級別保護經由該鏈路傳送的該讀資料或該寫資料免於差錯。
  24. 如請求項23之方法,其中該複數個鏈路保護模式包括無鏈路保護。
  25. 如請求項23之方法,其中 每個鏈路保護模式指定一讀差錯偵測參數、一讀差錯糾正參數、一寫差錯偵測參數、一寫差錯糾正參數中的每一者是否被啟用/禁用, 其中提供該讀資料包括以下步驟: 若該所應用的鏈路保護模式的該讀差錯偵測參數和該讀差錯糾正參數中的一者或兩者被啟用,則對該讀資料進行編碼,以及 經由該鏈路向該主機提供該經編碼的讀資料,或 其中提供該寫資料包括以下步驟: 若該所應用的鏈路保護模式的該寫差錯偵測參數和該寫差錯糾正參數中的一者或兩者被啟用,則對該寫資料進行編碼,以及 經由該鏈路向該記憶體設備提供該經編碼的寫資料,以及 其中該方法進一步包括以下步驟: 由該主機對從該記憶體設備收到的該經編碼的讀資料進行解碼,或 由該記憶體設備對從該主機收到的該經編碼的寫資料進行解碼,並且由該記憶體設備將該經解碼的寫資料儲存在該記憶體設備的複數個記憶體單元中。
  26. 如請求項25之方法,其中 對該經編碼的讀資料進行解碼包括以下步驟:若該所應用的鏈路保護模式的該讀差錯偵測參數被啟用,則偵測該經編碼的讀資料是否具有一或多個位元差錯,或者 其中對該經編碼的寫資料進行解碼和儲存該經解碼的寫資料包括: 若該所應用的鏈路保護模式的該寫差錯偵測參數被啟用,則偵測該經編碼的寫資料是否具有一或多個位元差錯;及 若在該經編碼的寫資料中沒有位元差錯被偵測到,則將該經解碼的寫資料儲存到該複數個記憶體單元。
  27. 如請求項25之方法,其中 對該經編碼的讀資料進行解碼包括以下步驟:若該所應用的鏈路保護模式的該讀差錯糾正參數被啟用,則糾正在該經編碼的讀資料中達一讀閾值數目個位元差錯,或者 其中對該經編碼的寫資料進行解碼和儲存該經解碼的寫資料包括以下步驟: 若該所應用的鏈路保護模式的該寫差錯糾正參數被啟用,則糾正該經編碼的寫資料中達一寫閾值數目個位元差錯;及 將該經糾正的寫資料儲存到該複數個記憶體單元。
  28. 一種裝備,包括: 被配置成經由鏈路彼此通訊的一主機和一記憶體設備, 其中該記憶體設備包括: 複數個記憶體單元;及 用於經由該鏈路從該主機接收一讀命令的裝置,用於回應於該讀命令從該複數個記憶體單元檢索讀資料的裝置,以及用於回應於該讀命令根據一所應用的鏈路保護模式經由該鏈路向該主機提供該讀資料的裝置,或者 用於經由該鏈路從該主機接收一寫命令的裝置,用於回應於該寫命令經由該鏈路從該主機接收寫資料的裝置,以及用於回應於該寫命令根據該所應用的鏈路保護模式將該寫資料儲存到該複數個記憶體單元的裝置, 其中該主機包括: 用於經由該鏈路向該記憶體設備發出該讀命令的裝置,以及用於在發出該讀命令之際經由該鏈路從該記憶體設備接收該讀資料的裝置,或者 用於經由該鏈路向該記憶體設備發出該寫命令的裝置,以及用於在發出該寫命令之際根據該所應用的鏈路保護模式經由該鏈路向該記憶體設備提供寫資料的裝置,以及 其中該裝置被配置為: 實現包括一第一鏈路保護模式和一第二鏈路保護模式的複數個鏈路保護模式,其中應用各鏈路保護模式而以不同保護級別保護經由該鏈路傳送的該讀資料或該寫資料免於差錯,以及 回應於一鏈路速度改變而從應用該第一鏈路保護模式改變為應用該第二鏈路保護模式。
  29. 如請求項28之裝備,其中該複數個鏈路保護模式包括無鏈路保護。
  30. 如請求項28之裝備,其中 每個鏈路保護模式指定一讀差錯偵測參數、一讀差錯糾正參數、一寫差錯偵測參數、一寫差錯糾正參數中的每一者是否被啟用/禁用, 其中該記憶體設備進一步包括: 用於若該所應用的鏈路保護模式的該讀差錯偵測參數和該讀差錯糾正參數中的一者或兩者被啟用則對該讀資料進行編碼的裝置,使得用於提供該讀資料的裝置經由該鏈路將該經編碼的讀資料提供給該主機,或 用於若該所應用的鏈路保護模式的該寫差錯偵測參數和該寫差錯糾正參數中的一者或兩者被啟用則對經由該鏈路收到的該寫資料進行解碼的裝置,使得用於儲存該寫資料的裝置在該複數個記憶體單元中儲存該經解碼的寫資料,以及 其中該主機進一步包括: 用於若該所應用的鏈路保護模式的該寫差錯偵測參數和該寫差錯糾正參數中的一者或兩者被啟用則對該寫資料進行編碼的裝置,使得用於提供該寫資料的裝置經由該鏈路將該經編碼的寫資料提供給該記憶體設備,或 用於若該所應用的鏈路保護模式的該讀差錯偵測參數和該讀差錯糾正參數中的一者或兩者被啟用則對經由該鏈路收到的該讀資料進行解碼的裝置。
  31. 如請求項30之裝備,其中 該記憶體設備進一步包括用於若該所應用的鏈路保護模式的該讀差錯偵測參數被啟用則偵測經由該鏈路收到的該寫資料是否具有一或多個位元差錯的裝置,使得用於儲存該寫資料的裝置在該所收到的寫資料中沒有偵測到位元差錯的情況下將該寫資料儲存在該複數個記憶體單元中,或者 其中該主機進一步包括,用於若該所應用的鏈路保護模式的該讀差錯偵測參數被啟用則偵測經由該鏈路收到的該讀資料是否具有一或多個位元差錯的裝置。
  32. 如請求項30之裝備,其中 該記憶體設備進一步包括用於若該所應用的鏈路保護模式的該寫差錯糾正參數被啟用則糾正經由該鏈路收到的該寫資料中達一寫閾值數目個位元差錯的裝置,使得用於儲存該寫資料的裝置將該經糾正的寫資料儲存在該複數個記憶體單元中,或 其中該主機進一步包括用於若該所應用的鏈路保護模式的該讀差錯糾正參數被啟用則糾正經由該鏈路收到的該讀資料中達一讀閾值數目個位元差錯的裝置。
  33. 如請求項28之裝備,其中該裝備被納入到從包括以下各項的一組中選擇的一設備中:一音樂播放機、一視訊播放機、一娛樂單元、一導航設備、一通訊設備、一行動設備、一行動電話、一智慧型電話、一個人數位助理、一固定位置終端、一平板電腦、一電腦、一可穿戴設備、一膝上型電腦、一伺服器、以及一機動車中的一設備。
TW107122909A 2017-08-21 2018-07-03 記憶體系統中的動態鏈路差錯保護 TWI787299B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/682,533 US10387242B2 (en) 2017-08-21 2017-08-21 Dynamic link error protection in memory systems
US15/682,533 2017-08-21

Publications (2)

Publication Number Publication Date
TW201923574A true TW201923574A (zh) 2019-06-16
TWI787299B TWI787299B (zh) 2022-12-21

Family

ID=63080492

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107122909A TWI787299B (zh) 2017-08-21 2018-07-03 記憶體系統中的動態鏈路差錯保護

Country Status (7)

Country Link
US (2) US10387242B2 (zh)
EP (1) EP3673374B1 (zh)
CN (2) CN116913358A (zh)
ES (1) ES2895367T3 (zh)
SG (1) SG11202000385TA (zh)
TW (1) TWI787299B (zh)
WO (1) WO2019040183A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387242B2 (en) 2017-08-21 2019-08-20 Qualcomm Incorporated Dynamic link error protection in memory systems
US11537464B2 (en) * 2019-06-14 2022-12-27 Micron Technology, Inc. Host-based error correction
KR20210014473A (ko) * 2019-07-30 2021-02-09 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 라이트 방법
US11372717B2 (en) 2019-08-30 2022-06-28 Qualcomm Incorporated Memory with system ECC
US11728003B2 (en) * 2020-05-12 2023-08-15 Qualcomm Incorporated System and memory with configurable error-correction code (ECC) data protection and related methods

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2765425B1 (fr) 1997-06-26 2000-06-09 Bull Sa Procede de detection d'erreurs sur une liaison serie d'un circuit integre et dispositif de mise en oeuvre du procede
US7028213B2 (en) * 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
US7180947B2 (en) 2003-03-31 2007-02-20 Planning Systems Incorporated Method and apparatus for a dynamic data correction appliance
KR100606577B1 (ko) 2004-07-29 2006-07-28 삼성전자주식회사 직렬 에이티에이 인터페이스의 데이터 전송속도 조절장치및 그 방법
US7831882B2 (en) 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
US7774684B2 (en) 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
US8495467B1 (en) * 2009-06-30 2013-07-23 Micron Technology, Inc. Switchable on-die memory error correcting engine
US8255656B2 (en) 2009-09-15 2012-08-28 Phison Electronics Corp. Storage device, memory controller, and data protection method
US8510628B2 (en) * 2009-11-12 2013-08-13 Micron Technology, Inc. Method and apparatuses for customizable error correction of memory
WO2012109078A2 (en) 2011-02-08 2012-08-16 Lsi Corporation Selective enablement of operating modes or features via host transfer rate detection
US8607121B2 (en) * 2011-04-29 2013-12-10 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US9306863B2 (en) 2013-12-06 2016-04-05 Intel Corporation Link transfer, bit error detection and link retry using flit bundles asynchronous to link fabric packets
US9733847B2 (en) 2014-06-02 2017-08-15 Micron Technology, Inc. Systems and methods for transmitting packets in a scalable memory system protocol
KR102324769B1 (ko) * 2015-06-29 2021-11-10 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
DE112015006961T5 (de) * 2015-09-26 2018-06-14 Intel Corporation Verbindungsfehlerdetektion in mehrfachchipgehäusen
US10140175B2 (en) 2015-11-20 2018-11-27 Qualcomm Incorporated Protecting an ECC location when transmitting correction data across a memory link
US9965352B2 (en) 2015-11-20 2018-05-08 Qualcomm Incorporated Separate link and array error correction in a memory system
US9940186B2 (en) 2015-12-22 2018-04-10 Nxp Usa, Inc. Memory controller and method of operating a memory controller
US10692555B2 (en) * 2016-06-29 2020-06-23 Samsung Electronics Co., Ltd. Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices
US10331517B2 (en) 2016-08-26 2019-06-25 Qualcomm Incorporated Link error correction in memory system
US10387242B2 (en) 2017-08-21 2019-08-20 Qualcomm Incorporated Dynamic link error protection in memory systems

Also Published As

Publication number Publication date
CN110998536B (zh) 2023-07-18
ES2895367T3 (es) 2022-02-21
EP3673374B1 (en) 2021-09-29
CN110998536A (zh) 2020-04-10
US10922168B2 (en) 2021-02-16
EP3673374A1 (en) 2020-07-01
WO2019040183A1 (en) 2019-02-28
TWI787299B (zh) 2022-12-21
CN116913358A (zh) 2023-10-20
US20190056990A1 (en) 2019-02-21
SG11202000385TA (en) 2020-03-30
US20190324850A1 (en) 2019-10-24
US10387242B2 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
US10996888B2 (en) Write credits management for non-volatile memory
TWI787299B (zh) 記憶體系統中的動態鏈路差錯保護
TWI684102B (zh) 記憶體系統中的鏈路糾錯
JP5776107B2 (ja) メモリコントローラ及び方法におけるデータ完全性
US9164834B2 (en) Semiconductor memory devices, memory systems including the same and method of writing data in the same
KR102190683B1 (ko) 메모리 데이터 에러 정정 방법
US20120113732A1 (en) Pseudo-open drain type output driver having de-emphasis function, semiconductor memory device, and control method thereof
US20150026509A1 (en) Storage device having a data stream converter
KR20170050935A (ko) 온 칩 ecc 회로를 포함하는 메모리 장치 및 시스템
US20100185811A1 (en) Data processing system and method
US20190303016A1 (en) Memory controller and data processing circuit with improved system efficiency
US8423878B2 (en) Memory controller and memory system including the same having interface controllers generating parity bits
KR20180023079A (ko) 반도체시스템
US20140331006A1 (en) Semiconductor memory devices
US20230128638A1 (en) Method of operating storage device and method of operating storage system using the same
US20200348999A1 (en) Transaction metadata
US10628322B2 (en) Memory system and operating method thereof
KR20180123426A (ko) Ddr 채널을 통해 dimm을 위한 모핑 가능한 ecc 인코더 및 디코더를 포함하는 코딩 메커니즘 및 그 방법
TW202244736A (zh) 同調記憶體系統及其操作方法
TW202347111A (zh) 用於記憶體系統的自我調整資料編碼