TWI832056B - 記憶體系統 - Google Patents
記憶體系統 Download PDFInfo
- Publication number
- TWI832056B TWI832056B TW110118989A TW110118989A TWI832056B TW I832056 B TWI832056 B TW I832056B TW 110118989 A TW110118989 A TW 110118989A TW 110118989 A TW110118989 A TW 110118989A TW I832056 B TWI832056 B TW I832056B
- Authority
- TW
- Taiwan
- Prior art keywords
- aforementioned
- memory
- processing
- memory controller
- memory system
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 524
- 230000008569 process Effects 0.000 claims abstract description 523
- 238000012545 processing Methods 0.000 claims description 455
- 230000004044 response Effects 0.000 claims description 13
- 238000009825 accumulation Methods 0.000 claims 1
- 238000011084 recovery Methods 0.000 description 116
- 230000004048 modification Effects 0.000 description 74
- 238000012986 modification Methods 0.000 description 74
- 230000007704 transition Effects 0.000 description 60
- 239000000725 suspension Substances 0.000 description 43
- 238000005259 measurement Methods 0.000 description 26
- 230000000694 effects Effects 0.000 description 20
- 101150005017 STS2 gene Proteins 0.000 description 14
- 101150006480 Ubash3a gene Proteins 0.000 description 14
- 102100040337 Ubiquitin-associated and SH3 domain-containing protein A Human genes 0.000 description 14
- 101100313728 Vitis vinifera VINST1 gene Proteins 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 101150067286 STS1 gene Proteins 0.000 description 12
- 101100028967 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PDR5 gene Proteins 0.000 description 12
- 101150027289 Ubash3b gene Proteins 0.000 description 12
- 102100040338 Ubiquitin-associated and SH3 domain-containing protein B Human genes 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 230000010365 information processing Effects 0.000 description 6
- 238000002360 preparation method Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000012508 change request Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 102220096711 rs876659744 Human genes 0.000 description 2
- 235000012431 wafers Nutrition 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0658—Controller construction arrangements
-
- 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/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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or 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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本發明之其中一個實施形態之記憶體系統,係提供對於寫入率以及讀取延遲之間的取捨關係作調整之手段。
其中一個實施形態之記憶體系統,係具備有非揮發性記憶體、和構成為基於從主機機器而來之第1要求而使非揮發性記憶體實行將資料讀出之第1處理的記憶體控制器。記憶體控制器,係構成為當正在使非揮發性記憶體實行第2處理的期間中而從主機機器收訊了第1要求的情況時,係將第2處理之中斷擱置,直到身為存在於記憶體控制器內之未實行之第1要求之數量的第1數成為了身為2以上之整數之第1臨限值以上為止。
Description
實施形態,係有關於記憶體系統。
本申請案,係享受以日本專利申請2020-205991號(申請日:2020年12月11日)作為基礎申請之優先權。本申請案,係藉由參照此基礎申請案,而包含基礎申請案之所有的內容。
包含有身為非揮發性記憶體之NAND型快閃記憶體和對於非揮發性記憶體進行控制的記憶體控制器之記憶體系統,係為周知。在記憶體系統中,係針對有關於寫入率(write throughput)以及讀取延遲(read latency)之要求而有所制定。寫入率,係身為在每單位時間中而能夠對於非揮發性記憶體作寫入的資料量。讀取延遲,係身為為了將從非揮發性記憶體所讀出之資料輸出至記憶體系統之外部所需要的時間。寫入率以及讀取延遲,係會相互成為取捨關係。
本發明之其中一個實施形態之記憶體系統,係提供對於寫入率以及讀取延遲之間的取捨關係作調整之手段。
實施形態之記憶體系統,係具備有非揮發性記憶體、和構成為基於從主機機器而來之第1要求而使上述非揮發性記憶體實行將資料讀出之第1處理的記憶體控制器。上述記憶體控制器,係構成為當正在使上述非揮發性記憶體實行第2處理的期間中而從上述主機機器收訊了上述第1處理的情況時,將上述第2處理之中斷擱置,直到身為存在於上述記憶體控制器內之未實行之上述第1要求之數量的第1數成為了身為2以上之整數之第1臨限值以上為止。
1:資訊處理系統
2:主機機器
3:記憶體系統
10:非揮發性記憶體
20:記憶體控制器
21:控制電路
22:緩衝記憶體
23:主機I/F
24:記憶體I/F
25:指令佇列
26:計時器
BUS:記憶體匯流排
[圖1]係為對於第1實施形態的資訊處理系統之構成作展示之區塊圖。
[圖2]係為對於在第1實施形態之記憶體匯流排處所被使用的訊號之其中一例作展示之區塊圖。
[圖3]係為對於在第1實施形態之記憶體系統處之包含有程式化處理之一連串的處理之其中一例作展示之流程圖。
[圖4]係為對於在第1實施形態之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程
圖。
[圖5]係為對於第1實施形態的記憶體系統之關連於程式化處理之複數之狀態間的關係作展示之狀態變遷圖。
[圖6]係為對於第1實施形態之記憶體系統之在伴隨著暫停(suspend)判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖7]係為對於第1實施形態之變形例之記憶體控制器之構成作展示的區塊圖。
[圖8]係為對於在第1實施形態之變形例之記憶體系統處之包含有程式化(program)處理之一連串的處理之其中一例作展示之流程圖。
[圖9]係為對於在第1實施形態之變形例之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程圖。
[圖10]係為對於第1實施形態之變形例之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖11]係為對於在第2實施形態之記憶體系統處之包含有程式化處理之一連串的處理之其中一例作展示之流程圖。
[圖12]係為對於在第2實施形態之記憶體系統處之包含有第1暫停判定處理之一連串的處理之其中一例作展示之流程圖。
[圖13]係為對於第2實施形態之記憶體系統之在伴隨
著第1暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖14]係為對於在第2實施形態之記憶體系統處之包含有第2暫停判定處理之一連串的處理之其中一例作展示之流程圖。
[圖15]係為對於第2實施形態之記憶體系統之在伴隨著第2暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖16]係為對於在第2實施形態之變形例之記憶體系統處之包含有第2暫停判定處理之一連串的處理之其中一例作展示之流程圖。
[圖17]係為對於第2實施形態之變形例之記憶體系統之在伴隨著第2暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖18]係為對於第3實施形態的非揮發性記憶體之構成之其中一例作展示之區塊圖。
[圖19]係為對於在第3實施形態之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程圖。
[圖20]係為對於第3實施形態之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖21]係為對於在第3實施形態之第1變形例之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例
作展示之流程圖。
[圖22]係為對於第3實施形態之第1變形例之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖23]係為對於在第3實施形態之第2變形例之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程圖。
[圖24]係為對於第3實施形態之第2變形例之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖25]係為對於在第4實施形態之記憶體系統處之包含有程式化處理之一連串的處理之其中一例作展示之流程圖。
[圖26]係為對於在第4實施形態之記憶體系統處之包含有回復(resume)判定處理之一連串的處理作展示之流程圖。
[圖27]係為對於第4實施形態的記憶體系統之關連於程式化處理之複數之狀態間的關係作展示之狀態變遷圖。
[圖28]係為對於第4實施形態之記憶體系統之在伴隨著回復判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖29]係為對於在第4實施形態之變形例之記憶體系統處之包含有回復判定處理之一連串的處理作展示之流程圖。
[圖30]係為對於第4實施形態之變形例之記憶體系統之在伴隨著回復判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖31]係為對於在第5實施形態之記憶體系統處之包含有回復判定處理之一連串的處理作展示之流程圖。
[圖32]係為對於第5實施形態的記憶體系統之關連於程式化處理之複數之狀態間的關係作展示之狀態變遷圖。
[圖33]係為對於第5實施形態之記憶體系統之在伴隨著回復判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖34]係為對於在第5實施形態之變形例之記憶體系統處之包含有程式化處理之一連串的處理之其中一例作展示之流程圖。
[圖35]係為對於在第5實施形態之變形例之記憶體系統處之包含有回復判定處理之一連串的處理作展示之流程圖。
[圖36]係為對於第5實施形態之變形例之記憶體系統之在伴隨著回復判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。
[圖37]係為對於在第6實施形態之記憶體系統處之參數變更處理之其中一例作展示之流程圖。
[圖38]係為對於在第6實施形態之變形例之記憶體系統處之參數變更處理之其中一例作展示之流程圖。
以下,參考圖面,針對實施形態作說明。在進行說明時針對具有略相同之功能以及構成的構成要素,係附加相同之元件符號。又,在以下所示之實施形態,係為對於技術性思想作例示者。對於實施形態,係可施加各種之變更。
1.第1實施形態
1.1構成
1.1.1:資訊處理系統
針對第1實施形態之資訊處理系統之構成作說明。
圖1,係為對於第1實施形態的資訊處理系統之構成作展示之區塊圖。如圖1中所示一般,資訊處理系統1,係包含有主機機器2以及記憶體系統3。
主機機器2,係身為使用記憶體系統3而對於資料進行處理之資料處理裝置。主機機器2,例如,係為個人電腦或資料中心內之伺服器。
記憶體系統3,係身為以與主機機器2相連接的方式所被構成之記憶裝置。記憶體系統3,例如,係身為如同SDTM卡一般之記憶卡、通用快閃記憶體儲存(UFS,universal flash storage)、固態硬碟(SSD(Solid State Drive))。記憶體系統3,係因應於從主機機器2而來之要求(指令),而實行資料之程式化(program)處理、讀取(read)處理、抹除(erase)處理。記憶體系統3,係亦可作為內部
處理而實行程式化處理、讀取處理以及抹除處理。
1.1.2:記憶體系統
針對第1實施形態之記憶體系統之內部構成作說明。
記憶體系統3,係包含有非揮發性記憶體10以及記憶體控制器20。
非揮發性記憶體10,係包含有各別非揮發性地記憶資料的複數之記憶體胞電晶體。非揮發性記憶體10,例如係為NAND型快閃記憶體。
記憶體控制器20,例如係可藉由如同SoC(System-on-a-chip)一般之積體電路來構成之。記憶體控制器20,係基於從主機機器2而來的要求而對於非揮發性記憶體10作控制。具體而言,例如,記憶體控制器20,係基於從主機機器2而來的寫入(write)要求而將寫入資料寫入至非揮發性記憶體10中。又,記憶體控制器20,係基於從主機機器2而來的讀取要求,而將讀取資料從非揮發性記憶體10而讀出。之後,記憶體控制器20,係將讀取資料對於主機機器2作送訊。
接著,針對記憶體控制器20之內部構成進行說明。記憶體控制器20,係具備有控制電路21、和緩衝記憶體22、和主機介面電路23、和記憶體介面電路24、以及指令佇列25。在以下所說明的記憶體控制器20之各部21~25之功能,係可藉由硬體構成或者是硬體資源與韌體之組合構成的任一者來實現之。
控制電路21,係身為對於記憶體控制器20之全體進行控制的電路。控制電路21,例如,係包含有像是CPU(central processing unit)一般之處理器、以及ROM(read only memory)。
緩衝記憶體22,係身為用以在主機機器2與非揮發性記憶體10之間而將資料作緩衝的記憶體。緩衝記憶體22,例如,係身為SRAM(static random access memory)。緩衝記憶體22,係將寫入資料以及讀取資料暫時性地作記憶。
主機介面電路(主機I/F)23,係掌管記憶體控制器20與主機機器2之間之通訊。主機介面電路23,係經由主機匯流排而被與主機機器2作連接。主機匯流排,例如,係身為準據於SDTM介面、SAS(serial attached SCSI(small computer system interface))、SATA(serial ATA(advanced technology attachment))或PCIeTM(peripheral component interconnect express)之匯流排。
記憶體介面電路(記憶體I/F)24,係掌管非揮發性記憶體10與記憶體控制器20之間之通訊。記憶體介面電路24,係經由記憶體匯流排BUS而被與非揮發性記憶體10作連接。記憶體匯流排BUS,例如,係身為準據於SDR(single data rate)介面、TOGGLE DDR(double data rate)介面或者是ONFI(Open NAND flash interface)之匯流排。
指令佇列25,係身為用以將從主機機器2而來之要求作佇列的記憶體。指令佇列25,例如係身為SRAM。指令佇列25,例如,係身為附加有優先度之佇
列。指令佇列25,係以記憶各別具有優先度之複數之要求的方式而被構成。被記憶在指令佇列25內之複數之要求,係以所對應之優先度順序而被實行。指令佇列25內之要求,係因應於所對應之處理的實行,而被從指令佇列25刪除。
接著,針對在非揮發性記憶體10與記憶體控制器20之間而被進行處理的訊號之其中一例作說明。圖2,係為對於在第1實施形態之記憶體匯流排處所被使用的訊號之其中一例作展示之區塊圖。
在記憶體匯流排BUS處所被使用之訊號,例如,係包含有晶片致能訊號CEn、指令閂鎖致能訊號CLE、位址閂鎖致能訊號ALE、寫入致能訊號WEn、讀取致能訊號REn、寫入保護訊號WPn、READY‧BUSY訊號RBn以及輸入輸出訊號I/O。在本說明書中,訊號之名稱之末尾的n,係代表是在該訊號為“L(Low)”準位的情況時會被宣告(assert)。
訊號CEn,係身為用以將非揮發性記憶體10致能(enable)之訊號。
訊號CLE以及ALE,係身為用以將「對於非揮發性記憶體10之輸入訊號I/O係分別身為指令以及位址」一事對於非揮發性記憶體10作通知之訊號。
訊號WEn,係身為用以使輸入訊號I/O被導入至非揮發性記憶體10中之訊號。
訊號REn,係身為用以從非揮發性記憶體10而讀出輸
出訊號I/O之訊號。
訊號WPn,係身為用以對於非揮發性記憶體10而下達禁止資料之寫入以及刪除之指示的訊號。
訊號RBn,係身為對於非揮發性記憶體10是身為準備狀態還是身為繁忙狀態一事作展示之訊號。準備狀態,係代表非揮發性記憶體10乃身為能夠收訊從記憶體控制器20而來之命令的狀態。繁忙狀態,係代表非揮發性記憶體10乃身為無法受理除了像是後述之下達暫停處理之實行之指令的暫停指令一般之一部分的指令以外的從記憶體控制器20而來之命令的狀態。訊號RBn,係“L”準位為代表繁忙狀態。
輸入輸出訊號I/O,例如係身為8位元之訊號。輸入輸出訊號I/O,係身為在非揮發性記憶體10與記憶體控制器20之間而被進行送收訊的訊號之實體。輸入輸出訊號I/O,係包含有指令、位址、以及寫入資料和讀取資料等之資料。
1.2動作
接著,針對在第1實施形態之記憶體系統中的動作進行說明。
1.2.1
程式化處理
圖3,係為對於在第1實施形態之記憶體系統處之包含
有程式化處理之一連串的處理之其中一例作展示之流程圖。
若是程式化條件被滿足(開始),則記憶體控制器20,係使非揮發性記憶體10實行伴隨有暫停判定處理之程式化處理(S1)。
所謂程式化條件被滿足一事,係包含有因應於從主機機器2而來之寫入要求而在緩衝記憶體22內被記憶有一定之量之寫入資料一事。又,所謂程式化條件被滿足一事,係包含有使記憶體控制器20滿足在內部處理中所實行的程式化處理之開始條件一事。內部處理,係包含有垃圾回收(壓縮)處理、更新(refresh)處理、耗損平均技術處理以及非揮發性記憶體10之管理資訊之非揮發性處理。
在進行程式化處理時,記憶體控制器20,係將緩衝記憶體22內之寫入資料對於非揮發性記憶體10作送訊。非揮發性記憶體10,係將所收訊了寫入資料記憶在非揮發性記憶體10內之頁面緩衝(未圖示)中(data in)。非揮發性記憶體10,係基於被記憶在頁面緩衝中之寫入資料,來實行對於非揮發性記憶體10內之記憶體胞陣列(未圖示)之程式化處理。
暫停判定處理,係身為基於是否滿足暫停條件一事來判定是否要實行暫停處理的處理。暫停處理,係身為使非揮發性記憶體10所正在實行的程式化處理等暫停之處理。藉由對於實行暫停處理之時序作調整,記憶體控制器20,係能夠對於讀取延遲與寫入率之間的取捨關係作調整。
若是伴隨有暫停判定處理之程式化處理結束,則記憶體控制器20,係使非揮發性記憶體10實行狀態讀取處理(S2)。狀態讀取處理,係身為記憶體控制器20為了掌握到非揮發性記憶體10之狀態而將非揮發性記憶體10之狀態讀出的處理。藉由此,記憶體控制器20,係能夠對於非揮發性記憶體10結束了程式化處理一事作確認。
若是在S2之處理中而記憶體控制器20從非揮發性記憶體10收訊了代表程式化處理結束一事之狀態,則包含有程式化處理之一連串之處理係成為結束(結束)。
1.2.2暫停判定處理
圖4,係為對於在第1實施形態之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程圖。包含有暫停判定處理之一連串之處理,係因應於暫停判定處理之開始條件而被實行。在圖4之例中,暫停判定處理之開始條件,係身為「記憶體控制器20從主機機器2而收訊讀取要求」一事。
亦即是,若是從主機機器2而收訊讀取要求(開始),則記憶體控制器20,係判定非揮發性記憶體10是否為正在進行程式化處理中(S10)。
在並非為正在進行程式化處理中的情況時(S10:false),記憶體控制器20,係使非揮發性記憶體10實行基於所收訊了的讀取要求所致之讀取處理(S11)。若是S11之處理結束,則包含有暫停判定處理之一連串之處
理係成為結束(結束)。
當身為正在進行程式化處理中的情況時(S10:true),記憶體控制器20,係判定是否滿足暫停條件(S12)。在圖4之例中之暫停條件,係為「指令佇列25內之讀取要求係為臨限值N個以上」。臨限值N,係為2以上之整數(N≧2)。
當在指令佇列25內而讀取要求係並非為臨限值N個以上的情況時(S12:false),記憶體控制器20,係擱置程式化處理之暫停。亦即是,記憶體控制器20,係並不將程式化處理暫停。藉由此,包含有暫停判定處理之一連串之處理係成為結束(結束)。
當在指令佇列25內之讀取要求係為臨限值N個以上的情況時(S12:true),記憶體控制器20,係使非揮發性記憶體10實行暫停處理(S13)。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S14)。
在每次S14之處理結束時,記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S15)。
當在指令佇列25內仍然存在有讀取要求的情況時(S15:true),記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S14)。藉由此,S14以及S15之處理係被反覆進行,直到與指令佇列25內之所有的讀取要求相對應之讀取處理被實行為止。
當在指令佇列25內係並不存在有讀取要求的情況時
(S15:false),記憶體控制器20,係使非揮發性記憶體10實行回復處理(S16)。
若是S16之處理結束,則包含有暫停判定處理之一連串之處理係成為結束(結束)。
1.2.3記憶體系統之狀態變遷
圖5,係為對於第1實施形態的記憶體系統之關連於程式化處理之複數之狀態間的關係作展示之狀態變遷圖。在圖5中,係展示有關連於圖3以及圖4中所示之處理而記憶體系統3所能夠成為的複數之狀態間之關係。
首先,針對記憶體系統3所能夠成為的複數之狀態作說明。
如同圖5中所示一般,記憶體系統3之關連於程式化處理之狀態,係包含有程式化準備(ready)狀態STS1、程式化繁忙(busy)狀態STS2、以及程式化暫停(suspend)狀態STS3。程式化準備狀態STS1,係身為許可在記憶體系統3處的程式化處理之實行的狀態。程式化繁忙狀態STS2,係身為記憶體系統3正在實行程式化處理之狀態。程式化暫停狀態STS3,係身為記憶體系統3正在將程式化處理之實行作暫停之狀態。在程式化繁忙狀態STS2中,記憶體系統3,係禁止讀取處理之實行。在程式化準備狀態STS1以及程式化暫停狀態STS3中,記憶體系統3,係許可讀取處理之實行。
程式化準備狀態STS1,係包含有「無待機讀
取要求狀態」STS11、以及「讀取處理中狀態」STS12。無待機讀取要求狀態STS11,係身為在程式化準備狀態STS1中而於指令佇列25內並未被記憶有任何的未實行之讀取要求之狀態。讀取處理中狀態STS12,係身為在程式化準備狀態STS1中而記憶體系統3正在實行讀取處理之狀態。
程式化繁忙狀態STS2,係包含有「無待機讀取要求狀態」STS21、以及「暫停處理擱置中狀態」STS22。無待機讀取要求狀態STS21,係身為在程式化繁忙狀態STS2中而於指令佇列25內並未被記憶有任何的未實行之讀取要求之狀態。暫停處理擱置中狀態STS22,係身為記憶體系統3正在將程式化處理之開始作擱置之狀態。
程式化暫停狀態STS3,係包含有暫停處理中狀態STS31、讀取處理中狀態STS32以及回復處理中狀態STS33。暫停處理中狀態STS31,係身為記憶體系統3正在實行暫停處理之狀態。讀取處理中狀態STS32,係身為在程式化暫停狀態STS3中而記憶體系統3正在實行讀取處理之狀態。回復處理中狀態STS33,係身為記憶體系統3正在實行回復處理之狀態。回復處理,係身為使暫停中的程式化處理再度開始之處理。
接著,針對使各狀態作變遷的事件(event)進行說明。
若是在無待機讀取要求狀態STS11中而從主機機器2收訊讀取要求(E1),則記憶體系統3,係藉由開始讀取處理
之實行,而變遷至讀取處理中狀態STS12。若是在讀取處理中狀態STS12中而從主機機器2更進而收訊讀取要求(E2),則記憶體系統3,係維持為讀取處理中狀態STS12,直到使與指令佇列25內之所有的讀取要求相對應之讀取處理結束為止。若是與指令佇列25內之所有的讀取要求相對應之讀取處理結束(E3),則記憶體系統3,係變遷至無待機讀取要求狀態STS11。
若是在無待機讀取要求狀態STS11中而開始程式化處理(E4),則記憶體系統3,係變遷至無待機讀取要求狀態STS21。若是在無待機讀取要求狀態STS21中而程式化處理結束(E5),則記憶體系統3,係變遷至無待機讀取要求狀態STS11。若是在無待機讀取要求狀態STS21中而收訊讀取要求(E6),則記憶體系統3,係變遷至暫停處理擱置中狀態STS22。
當暫停條件並未被滿足的情況時(E7),記憶體系統3,係維持為暫停處理擱置中狀態STS22。若是在暫停處理擱置中狀態STS22中而程式化處理結束(E8),則記憶體系統3,係變遷至讀取處理中狀態STS12。若是在暫停處理擱置中狀態STS22中而暫停條件被滿足(E9),則記憶體系統3,係變遷至暫停處理中狀態STS31。
若是在暫停處理中狀態STS31中而暫停處理結束(E10),則記憶體系統3,係變遷至讀取處理中狀態STS32。若是在讀取處理中狀態STS32中而從主機機器2更進而收訊讀取要求(E11),則記憶體系統3,係維持為讀取
處理中狀態STS32,直到使與指令佇列25內之所有的讀取要求相對應之讀取處理結束為止。若是與指令佇列25內之所有的讀取要求相對應之讀取處理結束(E12),則記憶體系統3,係變遷至回復處理中狀態STS33。若是回復處理結束(E13),則記憶體系統3,係變遷至無待機讀取要求狀態STS21。
亦即是,若是在程式化準備狀態STS1中而開始程式化處理(E4),則記憶體系統3,係變遷至程式化繁忙狀態STS2。若是在程式化繁忙狀態STS2中而程式化處理結束(E5或E8),則記憶體系統3,係變遷至程式化準備狀態STS1。若是在程式化繁忙狀態STS2中而暫停條件被滿足(E9),則記憶體系統3,係變遷至程式化暫停狀態STS3。若是在程式化暫停狀態STS3中而回復處理結束(E13),則記憶體系統3,係變遷至程式化繁忙狀態STS2。
1.2.4在伴隨著暫停判定處理之程式化處理中的狀態變遷
圖6,係為對於第1實施形態之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖6之例中,係顯示有臨限值N為2的情況。另外,在圖6之例中,假設於時刻t10之前,記憶體系統3係身為無待機讀取要求狀態STS11。
如同圖6中所示一般,在時刻t10處,記憶體控制器20,係使非揮發性記憶體10實行程式化處理。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t11處,記憶體控制器20,係收訊第1個的讀取要求(第1讀取要求)。藉由此,指令佇列25內之讀取要求數,係成為未滿臨限值N(=2)個的1個。因此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。
在時刻t12處,記憶體控制器20,係收訊第2個的讀取要求(第2讀取要求)。藉由此,指令佇列25內之讀取要求數,係成為與臨限值N(=2)相等之2個。因此,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t13處,暫停處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行基於第1讀取要求所致之讀取處理(第1讀取處理)。伴隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t14處,第1讀取處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行基於第2讀取要求所致之讀取處理(第2讀取處理)。記憶體系統3,係維持為讀取處理中狀態STS32。
在時刻t15處,第2讀取處理係結束。記憶體控制器20,係在確認到指令佇列25內之讀取要求數為0個之後,使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t16處,回復處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10再度開始程式化處理。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態
STS21。
在時刻t17處,程式化處理係結束。之後,記憶體控制器20,係藉由狀態讀取處理來對於資料是否被並未發生問題地而寫入至了非揮發性記憶體10中一事作確認。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS11。
1.3第1實施形態之效果
若依據第1實施形態,則記憶體控制器20,係將暫停處理擱置,直到指令佇列25內之讀取要求之數量成為臨限值N個以上為止。藉由此,記憶體控制器20,係能夠在1次的程式化處理之暫停中,至少將臨限值N個的讀取處理整批地來實行。因此,相較於在每次收訊讀取要求時便將程式化處理暫停的情況,係能夠將暫停處理以及回復處理的次數降低。故而,相較於在每次收訊讀取要求時便將程式化處理暫停的情況,係能夠將在暫停處理以及回復處理中所需要的時間之合計(累積系統開銷(overhead))減少,並且能夠對於寫入率的降低作抑制。
又,若依據第1實施形態,則當指令佇列25內之讀取要求之數量係為臨限值N個以上的情況時,記憶體控制器20,係實行暫停處理。藉由此,記憶體控制器20,係若是暫停條件被滿足,則便能夠並不等待程式化處理之結束地來實行讀取處理。因此,相較於在程式化處理之結束後而實行讀取處理的情況,係能夠將從收訊讀取要求起直到讀
取處理之結束為止所需要的時間縮短。故而,相較於在程式化處理之結束後而實行讀取處理的情況,係能夠更加抑制讀取延遲之增加。
如此這般,若依據第1實施形態,則係能夠同時達成「相較於在每次收訊讀取要求時便將程式化處理暫停的情況而更加改善的寫入率」以及「相較於在程式化處理之結束後而實行讀取處理的情況而更加改善的讀取延遲」。故而,係能夠提供一種對於寫入率以及讀取延遲之間的取捨關係作調整之手段。
1.4第1實施形態之變形例
在上述之第1實施形態中,雖係針對使記憶體控制器20將暫停處理擱置直到未實行之讀取要求成為臨限值N個以上為止的情況,來作了說明,但是,實施形態係並不被限定於此。例如,記憶體控制器20,係亦可基於從第1個的讀取要求之收訊起所經過的時間,來對於將暫停處理作擱置的期間作控制。在以下之說明中,針對與第1實施形態同等之構成以及動作,係省略其說明,並主要針對與第1實施形態相異之構成以及動作作說明。
1.4.1記憶體控制器之構成
圖7,係為對於第1實施形態之變形例之記憶體控制器之構成作展示的區塊圖。如同圖7中所示一般,記憶體控制器20,係更進而包含有計時器26。
計時器26,係對於時間作計測。例如,計時器26,係基於從控制電路21而來之開始指示,而開始進行計測(開始)。計時器26,係基於從控制電路21而來之暫時停止指示,而將計測暫時停止(暫停)。計時器26,係基於從控制電路21而來之再度開始指示,而將暫時停止了的計測再度開始(回復)。計時器26,係基於從控制電路21而來之結束指示,而結束計測(停止)。
在計時器26之開始前以及停止後,計時器26係身為停止中之狀態。在從開始計測起直到計測結束為止的期間中,計時器26係身為計測中之狀態。在第1實施形態之變形例中,計時器26,係針對從「起因於收訊了讀取要求一事而記憶體系統3之狀態成為暫停處理擱置中狀態STS22」起的經過時間作計測。
記憶體控制器20,例如,係取得從計時器26之計測之開始時起的計測值。藉由此,記憶體控制器20,係能夠掌握到從所期望之時間點起的經過時間。
1.4.2程式化處理
圖8,係為對於在第1實施形態之變形例之記憶體系統處之包含有程式化處理之一連串的處理之其中一例作展示之流程圖。
若是程式化條件被滿足(開始),則記憶體控制器20,係使非揮發性記憶體10實行伴隨有暫停判定處理之程式化處理(S1)。
若是伴隨有暫停判定處理之程式化處理結束,則記憶體控制器20,係使非揮發性記憶體10實行狀態讀取處理(S2)。
若是在S2之處理中而從非揮發性記憶體10收訊代表程式化處理結束一事之狀態,則記憶體控制器20,係判定計時器26是否身為計測中(S3)。
當計時器26係身為計測中的情況時(S3:true),記憶體控制器20,係使計時器26停止(S4)。若是S4之處理結束,則包含有程式化處理之一連串之處理係成為結束(結束)。
又,當計時器26係並非為計測中的情況時(S3:false),係並不實行S4之處理,包含有程式化處理之一連串之處理係成為結束(結束)。
1.4.3暫停判定處理
圖9,係為對於在第1實施形態之變形例之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程圖。在圖9之例中,暫停判定處理之開始條件,係身為「記憶體控制器20從主機機器2而收訊讀取要求」一事或者是「計時器26之計測值係成為臨限值T1以上」一事。臨限值T1,係為正的實數。
亦即是,當從主機機器2而收訊了讀取要求的情況、或者是當計時器26之計測值成為了臨限值T1以上的情況時(開始),記憶體控制器20,係判定是否為正在進行程式化
處理中(S20)。
在並非為正在進行程式化處理中的情況時(S20:false),記憶體控制器20,係使非揮發性記憶體10實行基於所收訊了的讀取要求所致之讀取處理(S21)。若是S21之處理結束,則包含有暫停判定處理之一連串之處理係成為結束(結束)。
當身為正在進行程式化處理中的情況時(S20:true),記憶體控制器20,係判定是否滿足暫停條件(S22)。在圖9之例中之暫停條件,係為「指令佇列25內之讀取要求係為臨限值N個以上」或者是「計時器26之計測值係為臨限值T1以上」。
當指令佇列25內之讀取要求係並非為臨限值N個以上,並且計時器26之計測值係為未滿臨限值T1的情況時(S22:false),記憶體控制器20,係擱置程式化處理之暫停。亦即是,記憶體控制器20,係並不將程式化處理暫停。之後,記憶體控制器20,係判定在指令佇列25內之讀取要求是否為1個,並且計時器26是否為停止中(S23)。
當在指令佇列25內之讀取要求係並非為1個、或者是計時器26並非為停止中的情況時(S23:false),包含有暫停判定處理之一連串之處理係成為結束(結束)。
當在指令佇列25內之讀取要求係為1個,並且計時器26係為停止中的情況時(S23:true),記憶體控制器20,係使計時器26開始(S24)。
若是S24之處理結束,則計時器26係維持為計測中之
狀態,並且包含有暫停判定處理之一連串之處理係成為結束(結束)。
當指令佇列25內之讀取要求係為臨限值N個以上、或者是當計時器26之計測值係為臨限值T1以上的情況時(S22:true),記憶體控制器20,係使計時器26停止(S25)。
在使計時器26停止之後,記憶體控制器20,係使非揮發性記憶體10實行暫停處理(S26)。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S27)。
在每次S27之處理結束時,記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S28)。
當在指令佇列25內仍然存在有讀取要求的情況時(S28:true),記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S27)。藉由此,S27以及S28之處理係被反覆進行,直到與指令佇列25內之所有的讀取要求相對應之讀取處理被實行為止。
當在指令佇列25內係並不存在有讀取要求的情況時(S28:false),記憶體控制器20,係使非揮發性記憶體10實行回復處理(S29)。
若是S29之處理結束,則計時器26係維持為計測中之狀態,並且包含有暫停判定處理之一連串之處理係成為結束(結束)。
1.4.4在伴隨著暫停判定處理之程式化處理中的狀態變遷
圖10,係為對於第1實施形態之變形例之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖10之例中,係針對起因於「指令佇列25內之讀取要求數到達臨限值N個之前,計時器26之計測值便到達了臨限值T1」一事而導致暫停處理被實行的情況作展示。另外,在圖10之例中,假設於時刻t20之前,記憶體系統3之狀態係身為無待機讀取要求狀態STS11。又,假設於時刻t20之前,計時器26係身為停止中之狀態。
如同圖10中所示一般,在時刻t20處,記憶體控制器20,係使非揮發性記憶體10實行程式化處理。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t21處,記憶體控制器20,係收訊第1讀取要求。藉由此,指令佇列25內之讀取要求數,係成為未滿臨限值N個的1個。因此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。又,記憶體控制器20,係因應於第1讀取要求之收訊,而使計時器26開始。
在時刻t22處,計時器26之計測值係到達臨限值T1。記憶體控制器20,係使計時器26停止。之後,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t23處,記憶體控制器20,係收訊第2讀取要
求。藉由此,指令佇列25內之讀取要求數,係成為2個。記憶體系統3,係維持為暫停處理中狀態STS31。
在時刻t24處,暫停處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行第1讀取處理。伴隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t25處,第1讀取處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行第2讀取處理。記憶體系統3,係維持為讀取處理中狀態STS32。
在時刻t26處,第2讀取處理係結束。記憶體控制器20,係在確認到指令佇列25內之讀取要求數為0個之後,使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t27處,回復處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10再度開始程式化處理。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t28處,程式化處理係結束。之後,記憶體控制器20,係藉由狀態讀取處理來對於資料是否被並未發生問題地而寫入至了非揮發性記憶體10中一事作確認。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS11。
1.4.5第1實施形態之變形例之效果
若依據第1實施形態之變形例,則記憶體控制器20,
係因應於在指令佇列25內被記憶有第1個的讀取要求一事,而使計時器26開始。當計時器26之計測值到達了臨限值T1的情況時,記憶體控制器20,係不論指令佇列25內之讀取要求數是否為臨限值N個以上,均實行暫停處理。藉由此,收訊了讀取要求之記憶體控制器20,係能夠以臨限值T1以內之期間來使暫停處理開始。因此,係能夠發揮在第1實施形態中所作了說明的效果,並且也能夠對於在並未收訊第2個以後的讀取要求的情況時之讀取延遲之增加作抑制。
2.第2實施形態
接著,針對第2實施形態之記憶體系統進行說明。第2實施形態,係禁止進行暫停處理,直到計時器26之計測值到達臨限值為止,在此點上,係與第1實施形態相異。亦即是,在第2實施形態中,計時器26,係對於從程式化處理開始時起的經過時間以及從回復處理結束起的經過時間作計測。在以下之說明中,針對與第1實施形態之變形例同等之構成以及動作,係省略其說明,並主要針對與第1實施形態之變形例相異之構成以及動作作說明。
2.1程式化處理
圖11,係為對於在第2實施形態之記憶體系統處之包含有程式化處理之一連串的處理之其中一例作展示之流程圖。
若是程式化條件被滿足(開始),則記憶體控制器20,係使計時器26開始(S0)。
在使計時器26之計測開始之後,記憶體控制器20,係使非揮發性記憶體10實行伴隨有暫停判定處理之程式化處理(S1)。
另外,使計時器26開始之時序和使伴隨有暫停判定處理之程式化處理開始之時序,係亦可為同時。亦即是,計時器26,係亦可從伴隨有暫停判定處理之程式化處理的開始時間點起而開始計測。計時器26,係亦可從對於非揮發性記憶體10內之頁面緩衝的資料進入(data in)處理之開始時間點起而開始計測。計時器26,係亦可從對於非揮發性記憶體10內之頁面緩衝的資料進入處理之結束時間點起而開始計測。
步驟S2之後之處理,由於係與參考圖8所說明了的第1實施形態之變形例之處理同等,因此係省略說明。
2.2第1暫停判定處理
首先,針對第1暫停判定處理進行說明。第1暫停判定處理,係為直到在程式化處理中之第1次之暫停處理為止所被實行之暫停判定處理。
圖12,係為對於在第2實施形態之記憶體系統處之包含有第1暫停判定處理之一連串的處理之其中一例作展示之流程圖。在圖12之例中,第1暫停判定處理之開始條件,係身為「在程式化處理中的第1次之計測中,記憶體
控制器20從主機機器2而收訊讀取要求」一事或者是「計時器26之計測值係成為臨限值T2以上」一事。臨限值T2,係為正的實數。
亦即是,當在程式化處理中之第1次的計測中,從主機機器2而收訊了讀取要求、或者是計時器26之計測值成為了臨限值T2以上的情況時(開始),記憶體控制器20,係判定第1暫停條件是否被滿足(S30)。在圖12之例中之第1暫停條件,係為「於指令佇列25內存在有讀取要求,並且計時器26之計測值係為臨限值T2以上」。
當於指令佇列25內存在有讀取要求,並且計時器26之計測值係為臨限值T2以上的情況時(S30:true),記憶體控制器20,係使計時器26停止(S31)。
在使計時器26停止之後,記憶體控制器20,係使非揮發性記憶體10實行在程式化處理中之第1次的暫停處理(S32)。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S33)。
在每次S33之處理結束時,記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S34)。
當在指令佇列25內仍然存在有讀取要求的情況時(S34:true),記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S33)。藉由此,S33以及S34之處理係被反覆進行,直到與指令佇列25內之所
有的讀取要求相對應之讀取處理被實行為止。
當在指令佇列25內係並不存在有讀取要求的情況時(S34:false),記憶體控制器20,係使非揮發性記憶體10實行回復處理(S35)。
若是回復處理結束,則記憶體控制器20,係使計時器26開始(S36)。
若是S36之處理結束,則計時器26係維持為計測中之狀態,並且包含有第1暫停判定處理之一連串之處理係成為結束(結束)。
當在指令佇列25內並不存在有讀取要求、或者是計時器26之計測值係為未滿T2的情況時(S30:false),記憶體控制器20,係擱置程式化處理之暫停。亦即是,記憶體控制器20,係並不將程式化處理暫停。因此,計時器26係維持為計測中之狀態,並且包含有第1暫停判定處理之一連串之處理係成為結束(結束)。
2.3在伴隨著第1暫停判定處理之程式化處理中的狀態變遷
圖13,係為對於第2實施形態之記憶體系統之在伴隨著第1暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖13之例中,係針對起因於「在第1次的計測中,於在指令佇列25內被記憶有讀取要求之後,計時器26之計測值到達了臨限值T2」一事而導致暫停處理被實行的情況作展示。另外,在圖13之例中,假設於時刻t30之前,記憶體系統3之狀態係身為無待機讀取要求
狀態STS11。
如同圖13中所示一般,在時刻t30處,記憶體控制器20,係使非揮發性記憶體10實行程式化處理。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。又,記憶體控制器20,係從程式化處理之開始起,使計時器26開始。
在時刻t31處,記憶體控制器20,係收訊第1讀取要求。藉由此,指令佇列25內之讀取要求數,係成為1個。然而,由於計時器26之計測值係為未滿臨限值T2,因此,記憶體控制器20,係擱置程式化處理之暫停。因此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。
在時刻t32處,記憶體控制器20,係收訊第2讀取要求。藉由此,指令佇列25內之讀取要求數,係成為2個。然而,由於計時器26之計測值係為未滿臨限值T2,因此,記憶體系統3,係維持於暫停處理擱置中狀態STS22。
在時刻t33處,計時器26之計測值係到達臨限值T2。記憶體控制器20,係使計時器26停止。之後,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t34處,暫停處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行基於第1讀取要求所致之讀取處理(第1讀取處理)。伴隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t35處,第1讀取處理係結束。之後,
記憶體控制器20,係使非揮發性記憶體10實行基於第2讀取要求所致之讀取處理(第2讀取處理)。記憶體系統3,係維持為讀取處理中狀態STS32。
在時刻t36處,第2讀取處理係結束。記憶體控制器20,係在確認到指令佇列25內之讀取要求數為0個之後,使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t37處,回復處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10再度開始程式化處理。又,記憶體控制器20,係使計時器26開始。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
2.4第2暫停判定處理
接著,針對第2暫停判定處理進行說明。第2暫停判定處理,係為在程式化處理中之第2次以後的暫停處理中所被實行之暫停判定處理。
圖14,係為對於在第2實施形態之記憶體系統處之包含有第2暫停判定處理之一連串的處理之其中一例作展示之流程圖。在圖14之例中,第2暫停判定處理之開始條件,係身為「在程式化處理中的第2次以後之計測中,記憶體控制器20從主機機器2而收訊讀取要求、或者是計時器26之計測值係成為臨限值T3以上」一事。臨限值T3,係為正的實數。臨限值T3,係亦可與臨限值T2相等。臨限值T3,係亦可與臨限值T2相異。
亦即是,當在程式化處理中之第2次以後的計測中,從主機機器2而收訊了讀取要求、或者是計時器26之計測值成為了臨限值T3以上的情況時(開始),記憶體控制器20,係判定第2暫停條件是否被滿足(S40)。在圖14之例中之第2暫停條件,係為「於指令佇列25內存在有讀取要求,並且計時器26之計測值係為臨限值T3以上」。
當於指令佇列25內存在有讀取要求,並且計時器26之計測值係為臨限值T3以上的情況時(S40:true),記憶體控制器20,係使計時器26停止(S41)。
在使計時器26停止之後,記憶體控制器20,係使非揮發性記憶體10實行在程式化處理中之第2次以後的暫停處理(S42)。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S43)。
在每次S43之處理結束時,記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S44)。
當在指令佇列25內仍然存在有讀取要求的情況時(S44:true),記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S43)。藉由此,S43以及S44之處理係被反覆進行,直到與指令佇列25內之所有的讀取要求相對應之讀取處理被實行為止。
當在指令佇列25內係並不存在有讀取要求的情況時(S44:false),記憶體控制器20,係使非揮發性記憶體10
實行回復處理(S45)。
若是回復處理結束,則記憶體控制器20,係使計時器26開始(S46)。
若是S46之處理結束,則計時器26係維持為計測中之狀態,並且包含有第2暫停判定處理之一連串之處理係成為結束(結束)。
當在指令佇列25內並不存在有讀取要求、或者是計時器26之計測值係為未滿T3的情況時(S40:false),記憶體控制器20,係擱置程式化處理之暫停。亦即是,記憶體控制器20,係並不將程式化處理暫停。因此,計時器26係維持為計測中之狀態,並且包含有第2暫停判定處理之一連串之處理係成為結束(結束)。
2.5在伴隨著第2暫停判定處理之程式化處理中的狀態變遷
圖15,係為對於第2實施形態之記憶體系統之在伴隨著第2暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖15之例中,係作為圖13之例之後續而展示有時刻t37以後的處理之其中一例。在圖15之例中,係針對起因於「在第2次的計測中,於在指令佇列25內被記憶有讀取要求之後,計時器26之計測值到達了臨限值T3」一事而導致暫停處理被實行的情況作展示。
如同圖15中所示一般,在時刻t38處,記憶體控制器20,係收訊在程式化處理中之第3個的讀取要求(第3讀取要求)。藉由此,指令佇列25內之讀取要求數,係成為1
個。然而,由於計時器26之計測值係為未滿臨限值T3,因此,記憶體控制器20,係擱置程式化處理之暫停。藉由此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。
在時刻t39處,記憶體控制器20,係收訊在程式化處理中之第4個的讀取要求(第4讀取要求)。藉由此,指令佇列25內之讀取要求數,係成為2個。然而,由於計時器26之計測值係為未滿臨限值T3,因此,記憶體系統3,係維持於暫停處理擱置中狀態STS22。
在時刻t40處,計時器26之計測值係到達臨限值T3。記憶體控制器20,係使計時器26停止。之後,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t41處,暫停處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行基於第3讀取要求所致之讀取處理(第3讀取處理)。伴隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t42處,第3讀取處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行基於第4讀取要求所致之讀取處理(第4讀取處理)。記憶體系統3,係維持為讀取處理中狀態STS32。
在時刻t43處,第4讀取處理係結束。記憶體控制器20,係在確認到指令佇列25內之讀取要求數為0個之後,使非揮發性記憶體10實行回復處理。伴隨於此,記
憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t44處,回復處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10再度開始程式化處理。又,記憶體控制器20,係使計時器26開始。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t45處,程式化處理係結束。之後,記憶體控制器20,係藉由狀態讀取處理來對於資料是否被並未發生問題地而寫入至了非揮發性記憶體10中一事作確認。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS11。
2.6第2實施形態之效果
若依據第2實施形態,則記憶體控制器20,係將暫停處理擱置,直到從程式化處理之開始起所經過的時間成為臨限值T2以上為止。藉由此,係能夠緊接於程式化處理的開始之後而設置暫停禁止期間。又,記憶體控制器20,係將暫停處理擱置,直到從前一次的回復處理之結束起所經過的時間成為臨限值T3以上為止。藉由此,係能夠在2個的暫停處理之間而至少設置臨限值T3之暫停禁止期間。因此,相較於在每次收訊讀取要求時便實行暫停處理的情況,係能夠對於暫停處理被以高頻率而反覆進行的情形作抑制。故而,相較於在每次收訊讀取要求時便實行暫停處理的情況,係能夠對於寫入率的降低作抑制。
又,若依據第2實施形態,則當於指令佇列25內係存
在有讀取要求,並且計時器之計測值係為臨限值T2以上的情況時,記憶體控制器20,係實行暫停處理。藉由此,記憶體控制器20,係若是暫停條件被滿足,則便能夠並不等待程式化處理之結束地來實行讀取處理。因此,相較於在程式化處理之結束後而實行讀取處理的情況,係能夠將從收訊讀取要求起直到讀取處理之結束為止所需要的時間縮短。故而,相較於在程式化處理之結束後而實行讀取處理的情況,係能夠更加抑制讀取延遲之增加。
如此這般,若依據第2實施形態,則係能夠同時達成「相較於在每次收訊讀取要求時便將程式化處理暫停的情況而更加改善的寫入率」以及「相較於在程式化處理之結束後而實行讀取處理的情況而更加改善的讀取延遲」。故而,與第1實施形態相同的,係能夠提供一種對於寫入率以及讀取延遲之間的取捨關係作調整之手段。
另外,在第2實施形態中,雖係針對將第1暫停判定處理以及第2暫停判定處理之雙方均作實行的情況,來作了說明,但是,實施形態係並不被限定於此。例如,記憶體控制器20,係亦可實行第1暫停判定處理,而並不實行第2暫停判定處理。記憶體控制器20,係亦可實行第2暫停判定處理,而並不實行第1暫停判定處理。
2.7第2實施形態之變形例
在上述之第2實施形態中,雖係針對使記憶體控制器20設置暫停禁止期間的情況,來作了說明,但是,實施形
態係並不被限定於此。例如,記憶體控制器20,係亦可就算是在暫停禁止期間內,當指令佇列25內之讀取要求數係為臨限值以上的情況時,仍實行暫停處理。在以下之說明中,針對與第2實施形態同等之構成以及動作,係省略其說明,並主要針對與第2實施形態相異之構成以及動作作說明。
2.7.1暫停判定處理
圖16,係為對於在第2實施形態之變形例之記憶體系統處之包含有第2暫停判定處理之一連串的處理之其中一例作展示之流程圖。在圖16之例中,係針對「於參照圖14所作了說明的第2實施形態之一連串之處理中,替代S40之處理,而實行S40-1以及S40-2之處理」的情況作展示。
當於指令佇列25內而讀取要求係為臨限值N個以上的情況時(S40-1:true),記憶體控制器20,係使計時器26停止(S41)。
當於指令佇列25內而讀取要求並非為N個以上的情況時(S40-1:false),記憶體控制器20,係判定「是否在指令佇列25內存在有讀取要求,並且計時器26之計測值係為臨限值T3以上」(S40-2)。
當於指令佇列25內存在有讀取要求,並且計時器26之計測值係為臨限值T3以上的情況時(S40-2:true),記憶體控制器20,係使計時器26停止(S41)。
當在指令佇列25內並不存在有讀取要求、或者是計時
器26之計測值為未滿臨限值T3的情況時(S40-2:false),計時器26係維持為計測中之狀態,並且包含有第2暫停判定處理之一連串之處理係成為結束(結束)。
步驟S42之後之處理,由於係與圖14中之S42以後之處理同等,因此係省略說明。
2.7.2在伴隨著第2暫停判定處理之程式化處理中的狀態變遷
圖17,係為對於第2實施形態之變形例之記憶體系統之在伴隨著第2暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖17之例中,與圖15之例相同的,係作為圖13之例之後續而展示有時刻t37以後的處理之其中一例。在圖17之例中,係針對起因於「在第2次之計測中而指令佇列25內之讀取要求數到達臨限值N(=2)個」一事,而在計時器26之計測值到達臨限值T3之前暫停處理便被實行的情況作展示。
如同圖17中所示一般,在時刻t38處,記憶體控制器20,係收訊第3讀取要求。藉由此,指令佇列25內之讀取要求數,係成為未滿臨限值N個的1個。因此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。
在時刻t39處,記憶體控制器20,係收訊第4讀取要求。藉由此,指令佇列25內之讀取要求數,係成為2個。此時,計時器26之計測值雖然係未滿臨限值T3,但是,讀取要求數係成為臨限值N個以上。因此,記憶體控制器20,係使計時器26停止。之後,記憶體控制器20,係使非
揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t40處,計時器26之計測值係到達臨限值T3。另外,時刻t41’~t45’之處理,係使與圖15中之時刻t41~t45同等之處理作期間△T(=t40-t39)之提早地而被實行。之後,記憶體控制器20,係藉由狀態讀取處理來對於資料是否被並未發生問題地而寫入至了非揮發性記憶體10中一事作確認。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS11。
2.7.3第2實施形態之變形例之效果
若依據第2實施形態之變形例,則記憶體控制器20,係不論計時器26之計測值是否為臨限值T3以上,均在指令佇列25內之讀取要求數成為了臨限值N個以上的時間點處而實行暫停處理。藉由此,係能夠對於寫入率以及讀取延遲之間的取捨關係,並且對於讀取延遲之增加作抑制。
另外,在第2實施形態之變形例中,雖係針對「對於在第2實施形態中之第2暫停判定處理而追加關連於讀取要求數之判定處理」的情況,來作了說明,但是,實施形態係並不被限定於此。例如,係亦可對於在第2實施形態中之第1暫停判定處理,而追加關連於讀取要求數之判定處理。亦即是,記憶體控制器20,係亦可構成為:無關於以程式化處理之開始作為起點的暫停禁止期間之經過的有無,而若是在指令佇列25內累積了N個以上的讀取要求,
則使非揮發性記憶體10實行暫停處理。如此這般,就算是在使計時器26對於從程式化處理之開始起的經過時間作計測的情況時,也能夠發揮與第2實施形態之變形例同等之效果。
3.第3實施形態
接著,針對第3實施形態之記憶體系統進行說明。第3實施形態,係以「在程式化處理被暫停的期間中,將對於非揮發性記憶體10而並行地被實行之讀取處理積極地實行」的方式,來對於暫停處理之實行時序作控制,在此點上,係與第1實施形態以及第2實施形態相異。在以下之說明中,針對與第1實施形態同等之構成以及動作,係省略其說明,並主要針對與第1實施形態相異之構成以及動作作說明。
3.1非揮發性記憶體之構成
圖18,係為對於第3實施形態的非揮發性記憶體之構成之其中一例作展示之區塊圖。如同圖18中所示一般,非揮發性記憶體10,係包含有複數之平面(plane)PB(PB0、…、PBm)(m為1以上之整數)。複數之平面PB之各者,係包含有複數之記憶體胞電晶體。複數之平面PB,係可相互平行地動作。
3.2暫停判定處理
圖19,係為對於在第3實施形態之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程圖。與圖4之例相同的,在圖19之例中,暫停判定處理之開始條件,係身為「記憶體控制器20從主機機器2而收訊讀取要求」一事。
步驟S50以及S51之處理,由於係與圖4中之S10以及S11之處理同等,因此係省略說明。
當身為正在進行程式化處理中的情況時(S50:true),記憶體控制器20,係判定是否滿足暫停條件(S52)。在圖19之例中之暫停條件,係為「針對相異之M個的平面PB之讀取要求係分別在指令佇列25內而存在有臨限值L個以上」。數“M”,係為2以上(m+1)以下的整數(2≦M≦m+1)。數“M”,係能夠與在非揮發性記憶體10中所包含之平面數(m+1)相等,亦可為與平面數(m+1)相異。臨限值L,係為1以上的整數(L≧1)。
當針對M個之中之至少1個的平面PB之讀取要求係在指令佇列25內而並不存在有臨限值L個以上的情況時(S52:false),記憶體控制器20,係擱置程式化處理之暫停。亦即是,記憶體控制器20,係並不將程式化處理暫停。藉由此,包含有暫停判定處理之一連串之處理係成為結束(結束)。
當針對相異之M個的平面PB之讀取要求係分別在指令佇列25內而存在有臨限值L個以上的情況時(S52:true),記憶體控制器20,係使非揮發性記憶體10實
行暫停處理(S53)。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S54)。非揮發性記憶體10,係將針對相異之M個平面的讀取處理並行地實行。
在每次S54之處理結束時,記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S55)。
當在指令佇列25內仍然存在有讀取要求的情況時(S55:true),記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S54)。當在指令佇列25內存在有對於至少2個以上的平面PB之讀取要求的情況時,記憶體控制器20,係亦可將對於2個以上的平面PB之讀取處理並行地實行。當在指令佇列25內僅存在有對於1個的平面PB之讀取要求的情況時,非揮發性記憶體10,係亦可實行對於1個的平面PB之讀取處理。藉由此,S54以及S55之處理係被反覆進行,直到與指令佇列25內之所有的讀取要求相對應之讀取處理被實行為止。
當在指令佇列25內係並不存在有讀取要求的情況時(S55:false),記憶體控制器20,係使非揮發性記憶體10實行回復處理(S56)。
若是S56之處理結束,則包含有暫停判定處理之一連串之處理係成為結束(結束)。
3.3在伴隨著暫停判定處理之程式化處理中的狀態變遷
圖20,係為對於第3實施形態之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖20之例中,係顯示有臨限值L為1並且數“M”為2的情況。另外,在圖20之例中,假設於時刻t50之前,記憶體系統3之狀態係身為無待機讀取要求狀態STS11。
如同圖20中所示一般,在時刻t50處,記憶體控制器20,係對於非揮發性記憶體10之平面PB0以及PB1而使程式化處理並行地實行。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t51處,記憶體控制器20,係收訊要求從平面PB0之讀取的第1讀取要求(PB0)。藉由此,指令佇列25內之讀取要求數,係對於平面PB0而成為臨限值L(=1)個。然而,指令佇列25內之讀取要求數,係對於平面PB1而成為未滿臨限值L(=1)個之0個。因此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。
在時刻t52處,記憶體控制器20,係收訊要求從平面PB1之讀取的第2讀取要求(PB1)。藉由此,指令佇列25內之讀取要求數,係對於平面PB0以及平面PB1之各者而成為臨限值L(=1)個。因此,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t53處,暫停處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行對於平面PB0之第1讀取
處理(PB0)。又,記憶體控制器20,係與第1讀取處理(PB0)並行地,而使非揮發性記憶體10實行對於平面PB1之第2讀取處理(PB1)。伴隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t54處,第1讀取處理(PB0)以及第2讀取處理(PB1)係結束。記憶體控制器20,係在確認到指令佇列25內之讀取要求數為0個之後,使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t55處,回復處理係結束。之後,記憶體控制器20,係使對於非揮發性記憶體10之平面PB0以及PB1之並行的程式化處理再度開始。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t56處,程式化處理係結束。之後,記憶體控制器20,係藉由狀態讀取處理來對於資料是否被並未發生問題地而寫入至了非揮發性記憶體10中一事作確認。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS11。
3.4第3實施形態之效果
若依據第3實施形態,則記憶體控制器20,係將暫停處理擱置,直到指令佇列25內之對於互為相異之M個的平面PB之讀取要求之數量分別成為臨限值L個以上為止。藉由此,記憶體控制器20,係能夠在1次的程式化處理之暫
停中,將對於M個的平面PB之各者之臨限值L個以上的讀取處理整批地實行。因此,相較於在每次收訊對於1個的平面PB之讀取要求時便將程式化處理暫停的情況,係能夠將暫停處理以及回復處理的次數降低。故而,相較於在每次收訊對於1個的平面PB之讀取要求時便將程式化處理暫停的情況,係能夠將累積系統開銷(overhead)減少,並且能夠對於寫入率的降低作抑制。
又,若依據第3實施形態,則當指令佇列25內之對於互為相異之M個的平面PB之讀取要求之數量分別為臨限值L個以上的情況時,記憶體控制器20,係實行暫停處理。藉由此,記憶體控制器20,係若是暫停條件被滿足,則便能夠並不等待程式化處理之結束地來實行讀取處理。因此,相較於在程式化處理之結束後而實行讀取處理的情況,係能夠將從收訊讀取要求起直到讀取處理之結束為止所需要的時間縮短。故而,相較於在程式化處理之結束後而實行讀取處理的情況,係能夠更加抑制讀取延遲之增加。
如此這般,若依據第3實施形態,則係能夠同時達成「相較於在每次收訊讀取要求時便將程式化處理暫停的情況而更加改善的寫入率」以及「相較於在程式化處理之結束後而實行讀取處理的情況而更加改善的讀取延遲」。故而,係能夠提供一種對於寫入率以及讀取延遲之間的取捨關係作調整之手段。
在每次收訊對於1個的平面PB之讀取要求時便將程式
化處理暫停的情況時,於M個的平面PB處,係存在有實行讀取處理之平面PB和並不實行讀取處理之平面PB的雙方。並不實行讀取處理之平面PB,係成為待機狀態,直到其他之平面PB之讀取處理結束為止。此事,係會成為導致非揮發性記憶體10之動作率降低的重要因素,而並不理想。若依據第3實施形態,則在程式化處理之1次的暫停中,係將由M個的平面PB所致之並行之讀取處理至少實行L次。因此,係能夠對於非揮發性記憶體10之動作率的降低作抑制。
3.5第3實施形態之第1變形例
在上述之第3實施形態中,雖係針對使記憶體控制器20將暫停處理擱置直到在指令佇列25內對於M個的平面PB之各者而分別積蓄有臨限值L個以上的讀取要求為止的情況,來作了說明,但是,實施形態係並不被限定於此。例如,記憶體控制器20,係亦可如同第1實施形態之變形例一般地,基於從第1個的讀取要求之收訊起所經過的時間,來對於將暫停處理作擱置的期間作控制。亦即是,在第3實施形態之第1變形例中,計時器26,係針對從「起因於收訊了讀取要求一事而記憶體系統3之狀態成為暫停處理擱置中狀態STS22」起的經過時間作計測。在以下之說明中,針對與第1實施形態之變形例以及第3實施形態同等之構成以及動作,係省略其說明,並主要針對與第1實施形態之變形例以及第3實施形態相異之構成以及動作作說
明。
3.5.1暫停判定處理
圖21,係為對於在第3實施形態之第1變形例之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程圖。在圖21之例中,與圖9之例相同的,暫停判定處理之開始條件,係身為「記憶體控制器20從主機機器2而收訊讀取要求」一事或者是「計時器26之計測值係成為臨限值T1以上」一事。
步驟S60以及S61之處理,由於係與圖9中之S20以及S21之處理同等,因此係省略說明。
當身為正在進行程式化處理中的情況時(S60:true),記憶體控制器20,係判定是否滿足暫停條件(S62)。在圖21之例中之暫停條件,係為「針對相異之M個的平面PB之讀取要求係分別在指令佇列25內而存在有臨限值L個以上」、或者是「計時器26之計測值係為臨限值T1以上」。
當針對至少1個的平面PB之讀取要求係並不存在有臨限值L個以上,並且計測值係為未滿臨限值T1的情況時(S62:false),記憶體控制器20,係擱置程式化處理之暫停。亦即是,記憶體控制器20,係並不將程式化處理暫停。之後,記憶體控制器20,係判定在指令佇列25內之讀取要求是否為1個,並且計時器26是否為停止中(S63)。
當在指令佇列25內之讀取要求係為1個,並且計時器
26係為停止中的情況時(S63:true),記憶體控制器20,係使計時器26開始(S64)。
若是S64之處理結束,則計時器26係維持為計測中之狀態,並且包含有暫停判定處理之一連串之處理係成為結束(結束)。
當對於M個的平面PB之讀取要求係分別為臨限值L個以上、或者是當計時器26之計測值係為臨限值T1以上的情況時(S62:true),記憶體控制器20,係使計時器26停止(S65)。
在使計時器26停止之後,記憶體控制器20,係使非揮發性記憶體10實行暫停處理(S66)。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S67)。當在指令佇列25內存在有對於至少2個以上的平面PB之讀取要求的情況時,記憶體控制器20,係亦可將對於2個以上的平面PB之讀取處理並行地實行。當在指令佇列25內僅存在有對於1個的平面PB之讀取要求的情況時,記憶體控制器20,係亦可實行對於1個的平面PB之讀取處理。
在每次S67之處理結束時,記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S68)。
當在指令佇列25內仍然存在有讀取要求的情況時(S68:true),記憶體控制器20,係使非揮發性記憶體10實
行基於讀取要求所致之讀取處理(S67)。當在指令佇列25內存在有對於至少2個以上的平面PB之讀取要求的情況時,記憶體控制器20,係亦可將對於2個以上的平面PB之讀取處理並行地實行。當在指令佇列25內僅存在有對於1個的平面PB之讀取要求的情況時,非揮發性記憶體10,係亦可實行對於1個的平面PB之讀取處理。藉由此,S67以及S68之處理係被反覆進行,直到與指令佇列25內之所有的讀取要求相對應之讀取處理被實行為止。
當在指令佇列25內係並不存在有讀取要求的情況時(S68:false),記憶體控制器20,係使非揮發性記憶體10實行回復處理(S69)。
若是S69之處理結束,則計時器26係維持為計測中之狀態,並且包含有暫停判定處理之一連串之處理係成為結束(結束)。
3.5.2在伴隨著暫停判定處理之程式化處理中的狀態變遷
圖22,係為對於第3實施形態之第1變形例之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖22之例中,係針對起因於「在對於M個的平面PB之讀取要求數分別到達臨限值L個之前,計時器26之計測值便到達了臨限值T1」一事而導致暫停處理被實行的情況作展示。在圖22之例中,係顯示有臨限值L為1並且數“M”為2的情況。另外,在圖22之例中,假設於時刻t60之前,記憶體系統3之狀態係身為無待
機讀取要求狀態STS11。
如同圖22中所示一般,在時刻t60處,記憶體控制器20,係對於非揮發性記憶體10之平面PB0以及PB1而使程式化處理並行地實行。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t61處,記憶體控制器20,係收訊第1讀取要求(PB0)。藉由此,指令佇列25內之讀取要求數,係對於平面PB0而成為L(=1)個。然而,指令佇列25內之讀取要求數,係對於平面PB1而成為未滿臨限值L(=1)個之0個。因此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。記憶體控制器20,係因應於第1讀取要求(PB0)之收訊,而使計時器26開始。
在時刻t62處,計時器26之計測值係到達臨限值T1。記憶體控制器20,係使計時器26停止。之後,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t63處,維持於並未收訊對於平面PB1之讀取要求的狀態地,暫停處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行第1讀取處理(PB0)。伴隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t64處,第1讀取處理(PB0)係結束。記憶體控制器20,係在確認到指令佇列25內之讀取要求數為0個之後,使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t65處,回復處理係結束。之後,記憶體控制器20,係使對於非揮發性記憶體10之平面PB0以及PB1之並行的程式化處理再度開始。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t66處,程式化處理係結束。之後,記憶體控制器20,係藉由狀態讀取處理來對於資料是否被並未發生問題地而寫入至了非揮發性記憶體10中一事作確認。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS11。
3.5.3第3實施形態之第1變形例之效果
若依據第3實施形態之第1變形例,則記憶體控制器20,係因應於在指令佇列25內從成為無待機讀取要求狀態STS11起而被記憶有第1個的讀取要求一事,而使計時器26開始。當計時器26之計測值到達了臨限值T1的情況時,記憶體控制器20,係不論指令佇列25內之對於M個的平面PB之讀取要求數是否分別為臨限值L個以上,均實行暫停處理。藉由此,收訊了讀取要求之記憶體控制器20,係能夠以臨限值T1以內之期間來實行暫停處理。因此,係能夠發揮在第3實施形態中所作了說明的效果,並且也能夠對於在並未收訊第2個以後的讀取要求的情況時之讀取延遲之增加作抑制。
3.6第3實施形態之第2變形例
記憶體控制器20,係亦可無關於是否收訊有對於M個的平面PB之各者之讀取要求地,而基於未實行之讀取要求之總數,來對於將暫停處理作擱置的期間作控制。在以下之說明中,針對與第3實施形態同等之構成以及動作,係省略其說明,並主要針對與第3實施形態相異之構成以及動作作說明。
3.6.1暫停判定處理
圖23,係為對於在第3實施形態之第2變形例之記憶體系統處之包含有暫停判定處理之一連串的處理之其中一例作展示之流程圖。與圖19之例相同的,在圖23之例中,暫停判定處理之開始條件,係身為「記憶體控制器20從主機機器2而收訊讀取要求」一事。
步驟S70以及S71之處理,由於係與圖19中之S50以及S51之處理同等,因此係省略說明。
當身為正在進行程式化處理中的情況時(S70:true),記憶體控制器20,係判定是否滿足暫停條件(S72)。在圖23之例中之暫停條件,係為「針對相異之M個的平面PB之讀取要求係分別在指令佇列25內而存在有臨限值L個以上」、或者是「在指令佇列25內而讀取要求係為臨限值N個以上」。
另外,在圖18等之中,雖並未特別圖示,但是,非揮發性記憶體10,係會有具有複數之晶片的情況。於此情況,複數之晶片之各者,係包含有複數之平面PB0~PBm。
當非揮發性記憶體10為具有複數之晶片的情況時,記憶體控制器20,係針對各晶片之每一者而分別具有指令佇列25。而,在S72之處理中,記憶體控制器20,係判定在對應於判定對象之晶片的指令佇列25內,讀取要求是否為臨限值N個以上。
當針對M個之中之至少1個的平面PB之讀取要求係在指令佇列25內而並不存在有臨限值L個以上,並且指令佇列25內之讀取要求係並不存在有臨限值N個以上的情況時(S72:false),記憶體控制器20,係擱置程式化處理之暫停。亦即是,記憶體控制器20,係並不將程式化處理暫停。藉由此,包含有暫停判定處理之一連串之處理係成為結束(結束)。
當針對M個的平面PB之讀取要求係分別在指令佇列25內而存在有臨限值L個以上的情況時、或者是當指令佇列25內之讀取要求係為臨限值N個以上的情況時(S72:true),記憶體控制器20,係使非揮發性記憶體10實行暫停處理(S73)。
S74~S76之處理,由於係與圖19中之S54~S56之處理同等,因此係省略說明。
3.6.2在伴隨著暫停判定處理之程式化處理中的狀態變遷
圖24,係為對於第3實施形態之第2變形例之記憶體系統之在伴隨著暫停判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖24之例中,係針對起因於
「在對於M個的平面PB之讀取要求數分別到達臨限值L個之前,指令佇列25內之讀取要求數便到達了臨限值N個」一事而導致暫停處理被實行的情況作展示。在圖24之例中,係顯示有臨限值N為2並且臨限值L為1的情況。另外,在圖24之例中,假設於時刻t70之前,記憶體系統3之狀態係身為無待機讀取要求狀態STS11。
如同圖24中所示一般,在時刻t70處,記憶體控制器20,係對於非揮發性記憶體10之平面PB0以及PB1而使程式化處理並行地實行。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t71處,記憶體控制器20,係收訊第1讀取要求(PB0)。藉由此,指令佇列25內之讀取要求數,係對於平面PB0而成為L(=1)個。然而,指令佇列25內之讀取要求數,係對於平面PB1而成為未滿臨限值L(=1)個之0個。因此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。
在時刻t72處,記憶體控制器20,係收訊要求從平面PB0之讀取的第2讀取要求(PB0)。藉由此,指令佇列25內之讀取要求之總數,係成為臨限值N(=2)個。因此,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t73處,暫停處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行第1讀取處理(PB0)。伴
隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t74處,第1讀取處理(PB0)係結束。之後,記憶體控制器20,係使非揮發性記憶體10實行對於平面PB0之第2讀取處理(PB0)。記憶體系統3,係維持為讀取處理中狀態STS32。
在時刻t75處,第2讀取處理(PB0)係結束。記憶體控制器20,係在確認到指令佇列25內之讀取要求數為0個之後,使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t76處,回復處理係結束。之後,記憶體控制器20,係使對於非揮發性記憶體10之平面PB0以及PB1之並行的程式化處理再度開始。伴隨於此,記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t77處,程式化處理係結束。之後,記憶體控制器20,係藉由狀態讀取處理來對於資料是否被並未發生問題地而寫入至了非揮發性記憶體10中一事作確認。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS11。
3.6.3第3實施形態之第2變形例之效果
若依據第3實施形態之第2變形例,則當指令佇列25內之讀取要求數到達了臨限值N個的情況時,記憶體控制器20,係不論對於M個的平面PB之讀取要求數是否分別為臨
限值L個以上,均實行暫停處理。藉由此,就算是在並未均等地收訊對於M個的平面PB之讀取要求的情況時,記憶體控制器20,亦能夠實行暫停處理。因此,係能夠發揮在第3實施形態中所作了說明的效果,並且也能夠對於在當讀取要求對象之平面PB有所偏頗的情況時之讀取延遲之增加作抑制。
4.第4實施形態
接著,針對第4實施形態之記憶體系統進行說明。第4實施形態,係為了將期間為短之暫停的次數降低,而對於實行回復處理之時序進行調整,在此點上,係與第1實施形態~第3實施形態相異。亦即是,在第4實施形態中,計時器26,係對於從暫停處理開始時或結束時起的經過時間作計測。在以下之說明中,針對與第1實施形態之變形例同等之構成以及動作,係省略其說明,並主要針對與第1實施形態之變形例相異之構成以及動作作說明。
4.1程式化處理
圖25,係為對於在第4實施形態之記憶體系統處之包含有程式化處理之一連串的處理之其中一例作展示之流程圖。
若是程式化條件被滿足(開始),則記憶體控制器20,係使非揮發性記憶體10實行伴隨有回復判定處理之程式化處理(S5)。回復判定處理,係身為基於是否滿足回復條件
一事來判定是否要實行回復處理的處理。藉由對於實行回復處理之時序作調整,記憶體控制器20,係能夠對於讀取延遲與寫入率之間的取捨關係作調整。
若是伴隨有回復判定處理之程式化處理結束,則記憶體控制器20,係使非揮發性記憶體10實行狀態讀取處理(S6)。
若是在S6之處理中而記憶體控制器20從非揮發性記憶體10收訊了代表程式化處理結束一事之狀態,則包含有程式化處理之一連串之處理係成為結束(結束)。
4.2回復判定處理
圖26,係為對於在第4實施形態之記憶體系統處之包含有回復判定處理之一連串的處理作展示之流程圖。包含有回復判定處理之一連串之處理,係因應於回復判定處理之開始條件而被實行。在圖26之例中,回復判定處理之開始條件,係為「暫停條件被滿足」。暫停條件,係可適用包含有在第1實施形態~第3實施形態之說明中之例的任意之暫停條件。又,暫停條件,係亦可為無條件。
若是暫停條件被滿足(開始),則記憶體控制器20,係使計時器26開始(S80)。
若是計時器26之計測開始,則記憶體控制器20,係使非揮發性記憶體10實行暫停處理(S81)。另外,記憶體控制器20,係亦可從暫停處理為結束起,而使計時器26開始。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S82)。
若是讀取處理結束,則記憶體控制器20係待機,直到從主機機器2而收訊新的讀取要求、或者是直到計時器26之計測值成為了臨限值T4以上為止(S83)。臨限值T4,係為正的實數。
若是S83之待機處理結束,則記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S84)。
當在指令佇列25內仍然存在有讀取要求的情況時(S84:true),記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S82)。藉由此,S82~S84之處理係被反覆進行,直到與指令佇列25內之所有的讀取要求相對應之讀取處理被實行為止。
當在指令佇列25內並不存在有讀取要求的情況時(S84:false),記憶體控制器20,係決定程式化處理之再度開始。之後,記憶體控制器20,係使計時器26停止(S85)。亦即是,在圖26之例中之回復條件,係為「計時器26之計測值係為臨限值T4以上,並且並不存在有未實行之讀取要求」。
在使計時器26停止之後,記憶體控制器20,係使非揮發性記憶體10實行回復處理(S86)。
若是S86之處理結束,則包含有回復判定處理之一連串之處理係成為結束(結束)。
4.3:記憶體系統之狀態變遷
圖27,係為對於第4實施形態的記憶體系統之關連於程式化處理之複數之狀態間的關係作展示之狀態變遷圖。
首先,針對記憶體系統3所能夠成為的複數之狀態作說明。
如同圖27中所示一般,記憶體系統3之關連於程式化處理之狀態,係包含有程式化準備狀態STS1、程式化繁忙狀態STS2、以及程式化暫停狀態STS3。程式化準備狀態STS1以及程式化繁忙狀態STS2,由於係與參考圖5所說明了的第1實施形態為同等,因此係省略說明。
程式化暫停狀態STS3,係除了暫停處理中狀態STS31、讀取處理中狀態STS32以及回復處理中狀態STS33之外,更進而包含有回復擱置中狀態STS34。回復處理擱置中狀態STS34,係身為將回復處理之開始作擱置之狀態。
接著,針對使各狀態作變遷的事件進行說明。
關於E1~E11以及E13之事件,由於係與參考圖5所說明了的第1實施形態為同等,因此係省略說明。
若是與指令佇列25內之所有的讀取要求相對應之讀取處理結束(E12A),則記憶體系統3,係變遷至回復處理擱置中狀態STS34。若是在回復處理擱置中狀態STS34中而從主機機器2更進一步收訊讀取要求(E14),則記憶體系統3,係變遷至讀取處理中狀態STS32。當回復條件並未被滿
足的情況時(E15),記憶體系統3,係維持為回復處理擱置中狀態STS34。若是在回復處理擱置中狀態STS34中而回復條件被滿足(E16),則記憶體系統3,係變遷至回復處理中狀態STS33。
4.4在伴隨著回復判定處理之程式化處理中的狀態變遷
圖28,係為對於第4實施形態之記憶體系統之在伴隨著回復判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖28之例中,係針對「在程式化處理之暫停期間中,於第1次的讀取處理結束之後,在計時器26之計測值到達臨限值T4之前,收訊第2個的讀取處理」的情況作展示。
如同圖28中所示一般,在時刻t80處,記憶體控制器20,係收訊第1讀取要求。伴隨於此,記憶體系統3之狀態,係從無待機讀取要求狀態STS21而成為暫停處理擱置中狀態STS22。
在時刻t81處,因應於暫停條件被滿足一事,記憶體控制器20,係使計時器26開始。又,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。另外,記憶體控制器20,係亦可從暫停處理為結束起,而使計時器26開始。
在時刻t82處,暫停處理係結束。記憶體控制器20,係使非揮發性記憶體10實行第1讀取處理。伴隨於此,記
憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t83處,第1讀取處理係結束。伴隨於此,記憶體系統3之狀態,係成為回復處理擱置中狀態STS34。
在時刻t84處,記憶體控制器20,係收訊第2讀取要求。在此時間點處,計時器26之計測值係為未滿臨限值T4。因此,記憶體控制器20,係使非揮發性記憶體10實行第2讀取處理。伴隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t85處,第2讀取處理係結束。伴隨於此,記憶體系統3之狀態,係成為回復處理擱置中狀態STS34。
在時刻t86處,計時器26之計測值係到達臨限值T4。記憶體控制器20,係使計時器26停止。之後,記憶體控制器20,係使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t87處,回復處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10再度開始程式化處理。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS21。
4.5第4實施形態之效果
若依據第4實施形態,則記憶體控制器20,係無關於在指令佇列25內是否存在有讀取要求地,而將回復處理擱置,直到從暫停處理之開始或者是結束起的經過時間成為
臨限值T4以上為止。藉由此,係能夠設置對於「在指令佇列25內之讀取要求消失之後,回復處理立即被實行」的情形作抑制之回復禁止期間。因此,因應於在「從於程式化處理之暫停期間中而指令佇列25內之讀取要求消失起直到計時器26之計測值到達臨限值T4為止的期間中」所收訊了的讀取要求,記憶體控制器20,係能夠於同一之暫停期間中而實行讀取處理。如此這般,若依據第4實施形態,則相較於「在指令佇列25內之讀取要求消失之後,立即實行回復處理」的情況,係能夠對於在1次的程式化處理中所發生之暫停之次數的增加作抑制。故而,主要係能夠對於在程式化處理之暫停中之第2次以後所被實行的讀取處理之讀取延遲之增加作抑制。
若依據第4實施形態,則藉由對於臨限值T4適當地作設定,係能夠將回復處理擱置中狀態STS34之期間,設為較當「在指令佇列25內之讀取要求消失之後,立即實行回復處理」的情況時之累積系統開銷而更短。藉由此,係能夠對於寫入率的降低作抑制。
回復判定處理,係能夠被與暫停判定處理相互獨立地實行。因此,係能夠將第4實施形態和第1實施形態~第3實施形態作組合。故而,係能夠發揮第1實施形態~第3實施形態之效果,並且也能夠發揮第4實施形態之效果。
4.6第4實施形態之變形例
在上述之第4實施形態中,雖係針對使記憶體控制器
20基於從暫停處理之開始或者是結束起的經過時間來對於將回復處理作擱置的期間作控制的情況,來作了說明,但是,實施形態係並不被限定於此。例如,記憶體控制器20,係亦可基於從在暫停處理中之讀取要求之結束起所經過的時間,來對於將回復處理作擱置的期間作控制。亦即是,在第4實施形態之變形例中,計時器26,係針對從「當記憶體系統3之狀態係身為程式化暫停狀態STS3時所被實行的讀取處理之結束」起的經過時間作計測。在以下之說明中,針對與第4實施形態同等之構成以及動作,係省略其說明,並主要針對與第4實施形態相異之構成以及動作作說明。
4.6.1回復判定處理
圖29,係為對於在第4實施形態之變形例之記憶體系統處之包含有回復判定處理之一連串的處理作展示之流程圖。
若是暫停條件被滿足(開始),則記憶體控制器20,係使非揮發性記憶體10實行暫停處理(S90)。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S91)。
若是讀取處理結束,則記憶體控制器20,係使計時器26開始(S92)。
若是計時器26之計測開始,則記憶體控制器20係待
機,直到從主機機器2而收訊新的讀取要求、或者是直到計時器26之計測值成為了臨限值T5以上為止(S93)。臨限值T5,係為正的實數。
若是S93之待機處理結束,則記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S94)。
當於指令佇列25內仍存在有讀取要求的情況時(S94:true),記憶體控制器20,係使計時器26停止(S95)。
在使計時器26停止之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S91)。藉由此,S91~S95之處理係被反覆進行,直到與指令佇列25內之所有的讀取要求相對應之讀取處理被實行為止。
當在指令佇列25內並不存在有讀取要求的情況時(S94:false),記憶體控制器20,係決定程式化處理之再度開始。之後,記憶體控制器20,係使計時器26停止(S96)。亦即是,在圖29之例中之回復條件,係為「計時器26之計測值係為臨限值T5以上,並且並不存在有未實行之讀取要求」。
在使計時器26停止之後,記憶體控制器20,係使非揮發性記憶體10實行回復處理(S97)。
若是S97之處理結束,則包含有回復判定處理之一連串之處理係成為結束(結束)。
4.6.2在伴隨著回復判定處理之程式化處理中的狀態變遷
圖30,係為對於第4實施形態之變形例之記憶體系統之在伴隨著回復判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖30之例中,係針對「在程式化處理之暫停期間中,於第1次的讀取處理結束之後,在計時器26之計測值到達臨限值T5之前,收訊第2個的讀取處理」的情況作展示。
如同圖30中所示一般,在時刻t90處,記憶體控制器20,係收訊第1讀取要求。伴隨於此,記憶體系統3之狀態,係從無待機讀取要求狀態STS21而成為暫停處理擱置中狀態STS22。
在時刻t91處,因應於暫停條件被滿足一事,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t92處,暫停處理係結束。記憶體控制器20,係使非揮發性記憶體10實行第1讀取處理。伴隨於此,記憶體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t93處,第1讀取處理係結束。伴隨於此,記憶體系統3之狀態,係成為回復處理擱置中狀態STS34。記憶體控制器20,係使計時器26開始。
在時刻t94處,記憶體控制器20,係收訊第2讀取要求。在此時間點處,計時器26之計測值係為未滿臨限值T5。因此,記憶體控制器20,係在使計時器26停止之後,使非揮發性記憶體10實行第2讀取處理。伴隨於此,記憶
體系統3之狀態,係成為讀取處理中狀態STS32。
在時刻t95處,第2讀取處理係結束。伴隨於此,記憶體系統3之狀態,係成為回復處理擱置中狀態STS34。記憶體控制器20,係使計時器26再度開始。
在時刻t96處,計時器26之計測值係到達臨限值T5。因此,記憶體控制器20,係在使計時器26停止之後,使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t97處,回復處理係結束。之後,記憶體控制器20,係使非揮發性記憶體10再度開始程式化處理。藉由此,記憶體系統3之狀態,係回到無待機讀取要求狀態STS21。
4.6.3第4實施形態之變形例之效果
若依據第4實施形態之變形例,則記憶體控制器20,係無關於在指令佇列25內是否存在有讀取要求地,而將回復處理擱置,直到從在暫停處理中而被實行的讀取處理之結束起的經過時間成為臨限值T5以上為止。藉由此,係能夠設置對於「在指令佇列25內之讀取要求消失之後,回復處理立即被實行」的情形作抑制之回復禁止期間。因此,係能夠發揮與第4實施形態同等之效果。
5.第5實施形態
接著,針對第5實施形態之記憶體系統進行說明。第5
實施形態,係以「就算是當在指令佇列25內為存在有讀取要求的情況時,亦強制性地實行回復處理」的方式,來進行控制,在此點上,係與第1實施形態~第4實施形態相異。亦即是,在第5實施形態中,計時器26,係對於從暫停處理開始時或結束時起的經過時間作計測。在以下之說明中,係對於「當於指令佇列25內為存在有讀取要求的情況時所被實行之回復處理」以及「當於指令佇列25內並不存在有讀取要求的情況時所被實行之回復處理」作區分。當於指令佇列25內為存在有讀取要求的情況時所被實行之回復處理,係亦被稱作「強制回復處理」。在以下之說明中,針對與第1實施形態~第4實施形態同等之構成以及動作,係省略其說明,並主要針對與第1實施形態~第4實施形態相異之構成以及動作作說明。
5.1回復判定處理
圖31,係為對於在第5實施形態之記憶體系統處之包含有回復判定處理之一連串的處理作展示之流程圖。在圖31之例中,與圖26之例相同的,回復判定處理之開始條件,係為「暫停條件被滿足」。
S100~S102之處理,由於係與圖26中之S80~S82之處理同等,因此係省略說明。
若是讀取處理結束,則記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S103)。
當於指令佇列25內仍存在有讀取要求的情況時
(S103:true),記憶體控制器20,係判定計時器26之計測值是否為臨限值T6以上(S104)。臨限值T6,係為正的實數。
當計時器26之計測值為未滿臨限值T6的情況時(S104:false),記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S102)。藉由此,讀取處理係被實行,直到計時器26之計測值到達臨限值T6為止、或者是直到指令佇列25內之讀取要求消失為止。
在計時器26之計測值為臨限值T6以上的情況時(S104:true),記憶體控制器20,係使非揮發性記憶體10實行強制回復處理(S105)。亦即是,在圖31之例中之強制回復條件,係為「存在有未實行之讀取要求,並且計時器26之計測值係為臨限值T6以上」。
當在指令佇列25內係並不存在有讀取要求的情況時(S103:false),記憶體控制器20,係使非揮發性記憶體10實行回復處理(S106)。亦即是,在圖31之例中之回復條件,係為「並不存在有未實行之讀取要求」。
若是回復處理或強制回復處理結束,則記憶體控制器20,係使計時器26停止(S107)。
若是S107之處理結束,則包含有回復判定處理之一連串之處理係成為結束(結束)。
5.2記憶體系統之狀態變遷
圖32,係為對於第5實施形態的記憶體系統之關連於
程式化處理之複數之狀態間的關係作展示之狀態變遷圖。
首先,針對記憶體系統3所能夠成為的複數之狀態作說明。
如同圖32中所示一般,記憶體系統3之關連於程式化處理之狀態,係包含有程式化準備狀態STS1、程式化繁忙狀態STS2、以及程式化暫停狀態STS3。程式化準備狀態STS1以及程式化繁忙狀態STS2,由於係與參考圖27所說明了的第4實施形態為同等,因此係省略說明。
程式化暫停狀態STS3,係除了暫停處理中狀態STS31、讀取處理中狀態STS32、回復處理中狀態STS33以及回復擱置中狀態STS34之外,更進而包含有強制回復處理中狀態STS35。強制回復處理中狀態STS35,係正在實行強制回復處理之狀態。
接著,針對使各狀態作變遷的事件進行說明。
關於E1~E11、E12A、E13~E15之事件,由於係與參考圖27所說明了的第4實施形態為同等,因此係省略說明。
若是在讀取處理中狀態STS32中而強制回復條件被滿足(E17),則記憶體系統3,係變遷至強制回復處理中狀態STS35。
若是在強制回復處理中狀態STS35中而強制回復處理結束(E18),則記憶體系統3,係變遷至暫停處理擱置中狀態STS22。
亦即是,若是在程式化暫停狀態STS3中而回復處理或強制回復處理結束(E13或E18),則記憶體系統3,係變遷
至程式化繁忙狀態STS2。
5.3在伴隨著回復判定處理之程式化處理中的狀態變遷
圖33,係為對於第5實施形態之記憶體系統之在伴隨著回復判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖33之例中,係針對「在程式化處理之暫停期間中,於第2次的讀取處理中,計時器26之計測值到達臨限值T6」的情況作展示。於此情況,就算是在第2次的讀取處理中而收訊第3個的讀取要求,也不會有在同一之暫停期間中而第3次的讀取處理被實行的情形,強制回復處理係被實行。
在圖33中所示之時刻t100~t104之期間中的處理,由於係與圖28中所示之時刻t80~t84之期間中的處理同等,因此係省略說明。
在時刻t105處,計時器26之計測值係到達臨限值T6。記憶體系統3,係維持為第2讀取處理之讀取處理中狀態STS32。
在時刻t106處,記憶體控制器20,係收訊第3讀取要求。記憶體系統3,係維持為第2讀取處理之讀取處理中狀態STS32。
在時刻t107處,第2讀取處理係結束。在此時間點處,於指令佇列25內係存在有第3讀取要求。然而,計時器26之計測值係為臨限值T6以上。因此,記憶體控制器20,係使非揮發性記憶體10實行強制回復處理。伴隨於
此,記憶體系統3之狀態,係成為強制回復處理中狀態STS35。
在時刻t108處,強制回復處理係結束。伴隨於此,記憶體控制器20,係在使計時器26停止之後,使非揮發性記憶體10再度開始程式化處理。藉由此,記憶體系統3之狀態,係回到暫停處理擱置中狀態STS22。
之後,在圖33中雖係省略圖示,但是,當暫停條件再度被滿足的情況時,記憶體控制器20,係能夠在程式化處理之下一個的暫停期間中而實行第3讀取處理。
5.4第5實施形態之效果
若依據第5實施形態,則當從暫停處理之開始或者是結束起所經過的時間到達了臨限值T6的情況時,記憶體控制器20,係就算是在指令佇列25內仍殘留有讀取要求,也強制性地實行回復處理。藉由此,在一次收訊了大量的讀取要求時,係能夠避免程式化處理之暫停期間過度延長的情形。因此,係能夠對於寫入率之過度的降低作抑制,並且能夠對於寫入率與讀取延遲之間的取捨關係作調整。
又,若依據第5實施形態,則係能夠對於程式化處理之暫停期間過度超過臨限值T6的情形作限制。因此,係能夠對於非揮發性記憶體10之信賴性的惡化作抑制。
5.5第5實施形態之變形例
在上述之第5實施形態中,雖係針對使記憶體控制器
20基於從暫停處理之開始或者是結束起的經過時間來對於強制回復處理之開始時序作控制的情況,來作了說明,但是,實施形態係並不被限定於此。例如,記憶體控制器20,係亦可基於在程式化處理中之累計之暫停期間之長度,來對於強制回復處理之開始時序作控制。亦即是,在第5實施形態之變形例中,計時器26,係對於在程式化處理中之累計的暫停期間作計測。在以下之說明中,針對與第5實施形態同等之構成以及動作,係省略其說明,並主要針對與第5實施形態相異之構成以及動作作說明。
5.5.1程式化處理
圖34,係為對於在第5實施形態之變形例之記憶體系統處之包含有程式化處理之一連串的處理之其中一例作展示之流程圖。
S5以及S6之處理,由於係與圖25中之S5以及S6之處理同等,因此係省略說明。
若是在S6之處理中而從非揮發性記憶體10收訊代表程式化處理結束一事之狀態,則記憶體控制器20,係判定計時器26是否身為計測中(S7)。
當計時器26係身為計測中的情況時(S7:true),記憶體控制器20,係使計時器26停止(S8)。若是S8之處理結束,則包含有程式化處理之一連串之處理係成為結束(結束)。
又,當計時器26係並非為計測中的情況時(S7:
false),係並不實行S8之處理,包含有程式化處理之一連串之處理係成為結束(結束)。
5.5.2回復判定處理
圖35,係為對於在第5實施形態之變形例之記憶體系統處之包含有回復判定處理之一連串的處理作展示之流程圖。在圖35之例中,回復判定處理之開始條件,係為「暫停條件被滿足,並且計時器26之計測值為未滿臨限值T7」。暫停條件,係可適用包含有在第1實施形態~第3實施形態之說明中之例的任意之暫停條件。又,暫停條件,係亦可為無條件。
當暫停條件被滿足並且計時器26之計測值為未滿臨限值T7的情況時(開始),記憶體控制器20,係判定計時器26是否身為暫停中(S110)。
當計時器26係並非為暫停中(亦即是,計時器26係為停止中)的情況時(S110:false),記憶體控制器20,係使計時器26開始(S111)。
當計時器26係身為暫停中的情況時(S110:true),記憶體控制器20,係使計時器26之計測再度開始(S112)。
若是計時器26成為計測中之狀態,則記憶體控制器20,係使非揮發性記憶體10實行暫停處理(S113)。
在藉由暫停處理而使程式化處理被暫停之後,記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S114)。
若是讀取處理結束,則記憶體控制器20,係判定在指令佇列25內是否仍然存在有讀取要求(S115)。
又,當於指令佇列25內係存在有讀取要求的情況時(S115:true),記憶體控制器20,係判定計時器26之計測值是否為臨限值T7以上(S116)。臨限值T7,係為正的實數。
當計時器26之計測值為未滿臨限值T7的情況時(S116:false),記憶體控制器20,係使非揮發性記憶體10實行基於讀取要求所致之讀取處理(S114)。藉由此,讀取處理係被實行,直到計時器26之計測值到達臨限值T7為止、或者是直到指令佇列25內之讀取要求消失為止。
在計時器26之計測值為臨限值T7以上的情況時(S116:true),記憶體控制器20,係使非揮發性記憶體10實行強制回復處理(S117)。亦即是,在圖35之例中之強制回復條件,係為「存在有未實行之讀取要求,並且計時器26之計測值係為臨限值T7以上」。
當在指令佇列25內係並不存在有讀取要求的情況時(S115:false),記憶體控制器20,係使非揮發性記憶體10實行回復處理(S118)。亦即是,在圖35之例中之回復條件,係為「並不存在有未實行之讀取要求」。
若是回復處理或強制回復處理結束,則記憶體控制器20,係使計時器26暫停(S119)。
若是S119之處理結束,則包含有回復判定處理之一連串之處理係成為結束(結束)。
另外,在圖35之例中,雖係針對「在計時器26之計測期間中,係包含有暫停處理以及回復處理所被實行之期間」的情況,來作了說明,但是,實施形態係並不被限定於此。例如,在計時器26之計測期間中,係亦可並不包含有暫停處理以及回復處理之雙方或者是其中一者所被實行之期間。於此情況,圖35中之S113之處理,係可在S110之處理之前而被實行。又,S119之處理,係可在S114之處理與S115之處理之間而被實行。
5.5.3在伴隨著回復判定處理之程式化處理中的狀態變遷
圖36,係為對於第5實施形態之變形例之記憶體系統之在伴隨著回復判定處理之程式化處理中的狀態變遷之其中一例作展示之時序表。在圖36之例中,係針對「在計時器26之計測期間中,係包含有暫停處理以及回復處理之雙方」的情況來作展示。又,在圖36之例中,係針對「於第2次的讀取處理中,計時器26之計測值到達臨限值T7」的情況作展示。於此情況,就算是在第2次的讀取處理之結束前而收訊第3個的讀取要求,也不會有在同一之暫停期間中而第3次的讀取處理被實行的情形,強制回復處理係被實行。另外,在圖36之例中,假設在時刻t110之時間點處,計時器26係為停止(亦即是,計測值係為0)。
如同圖36中所示一般,在時刻t110處,記憶體控制器20,係收訊第1讀取要求。伴隨於此,記憶體系統3之狀態,係從無待機讀取要求狀態STS21而成為暫停處理擱置
中狀態STS22。
在時刻t111處,暫停處理係被滿足。由於計時器26係為停止中,因此,記憶體控制器20,係使計時器26開始。又,記憶體控制器20,係使非揮發性記憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t112處,暫停處理係結束。記憶體控制器20,係使非揮發性記憶體10實行第1讀取處理。伴隨於此,記憶體系統3之狀態,係成為第1讀取處理之讀取處理中狀態STS32。
在時刻t113處,第1讀取處理係結束。記憶體控制器20,係使非揮發性記憶體10實行回復處理。伴隨於此,記憶體系統3之狀態,係成為回復處理中狀態STS33。
在時刻t114處,回復處理係結束。記憶體控制器20,係使計時器26之計測暫停。藉由此,計時器26之計測值,係成為T7_1(=t114-t111)。另外,計測值T7_1,係設為較臨限值T7而更小。記憶體系統3之狀態,係成為無待機讀取要求狀態STS21。
在時刻t115處,記憶體控制器20,係收訊第2讀取要求。伴隨於此,記憶體系統3之狀態,係成為暫停處理擱置中狀態STS22。
在時刻t116處,暫停條件係再度被滿足。由於計時器26係身為暫停中,因此,記憶體控制器20,係使計時器26之計測再度開始。又,記憶體控制器20,係使非揮發性記
憶體10實行暫停處理。伴隨於此,記憶體系統3之狀態,係成為暫停處理中狀態STS31。
在時刻t117處,記憶體控制器20,係收訊第3讀取要求。記憶體系統3,係維持為暫停處理中狀態STS31。
在時刻t118處,暫停處理係結束。記憶體控制器20,係使非揮發性記憶體10實行第2讀取處理。伴隨於此,記憶體系統3之狀態,係成為第2讀取處理之讀取處理中狀態STS32。
在時刻t119處,計時器26之計測值係到達臨限值T7。記憶體系統3,係維持為第2讀取處理之讀取處理中狀態STS32。
在時刻t120處,第2讀取處理係結束。在此時間點處,於指令佇列25內係存在有第3讀取要求。然而,計時器26之計測值係為臨限值T7以上。因此,記憶體控制器20,係使非揮發性記憶體10實行強制回復處理。伴隨於此,記憶體系統3之狀態,係成為強制回復處理中狀態STS35。
在時刻t121處,強制回復處理係結束。伴隨於此,記憶體控制器20,係在使計時器26之計測暫停之後,使非揮發性記憶體10再度開始程式化處理。藉由此,記憶體系統3之狀態,係回到暫停處理擱置中狀態STS22。
之後,在圖36中雖係省略圖示,但是,就算是暫停條件再度被滿足,亦由於計測器26之計測值係超過臨限值T7,因此,記憶體控制器20,係並不會為了實行第3讀取
處理而使程式化處理暫停。
5.5.4第5實施形態之變形例之效果
若依據第5實施形態之變形例,則當在1次的程式化處理中之暫停期間之累積時間到達了臨限值T7的情況時,記憶體控制器20,係就算是在指令佇列25內仍殘留有讀取要求,也強制性地實行回復處理。藉由此,在一次收訊了大量的讀取要求時,係能夠避免程式化處理之暫停期間過度延長的情形。因此,係能夠對於寫入率之過度的降低作抑制,並且能夠對於寫入率與讀取延遲之間的取捨關係作調整。
又,若依據第5實施形態之變形例,則係能夠對於在1次的程式化處理之暫停期間之累積時間過度超過臨限值T7的情形作限制。因此,係能夠對於非揮發性記憶體10之信賴性的惡化作抑制。
6.第6實施形態
接著,針對第6實施形態之記憶體系統進行說明。第6實施形態,係對於暫停條件或回復條件(或者是強制回復條件)進行動態調整,在此點上,係與第1實施形態~第5實施形態相異。在以下之說明中,針對與第1實施形態~第5實施形態同等之構成以及動作,係省略其說明,並主要針對與第1實施形態~第5實施形態相異之構成以及動作作說明。
6.1參數變更處理
圖37,係為對於在第6實施形態之記憶體系統處之參數變更處理之其中一例作展示之流程圖。
如同圖37中所示一般,若是滿足觀測條件(開始),則記憶體控制器20,係對於記憶體系統3之工作負載進行觀測(S121)。
觀測條件,例如,係可包含像是「成為特定之時刻」一般之會定期性地被滿足的條件。又,觀測條件,例如,係可包含像是「特定之處理結束」一般之會不定期性地被滿足的條件。
工作負載之特性,例如,係包含有指令佇列25內之讀取要求之數量(queue depth(QD)數、或者是outstanding I/O(OIO)數)、記憶體系統3之閒置(idle)期間、緩衝記憶體22內之寫入資料量。另外,所謂閒置期間,係指記憶體系統3並未在實行與從主機機器2而來之要求相對應的讀取處理或程式化處理等之處理的期間。
基於在S121之處理處所觀測到的工作負載,記憶體控制器20,係對於暫停條件及/或回復條件進行變更(S122)。對於暫停條件進行變更一事,例如,係包含對於在第1實施形態~第3實施形態中所作了說明的臨限值N、M以及L還有臨限值T1~T3作變更的情形。對於回復條件進行變更一事,例如,係包含對於在第4實施形態以及第5實施形態中所作了說明的臨限值T4~T7作變更的情形。
更具體而言,例如,當讀取要求之QD數為未滿臨限值的情況時、當記憶體系統3之閒置狀態之時間為臨限值以上的情況時、或者是當緩衝記憶體22內之寫入資料量為未滿臨限值的情況時,記憶體控制器20,係將臨限值N、M以及L之中之至少1者縮小,及/或將臨限值T1~T3之至少1者縮小。於此情況,臨限值N,係亦可成為0或1。臨限值L,係亦可成為0。臨限值T1~T3,係亦可成為0。當讀取要求之QD數為未滿臨限值的情況時、當記憶體系統3之閒置狀態之時間為臨限值以上的情況時、或者是當緩衝記憶體22內之寫入資料量為未滿臨限值的情況時,記憶體控制器20,係將臨限值T4~T7之至少1者增大。
若是S122之處理結束,則參數變更處理係結束(結束)。
6.2第6實施形態之效果
若依據第6實施形態,則記憶體控制器20,係對於工作負載進行觀測。例如,當作為工作負載所觀測到的緩衝記憶體22內之寫入資料量為少的情況時,可以預期從主機機器2而來之寫入率要求係為較低。又,例如,當作為工作負載所觀測到的讀取要求之QD數為小的情況時,可以預期係從主機機器2而要求有短的讀取延遲。如此這般,藉由對於工作負載進行觀測,記憶體控制器20係能夠掌握到要對於寫入率與讀取延遲之間的取捨關係之比重朝向何
者之方向作調整。
觀測之結果,當能夠判斷出係以相較於寫入率而將對於讀取延遲之要求設為更加優先為理想的情況時,記憶體控制器20,係將臨限值N、M以及L之中之至少1者縮小、將臨限值T1~T3之至少1者縮小、及/或將臨限值T4~T7之至少1者增大。藉由此,記憶體控制器20,係能夠在記憶體系統3之稼動中,而動態地變更為更加以針對讀取延遲之要求為優先的運用。因此,係成為能夠進行自由度為更高的記憶體系統3之運用。
6.3第6實施形態之變形例
在上述之第6實施形態中,雖係針對使記憶體控制器20自律性地對於暫停條件及/或回復條件進行變更的情況,來作了說明,但是,實施形態係並不被限定於此。例如,記憶體控制器20,係亦可基於從主機機器2而來之要求,而對於暫停條件及/或回復條件進行變更。在以下之說明中,針對與第6實施形態同等之構成以及動作,係省略其說明,並主要針對與第6實施形態相異之構成以及動作作說明。
6.3.1參數變更處理
圖38,係為對於在第6實施形態之變形例之記憶體系統處之參數變更處理之其中一例作展示之流程圖。
如同圖38中所示一般,若是從主機機器2而收訊參數
變更要求(開始),則記憶體控制器20,係基於所收訊了的參數變更要求,而對於暫停條件及/或回復條件進行變更(S125)。
若是S125之處理結束,則參數變更處理係結束(結束)。
6.3.2第6實施形態之變形例之效果
若依據第6實施形態之變形例,則記憶體控制器20,係基於從主機機器2而來之要求,而對於暫停條件及/或回復條件進行變更。藉由此,係能夠實現更加配合於主機機器2之希望的動作。
7.其他
上述之第1實施形態~第6實施形態以及各實施形態之變形例,係可適用各種之變形。
例如,在上述之第1實施形態~第6實施形態以及各實施形態之變形例中,雖係針對使程式化處理被暫停的情況來作了說明,但是,實施形態以及變形例係並不被限定於此。例如,在替代程式化處理而使抹除處理被暫停的情況時,係亦可同樣地對於實施形態以及變形例作適用。
又,例如,在上述之第5實施形態以及第5實施形態之變形例中,雖係針對基於計時器26之計測值而使強制回復條件被作規定的情況來作了說明,但是,實施形態以及變形例係並不被限定於此。例如,記憶體控制器20,係亦可
基於在程式化處理中所被實行了的讀取要求之數量X或者是在程式化處理中而被從非揮發性記憶體10所讀出了的讀取資料之量Y,來規定強制回復條件。具體而言,係亦可構成為,當存在有未實行之讀取要求,並且上述之數量X或者是量Y係為臨限值以上的情況時,記憶體控制器20,係使非揮發性記憶體10實行強制回復處理。
雖係針對本發明之數種實施形態作了說明,但是,該些實施形態,係僅為作為例子所提示者,而並非為對於本發明之範圍作限定者。此些之新穎的實施形態,係可藉由其他之各種形態來實施,在不脫離發明之要旨的範圍內,係可進行各種之省略、置換、變更。此些之實施形態或其變形,係亦被包含於發明之範圍或要旨中,並且亦被包含在申請專利範圍中所記載的發明及其均等範圍內。
Claims (21)
- 一種記憶體系統,係具備有:非揮發性記憶體;和記憶體控制器,係構成為基於從主機機器而來的第1要求,而使前述非揮發性記憶體進行將資料讀出之第1處理,前述記憶體控制器,係構成為:當正在使前述非揮發性記憶體實行第2處理的期間中而從前述主機機器收訊了前述第1要求的情況時,係判定身為存在於前述記憶體控制器內之未實行之前述第1要求之數量的第1數是否成為了身為2以上之整數之第1臨限值以上,並將前述第2處理之中斷擱置,直到前述第1數成為前述第1臨限值以上為止。
- 如請求項1所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:當在將前述第2處理之中斷擱置的期間中,第1期間成為了第2臨限值以上的情況時,將前述第2處理中斷,前述第1期間,係為前述第1數乃身為1以上的連續之期間。
- 如請求項1所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:當在將前述第2處理之中斷擱置的期間中,第2期間成為了第3臨限值以上,並且前述第1數乃身為1以上的情況時,將前述第2處理中斷, 前述第2期間,係為前述第2處理乃身為實行中的連續之期間,並且並不包含前述第2處理為中斷中的期間。
- 如請求項3所記載之記憶體系統,其中,前述第2期間之起點,係為前述第2處理之開始時。
- 如請求項3所記載之記憶體系統,其中,前述第2期間之起點,係為從前述第2處理之中斷起的再度開始時。
- 如請求項1所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:當前述第2處理為中斷的期間中,將中斷了的前述第2處理之再度開始作擱置,直到第3期間成為了第4臨限值以上為止,前述第3期間,係為前述第2處理乃身為中斷中的連續之期間。
- 如請求項1所記載之記憶體系統,其中,前述記憶體控制器,係構成為:在前述第2處理為中斷的期間中,使前述非揮發性記憶體實行前述第1處理,將中斷了的前述第2處理之再度開始作擱置,直到第4期間成為了第5臨限值以上為止,前述第4期間,係為前述第2處理乃身為中斷中並且前述第1處理係並非為實行中的連續之期間。
- 如請求項1所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為: 當前述第2處理為中斷的期間中,第5期間成為了第6臨限值以上的情況時,將中斷了的前述第2處理再度開始,前述第5期間,係為前述第2處理乃身為中斷中的期間。
- 如請求項8所記載之記憶體系統,其中,前述第5期間,係身為連續之期間。
- 如請求項8所記載之記憶體系統,其中,前述第5期間,係身為於中間包夾有前述第1處理之期間的有所斷續之前述第2處理乃身為中斷中之期間的累積期間。
- 如請求項1所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:基於前述記憶體系統之工作負載或者是基於從前述主機機器而來的第2要求,而對於前述第1臨限值作變更,前述工作負載之特性,係包含有前述第1數、前述記憶體系統之閒置時間、以及從前述主機機器所收訊並且對於前述非揮發性記憶體之寫入尚未結束的資料之量,此些之中之其中一者。
- 如請求項2所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為: 基於前述記憶體系統之工作負載或者是基於從前述主機機器而來的第2要求,而對於前述第2臨限值作變更,前述工作負載之特性,係包含有前述第1數、前述記憶體系統之閒置時間、以及從前述主機機器所收訊並且對於前述非揮發性記憶體之寫入尚未結束的資料之量,此些之中之其中一者。
- 如請求項3所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:基於前述記憶體系統之工作負載或者是基於從前述主機機器而來的第2要求,而對於前述第3臨限值作變更,前述工作負載之特性,係包含有前述第1數、前述記憶體系統之閒置時間、以及從前述主機機器所收訊並且對於前述非揮發性記憶體之寫入尚未結束的資料之量,此些之中之其中一者。
- 如請求項6所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:基於前述記憶體系統之工作負載或者是基於從前述主機機器而來的第2要求,而對於前述第4臨限值作變更,前述工作負載之特性,係包含有前述第1數、前述記憶體系統之閒置時間、以及從前述主機機器所收訊並且對於前述非揮發性記憶體之寫入尚未結束的資料之量,此些之中之其中一者。
- 如請求項7所記載之記憶體系統,其 中,前述記憶體控制器,係更進而構成為:基於前述記憶體系統之工作負載或者是基於從前述主機機器而來的第2要求,而對於前述第5臨限值作變更,前述工作負載之特性,係包含有前述第1數、前述記憶體系統之閒置時間、以及從前述主機機器所收訊並且對於前述非揮發性記憶體之寫入尚未結束的資料之量,此些之中之其中一者。
- 如請求項8所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:基於前述記憶體系統之工作負載或者是基於從前述主機機器而來的第2要求,而對於前述第6臨限值作變更,前述工作負載之特性,係包含有前述第1數、前述記憶體系統之閒置時間、以及從前述主機機器所收訊並且對於前述非揮發性記憶體之寫入尚未結束的資料之量,此些之中之其中一者。
- 如請求項1所記載之記憶體系統,其中,前述第2處理,係包含有程式化(program)處理或者是抹除(erase)處理。
- 一種記憶體系統,係具備有:非揮發性記憶體,係包含第1平面(plane)以及第2平面;和 記憶體控制器,係構成為基於從主機機器而來之對應於前述第1平面之第1要求以及對應於前述第2平面之第2要求,來使前述非揮發性記憶體實行從前述第1平面以及前述第2平面而並行地將資料讀出之第1處理,前述記憶體控制器,係構成為:當正在使前述非揮發性記憶體實行第2處理的期間中而從前述主機機器收訊了前述第1要求或者是前述第2要求的情況時,係判定身為存在於前述記憶體控制器內之未實行之前述第1要求之數量的第1數以及身為存在於前述記憶體控制器內之未實行之前述第2要求之數量的第2數之各者是否為身為1以上之整數之第1臨限值以上,並將前述第2處理之中斷擱置,直到前述第1數以及前述第2數之各者成為前述第1臨限值以上為止。
- 如請求項18所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:當在將前述第2處理之中斷擱置的期間中,第1期間成為了第2臨限值以上的情況時,將前述第2處理中斷,前述第1期間,係為前述第1數或前述第2數乃身為1以上的連續之期間。
- 如請求項18所記載之記憶體系統,其中,前述記憶體控制器,係更進而構成為:當在將前述第2處理之中斷擱置的期間中,前述第1數 以及前述第2數之和成為了身為2以上之整數之第2臨限值以上的情況時,將前述第2處理中斷。
- 一種記憶體系統,係具備有:非揮發性記憶體;和記憶體控制器,係構成為基於從主機機器而來的第1要求,而使前述非揮發性記憶體進行將資料讀出之第1處理,前述記憶體控制器,係構成為:當正在使前述非揮發性記憶體實行第2處理的期間中而從前述主機機器收訊了前述第1要求的情況時,係將前述第2處理中斷,並使前述非揮發性記憶體實行前述第1處理,將中斷了的前述第2處理之再度開始作擱置,直到前述第2處理乃身為中斷中之連續之期間成為臨限值以上為止,因應於前述期間成為了前述臨限值以上一事,將中斷了的前述第2處理再度開始。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020205991A JP2022092965A (ja) | 2020-12-11 | 2020-12-11 | メモリシステム |
JP2020-205991 | 2020-12-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202223632A TW202223632A (zh) | 2022-06-16 |
TWI832056B true TWI832056B (zh) | 2024-02-11 |
Family
ID=81896924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110118989A TWI832056B (zh) | 2020-12-11 | 2021-05-26 | 記憶體系統 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11790997B2 (zh) |
JP (1) | JP2022092965A (zh) |
CN (1) | CN114625310A (zh) |
TW (1) | TWI832056B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11650753B2 (en) | 2021-07-27 | 2023-05-16 | Beijing Tenafe Electronic Technology Co., Ltd. | Firmware-controlled and table-based conditioning for synchronous handling of exception cases |
US20240071520A1 (en) * | 2022-08-31 | 2024-02-29 | Micron Technology, Inc. | Suspending memory erase operations to perform higher priority memory commands |
CN115840542B (zh) * | 2023-02-24 | 2023-06-02 | 浪潮电子信息产业股份有限公司 | 一种硬盘的请求处理方法、系统、存储介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201319801A (zh) * | 2011-07-28 | 2013-05-16 | Sandisk Technologies Inc | 使用寫為二進位及多狀態格式的資料之比較在非揮發性記憶體中的寫入後讀取 |
US20170315736A1 (en) * | 2014-12-18 | 2017-11-02 | Hewlett Packard Enterprise Development Lp | Segmenting Read Requests and Interleaving Segmented Read and Write Requests to Reduce Latency and Maximize Throughput in a Flash Storage Device |
US9811532B2 (en) * | 2010-05-03 | 2017-11-07 | Panzura, Inc. | Executing a cloud command for a distributed filesystem |
US20200176617A1 (en) * | 2012-08-07 | 2020-06-04 | Rambus Inc. | Synchronous wired-or ack status for memory with variable write latency |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289596B2 (en) | 2016-06-07 | 2019-05-14 | Macronix International Co., Ltd. | Memory and method for operating a memory with interruptible command sequence |
JP2017224370A (ja) * | 2016-06-15 | 2017-12-21 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
JP2019053795A (ja) | 2017-09-13 | 2019-04-04 | 東芝メモリ株式会社 | メモリシステム |
US10509747B2 (en) | 2018-05-17 | 2019-12-17 | Seagate Technology Llc | Memory access operation suspend/resume |
JP2020155182A (ja) | 2019-03-20 | 2020-09-24 | キオクシア株式会社 | メモリシステム及び不揮発性メモリ |
US10956081B2 (en) | 2019-04-18 | 2021-03-23 | Intel Corporation | Method, system, and apparatus for multi-tiered progressive memory program operation suspend and resume |
-
2020
- 2020-12-11 JP JP2020205991A patent/JP2022092965A/ja active Pending
-
2021
- 2021-05-26 TW TW110118989A patent/TWI832056B/zh active
- 2021-07-15 CN CN202110799130.6A patent/CN114625310A/zh active Pending
- 2021-09-10 US US17/471,569 patent/US11790997B2/en active Active
-
2023
- 2023-09-01 US US18/459,501 patent/US12046300B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811532B2 (en) * | 2010-05-03 | 2017-11-07 | Panzura, Inc. | Executing a cloud command for a distributed filesystem |
TW201319801A (zh) * | 2011-07-28 | 2013-05-16 | Sandisk Technologies Inc | 使用寫為二進位及多狀態格式的資料之比較在非揮發性記憶體中的寫入後讀取 |
US20200176617A1 (en) * | 2012-08-07 | 2020-06-04 | Rambus Inc. | Synchronous wired-or ack status for memory with variable write latency |
US20170315736A1 (en) * | 2014-12-18 | 2017-11-02 | Hewlett Packard Enterprise Development Lp | Segmenting Read Requests and Interleaving Segmented Read and Write Requests to Reduce Latency and Maximize Throughput in a Flash Storage Device |
Also Published As
Publication number | Publication date |
---|---|
US12046300B2 (en) | 2024-07-23 |
US11790997B2 (en) | 2023-10-17 |
TW202223632A (zh) | 2022-06-16 |
JP2022092965A (ja) | 2022-06-23 |
CN114625310A (zh) | 2022-06-14 |
US20220189561A1 (en) | 2022-06-16 |
US20230420060A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI832056B (zh) | 記憶體系統 | |
EP3436922B1 (en) | Methods and apparatus to perform erase-suspend operations in memory devices | |
TWI744677B (zh) | 記憶體系統 | |
US9063844B2 (en) | Non-volatile memory management system with time measure mechanism and method of operation thereof | |
US9870160B2 (en) | Method of operating memory system including nonvolatile memory and memory controller | |
US9880781B2 (en) | Storage device and operating method of storage device | |
KR102680273B1 (ko) | 서스펜드 모드를 제어하는 방법 및 이를 포함하는 메모리 컨트롤러 | |
US10241701B2 (en) | Solid state memory system with power management mechanism and method of operation thereof | |
US20170160989A1 (en) | Solid state disk and method for implementing trim command of the same | |
TWI789817B (zh) | 用來進行記憶裝置的存取管理之方法、記憶裝置及其控制器、主裝置以及電子裝置 | |
TWI584289B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US10115458B2 (en) | Perform read or write on a non-volatile memory having a pending read or write based on temperature thereof | |
US11081187B2 (en) | Erase suspend scheme in a storage device | |
KR20170071085A (ko) | 스토리지 컨트롤러의 작동 방법과 이를 포함하는 스토리지 장치의 작동 방법 | |
US20190079697A1 (en) | Storage device | |
US20200293221A1 (en) | Storage device and computing device including storage device | |
JP2019053795A (ja) | メモリシステム | |
US10922013B2 (en) | Suspending and resuming a read operation for a non-volatile memory | |
US8081517B2 (en) | Solid state storage system for uniformly using memory area and method controlling the same | |
US20190278517A1 (en) | Memory system and memory control method | |
KR102560251B1 (ko) | 반도체 장치 및 반도체 시스템 | |
US20160132251A1 (en) | Operating method of storage device and data writing method for writing data into storage device | |
US11922062B2 (en) | Controller and operating method thereof | |
JP2021174564A (ja) | 半導体記憶装置 | |
TW202044050A (zh) | 藉助於組態設定來進行動態節流控制之方法以及設備 |