TWI770165B - 記憶體裝置、記憶體系統及其操作方法 - Google Patents

記憶體裝置、記憶體系統及其操作方法 Download PDF

Info

Publication number
TWI770165B
TWI770165B TW107114206A TW107114206A TWI770165B TW I770165 B TWI770165 B TW I770165B TW 107114206 A TW107114206 A TW 107114206A TW 107114206 A TW107114206 A TW 107114206A TW I770165 B TWI770165 B TW I770165B
Authority
TW
Taiwan
Prior art keywords
command
queue
memory
commands
controller
Prior art date
Application number
TW107114206A
Other languages
English (en)
Other versions
TW201915731A (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 TW201915731A publication Critical patent/TW201915731A/zh
Application granted granted Critical
Publication of TWI770165B publication Critical patent/TWI770165B/zh

Links

Images

Classifications

    • 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/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/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • 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
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Abstract

記憶體裝置、記憶體系統及其操作方法。一種記憶體系統包括:複數個記憶體裝置,其配置複數個通路;以及記憶體控制器,其透過通道與所述複數個記憶體裝置通信,其中,所述複數個記憶體裝置中的每一個包括裝置佇列,並且其中,所述裝置佇列對從記憶體控制器輸入的複數個控制器命令進行排隊。

Description

記憶體裝置、記憶體系統及其操作方法
本發明的各種實施方式係關於記憶體系統及其操作方法,更具體而言,係關於一種包括對複數個命令進行排隊的記憶體裝置的記憶體系統及其操作方法。
記憶體裝置可被分類為揮發性記憶體裝置和非揮發性記憶體裝置。在沒有電源的情況下揮發性記憶體裝置的數據無法保持。然而,即使當電源被阻斷時,非揮發性記憶體的數據也將保留。非揮發性記憶體裝置的示例可包括唯讀記憶體(ROM)和電可擦除可編程唯讀記憶體(EEPROM)。
導入快閃記憶體EEPROM的快閃記憶體裝置的配置和操作不同於傳統EEPROM。快閃記憶體EEPROM記憶體裝置可按照塊為單位執行電擦除操作並按照位元為單位執行編程操作。
本申請請求2017年9月20日提交的韓國專利申請號10-2017-0121096的優先權,其揭示透過引用整體併入本文。
本發明的各種實施方式係關於一種記憶體系統以及操作該記憶體系統的方法。該記憶體系統表現出改進的隨機讀取或編程性能。
根據實施方式,記憶體系統可包括:複數個記憶體裝置,其配置複數個通路;以及記憶體控制器,其透過通道與該複數個記憶體裝置通信,其中,該複數個記憶體裝置中的每一個包括裝置佇列,並且其中,該裝置佇列對從記憶體控制器輸入的複數個控制器命令進行排隊。
根據實施方式,一種記憶體系統可包括:分別與第一至第N通路對應的第一至第N通路命令佇列,其中N是2或更大的自然數;以及與第一至第N通路對應的第一至第N記憶體裝置,其中,第一至第N通路命令佇列中的每一個對M個命令進行排隊,其中M是2或更大的自然數,其中,第一至第N記憶體裝置中的每一個包括裝置佇列,並且其中,該裝置佇列包括:裝置命令佇列,其用於對依次輸入的L個命令進行排隊,其中L是2或更大的自然數;以及佇列命令執行控制電路,其用於控制排隊到裝置命令佇列的L個命令的執行,其中,佇列命令執行控制電路控制裝置命令佇列以使得L個命令被平行執行。
根據實施方式,一種記憶體裝置可包括:裝置命令佇列,其用於對依次輸入的複數個命令進行排隊;以及佇列命令執行控制電路,其用於控制排隊到裝置命令佇列的複數個命令的執行。
根據實施方式,一種操作記憶體系統的方法可包括:執行第一排隊操作以將從主機依次輸入的複數個命令排隊到複數個命令佇列當中的第一通路命令佇列;將該複數個命令依次傳送到與該複數個通路命令佇列對應的複數個記憶體裝置當中與第一通路命令佇列對應的第一記憶體裝置;執行第二排 隊操作以使得第一記憶體裝置對依次傳送的該複數個命令進行排隊;以及由第一記憶體裝置平行執行該複數個命令。
根據實施方式,一種記憶體系統包括:複數個記憶體裝置,其各自具有裝置佇列;以及控制器,其具有分別與記憶體裝置對應的複數個命令佇列,其中,控制器被配置為:根據預定次序將命令排隊到各個記憶體裝置的命令佇列中;將來自命令佇列的命令提供給裝置佇列當中的各自相應的裝置佇列;並且根據各自相應的裝置佇列中排隊的命令來控制各個記憶體裝置獨立地平行執行操作。
00:裝置位址佇列時隙編號
01:裝置位址佇列時隙編號
10:裝置位址佇列時隙編號
11:裝置位址佇列時隙編號
100:記憶體單元陣列
110:記憶體塊
200:週邊電路
210:電壓生成電路
220:列解碼器
230:頁面緩衝器組
231:頁面緩衝器
232:快取記憶體緩衝器組
233:主緩衝器組
240:行解碼器
250:輸入/輸出電路
260:感測電路
300:控制邏輯
310:位址計數器
320:命令解碼器
610:裝置佇列
611:位址MUX
620:裝置位址佇列
621:第一裝置位址佇列時隙
622:第二裝置位址佇列時隙
623:第三裝置位址佇列時隙
624:第四裝置位址佇列時隙
630:裝置命令佇列
631:第一裝置命令佇列時隙
632:第二裝置命令佇列時隙
633:第三裝置命令佇列時隙
634:第四裝置命令佇列時隙
640:狀態暫存器組
650:位址佇列分配器
660:命令佇列分配器
670:佇列命令執行控制電路
710:處理器
711:控制器命令佇列
712:命令優先順序處理器
713:通路節流器
714:命令通路佇列
720:記憶體緩衝器
721:讀取緩衝器
722:寫入緩衝器
730:糾錯電路(ECC)
740:主機介面
750:緩衝器控制電路
760:記憶體介面
770:數據隨機化器
780:匯流排
1000:記憶體系統
1100:記憶體裝置
1111:第一記憶體裝置
1112:第二記憶體裝置
1113:第三記憶體裝置
1114:第四記憶體裝置
1121:第一記憶體裝置
1122:第二記憶體裝置
1123:第三記憶體裝置
1124:第四記憶體裝置
1131:第一記憶體裝置
1132:第二記憶體裝置
1133:第三記憶體裝置
1134:第四記憶體裝置
1141:第一記憶體裝置
1142:第二記憶體裝置
1143:第三記憶體裝置
1144:第四記憶體裝置
1200:記憶體控制器
2000:主機
3100:處理器
3200:顯示器
3300:無線電收發器
3400:輸入裝置
4100:處理器
4200:輸入裝置
4300:顯示器
5100:處理器
5200:圖像感測器
5300:顯示器
6100:微處理器
6200:主機介面
7100:卡介面
7141:第一通路命令佇列
7142:第二通路命令佇列
7143:第三通路命令佇列
7144:第四通路命令佇列
7211:第二子讀取緩衝器
7221:第一至第八子寫入緩衝器
7Fh:狀態碼
30000:記憶體系統
40000:記憶體系統
50000:記憶體系統
60000:主機
70000:記憶體系統
00h:讀取命令
10h:第一確認命令
11h:第二確認命令
30h:確認命令
80h:編程命令
ADD:位址
ANT:天線
BL1:第一位線
BL2:第二位線
BLn:第n位線
CADD:行位址
CH1:第一通道
CH2:第二通道
CH3:第三通道
CH4:第四通道
CL:行線
CLK:時脈信號
CMD:命令
DATA:數據
DIN:編程數據
DIN1:第一編程數據
DIN2:第二編程數據
DIN3:第三編程數據
DIN4:第四編程數據
DL:數據線
DOUT1:第一數據輸出命令
DOUT2:第二數據輸出命令
DOUT3:第三數據輸出命令
DOUT4:第四數據輸出命令
DSL:汲極選擇線
DST:汲極選擇電晶體
EEh:設置特徵命令
EFh:獲取特徵命令
F1:記憶體單元1
F2:記憶體單元2
F3:記憶體單元3
F4:記憶體單元4
F5:記憶體單元5
F6:記憶體單元6
F7:記憶體單元7
F8:記憶體單元8
F9:記憶體單元9
F10:記憶體單元10
F11:記憶體單元11
F12:記憶體單元12
F13:記憶體單元13
F14:記憶體單元14
F15:記憶體單元15
F16:記憶體單元16
LL:局部線
OP_CMD:操作信號
P0:資訊
P1:資訊
P2:資訊
P3:資訊
Page1:第一頁面
Page2:第二頁面
Page3:第三頁面
Page4:第四頁面
PASS/FAIL:通過信號/失敗信號
PB1:頁面緩衝器1
PB2:頁面緩衝器2
PBn:頁面緩衝器n
PBSIGNALS:頁面緩衝器控制信號
PPG:實體頁面
Q0:資訊
Q1:資訊
Q2:資訊
Q3:資訊
RADD:行位址
RR:循環
Sector1:第一磁區
Sector2:第二磁區
Sector3:第三磁區
Sector4:第四磁區
SL:源極線
SR<1>:第一狀態暫存器
SR<2>:第二狀態暫存器
SR<3>:第三狀態暫存器
SR<4>:第四狀態暫存器
SR<5>:第五狀態暫存器
SR<6>:第六狀態暫存器
SR<7>:第七狀態暫存器
SR<8>:第八狀態暫存器
SSL:源極選擇線
SST:源極選擇電晶體
Vop:操作電壓
VPB:感測電壓
VRY_BIT<#>:允許位元<#>
Way1:第一通路
Way2:第二通路
Way3:第三通路
Way4:第四通路
XXh:狀態碼/獲取特徵命令/設置特徵命令
對於本發明所屬領域中具有通常知識者而言,本發明的這些和其它特徵和優點將從以下參照所附圖式的詳細描述變得顯而易見。
〔圖1〕是示出根據實施方式的記憶體系統的圖。
〔圖2〕是示出圖1所示的記憶體控制器的示例性配置的圖。
〔圖3〕是示出根據實施方式的記憶體系統的圖。
〔圖4〕是示出圖1所示的記憶體裝置的示例性配置的圖。
〔圖5〕是示出圖4所示的記憶體塊的示例性配置的圖。
〔圖6〕是示出根據實施方式的命令執行處理的圖。
〔圖7〕是示出根據實施方式的命令執行處理的圖。
〔圖8〕是示出根據實施方式的命令佇列結構和報告佇列結構的圖。
〔圖9〕是示出根據實施方式的全路交織操作的圖。
〔圖10〕是示出根據實施方式的記憶體裝置的位址路徑的圖。
〔圖11〕是示出根據實施方式的記憶體裝置的命令路徑的圖。
〔圖12〕是示出根據實施方式的隨機讀取操作的圖。
〔圖13〕是示出根據實施方式的隨機讀取操作的時序圖。
〔圖14〕是示出根據實施方式的隨機編程操作的圖。
〔圖15〕是示出根據實施方式的隨機編程操作的時序圖。
〔圖16〕是示出根據實施方式的工作負載處理方法的時序圖。
〔圖17〕是示出根據實施方式的記憶體裝置的命令佇列介面的時序圖。
〔圖18〕是示出根據實施方式的記憶體裝置的狀態暫存器的配置的時序圖。
〔圖19〕是示出包括如圖2所示的記憶體控制器的記憶體系統的實施方式的圖。
〔圖20〕是示出包括如圖2所示的記憶體控制器的記憶體系統的實施方式的圖。
〔圖21〕是示出包括如圖2所示的記憶體控制器的記憶體系統的實施方式的圖。
〔圖22〕是示出包括如圖2所示的記憶體控制器的記憶體系統的實施方式的圖。
以下,將參照所附圖式詳細描述各種示例性實施方式。然而,我們注意到,本發明可按照不同的其它實施方式、形式及其變化具體實現,並且不應被解釋為限於本文所闡述的實施方式。相反,提供所描述的實施方式以 使得本揭示將徹底和完整,並且將向本發明所屬領域中具有通常知識者充分傳達本發明。
在所附圖式中,為了例示方便,可能誇大元件的厚度和長度。在以下描述中,為了簡單和簡明,可省略相關功能和構造的詳細描述。貫穿說明書和所附圖式,相似的標號表示相似的元件。
還應當注意,在本說明書中,“連接/聯接”不僅指一個元件直接聯接另一元件,而且指透過中間元件間接聯接另一元件。另外,貫穿說明書,當說到特定部分“包括”特定元件時,這不排除包括其它元件,該特定部分還可包括另一元件,除非另外具體地描述。
將理解,儘管本文中可使用術語“第一”、“第二”、“第三”等來描述各種元件,這些元件不受這些術語限制。這些術語用於將一個元件與另一元件相區分。因此,在不脫離本發明的精神和範圍的情況下,下面所描述的第一元件也可被稱為第二元件或第三元件。
另外,還將理解的是,當元件被稱為在兩個元件“之間”時,其可以是這兩個元件之間的僅有元件,或者也可存在一個或更多個中間元件。
本文所使用的術語僅是為了描述特定實施方式,而非意在限制本發明。如本文所使用的,除非上下文另外清楚地指示,否則單數形式旨在也包括複數形式。如本文所使用的,術語“和/或”包括一個或更多個相關所列項的任何和所有組合。
除非另外定義,否則鑒於本揭示,本文所使用的所有術語(包括技術術語和科學術語)具有本發明所屬領域中具有通常知識者通常理解的相同含義。還將理解,諸如常用字典中定義的那些術語應該被解釋為具有與其在本揭 示和相關領域的上下文中的含義一致的含義,並且將不從理想化或過於形式的意義上理解,除非本文中明確地如此定義。
在以下描述中,闡述了許多具體細節以便提供本發明的徹底理解。本發明可在沒有這些具體細節中的一些或全部的情況下實踐。在其它情況下,沒有詳細描述熟知處理結構和/或處理,以免不必要地模糊本發明。
還要注意的是,在一些情況下,對於本發明所屬技術領域中具有通常知識者而言將顯而易見的是,除非另外明確地指示,否則結合一個實施方式描述的特徵或元件可單獨使用或者與實施方式的其它特徵或元件組合使用。
圖1是示出根據實施方式的記憶體系統1000的圖。
參照圖1,記憶體系統1000可包括用於儲存數據的記憶體裝置1100以及在操作上聯接到記憶體裝置1100以用於控制記憶體裝置1100的記憶體控制器1200。記憶體控制器1200還可在操作上聯接到主機2000。記憶體控制器1200可在主機2000的控制下控制記憶體裝置1100的操作。例如,記憶體控制器1200可回應於從主機2000接收的控制命令控制記憶體裝置1100的操作。
主機2000可使用諸如例如高速周邊元件連接(PCI-E)、高級技術附件(ATA)、序列ATA(SATA)、平行ATA(PATA)或序列附接SCSI(SAS)、通用序列匯流排(USB)、多媒體卡(MMC)、增強小型磁片介面(ESDI)或集成驅動電子設備(IDE)等的任何合適的介面協定來與記憶體系統1000通信。
記憶體控制器1200可控制記憶體系統1000的一般操作,包括主機2000與記憶體裝置1100之間的數據交換。例如,記憶體控制器1200可控制記憶體裝置1100以回應於來自主機2000的請求對數據進行編程或讀取。另外,記 憶體控制器1200可儲存關於包括在記憶體裝置1100中的主記憶體塊和子記憶體塊的資訊,並且可根據為編程操作載入的數據的量來選擇記憶體裝置1100對主記憶體塊或子記憶體塊執行編程操作。根據實施方式,記憶體裝置1100可以是或可以包括雙倍數據速率同步動態隨機存取記憶體(DDR SDRAM)、低功率雙倍數據速率4(LPDDR4)SDRAM、圖形雙倍數據速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus動態隨機存取記憶體(RDRAM)、FLASH記憶體等。
記憶體控制器1200可控制記憶體裝置1100執行編程、讀取或擦除操作。
圖2是示出圖1所示的記憶體控制器1200的示例性配置的圖。
參照圖2,記憶體控制器1200可包括在操作上經由匯流排780聯接的處理器710、記憶體緩衝器720、糾錯電路(ECC)730、主機介面740、緩衝器控制電路750、記憶體介面760、數據隨機化器770。
匯流排780可提供在操作上將記憶體控制器1200的各種元件聯接的一個更多個通道。
處理器710可控制記憶體控制器1200的總體操作並且可執行邏輯操作。處理器710可透過主機介面740與外部主機2000通信,並且透過記憶體介面760與記憶體裝置1100通信。此外,處理器710可透過緩衝器控制電路750來與記憶體緩衝器720通信。處理器710可透過將記憶體緩衝器720用來作為操作記憶體、快取記憶體記憶體或緩衝記憶體來控制記憶體系統1000的操作。
處理器710可對從主機2000輸入的複數個命令進行排隊。從主機2000輸入的命令可被稱為主機命令。排隊操作可以是多排隊操作。處理器710可將複數個排隊命令(也稱為排隊標籤)依次傳送到記憶體裝置1100。另外,處 理器710可改變排隊標籤的次序並將重新排序的排隊標籤傳送到記憶體裝置1100。處理器710可使用諸如優先順序權重指派或交叉引用的各種方法以便有效地處理排隊標籤。
記憶體緩衝器720可用來作為處理器710的操作記憶體、快取記憶體記憶體或緩衝記憶體。記憶體緩衝器720可儲存由處理器710執行的代碼和命令。記憶體緩衝器720可儲存由處理器710處理的數據。記憶體緩衝器720可以是或可以包括靜態RAM(SRAM)或動態RAM(DRAM)。
ECC 730可執行糾錯。ECC 730可基於要透過記憶體介面760寫入到記憶體裝置1100的數據來執行改錯碼編碼。編碼的數據可透過記憶體介面760被傳送到記憶體裝置1100。ECC 730可基於透過記憶體介面760從記憶體裝置1100接收的數據來執行改錯碼解碼。在示例中,ECC 730可作為記憶體介面760的元件之一被包括在記憶體介面760中。
主機介面740可被配置為回應於處理器710的控制與外部主機2000通信。主機介面740可使用各種通信方法中的至少一個來執行通信,例如通用序列匯流排(USB)、序列AT附件(SATA)、序列附接SCSI(SAS)、高速晶片間(HSIC)、小型電腦系統介面(SCSI)、周邊元件連接(PCI)、快速PCI(PCIe)、快速非揮發性記憶體(NVMe)、通用快閃記憶體(UFS)、安全數位(SD)、多媒體卡(MMC)、嵌入式MMC(eMMC)、雙列直插記憶體模組(DIMM)、註冊DIMM(RDIMM)、負載減少DIMM(LRDIMM)通信方法等。
緩衝器控制電路750可在處理器710的控制下控制記憶體緩衝器720。
記憶體介面760可在處理器710的控制下與記憶體裝置1100通信。記憶體介面760可透過一個或更多個通道向記憶體裝置1100發送/從記憶體裝置1100接收命令、位址和數據。
在實施方式中,記憶體控制器1200可不包括記憶體緩衝器720和緩衝器控制電路750。因此,記憶體緩衝器720和緩衝器控制電路750是選擇性的。
在操作中,根據實施方式,處理器710可使用一個或更多個代碼來控制記憶體控制器1200的操作。處理器710可從設置在記憶體控制器1200中的非揮發性記憶體裝置(例如,ROM)載入該一個或更多個代碼。在實施方式中,處理器1010可透過記憶體介面760從記憶體裝置1100載入該一個或更多個代碼。
數據隨機化器770可將數據隨機化和/或將隨機化的數據去隨機化。數據隨機化器770可對要透過記憶體介面760寫入到記憶體裝置1100的數據執行數據隨機化。隨機化的數據可透過記憶體介面760被傳送到記憶體裝置1100。數據隨機化器770可對透過記憶體介面760從記憶體裝置1100接收的數據執行去隨機化。在實施方式中,數據隨機化器770可作為記憶體介面760的元件之一被包括在記憶體介面760中。
在實施方式中,記憶體控制器1200的匯流排780可包括控制匯流排和數據匯流排。數據匯流排可被配置為傳送記憶體控制器1200中的數據,並且控制匯流排可被配置為傳送記憶體控制器1200中的諸如命令或位址的控制資訊。數據匯流排和控制匯流排可彼此隔離,並且可既不彼此干擾也不彼此影響。數據匯流排可聯接到主機介面740、緩衝器控制電路750、ECC 730和記憶 體介面760。控制匯流排可聯接到主機介面740、處理器710、緩衝器控制電路750、記憶體緩衝器720和記憶體介面760。
圖3是示出根據本發明的實施方式的記憶體系統1000的圖。圖3示出包括記憶體控制器1200以及透過複數個通道CH1至CH4聯接到記憶體控制器1200的複數個記憶體裝置1111至1114的記憶體系統1000。
參照圖3,記憶體控制器1200可包括第一通道CH1、第二通道CH2、第三通道CH3和第四通道CH4。記憶體控制器1200可透過第一通道CH1與第一通路Way1所對應的第一記憶體裝置1111、第二通路Way2所對應的第二記憶體裝置1112、第三通路Way3所對應的第三記憶體裝置1113以及第四通路Way4所對應的第四記憶體裝置1114通信數據或命令。聯接到第一通道CH1的第一記憶體裝置1111至第四記憶體裝置1114中的每一個可具有與圖1所示的記憶體裝置1100相同的配置。另外,記憶體控制器1200可透過第二通道CH2與第一通路Way1所對應的第一記憶體裝置1121、第二通路Way2所對應的第二記憶體裝置1122、第三通路Way3所對應的第三記憶體裝置1123以及第四通路Way4所對應的第四記憶體裝置1124通信數據或命令。聯接到第二通道CH2的第一記憶體裝置1121至第四記憶體裝置1124中的每一個可具有與圖1所示的記憶體裝置1100相同的配置。
另外,記憶體控制器1200可透過第三通道CH3與第一通路Way1所對應的第一記憶體裝置1131、第二通路Way2所對應的第二記憶體裝置1132、第三通路Way3所對應的第三記憶體裝置1133以及第四通路Way4所對應的第四記憶體裝置1134通信數據或命令。聯接到第三通道CH3的第一記憶體裝置1131至第四記憶體裝置1134中的每一個可具有與圖1所示的記憶體裝置1100相同的 配置。另外,記憶體控制器1200可透過第四通道CH4與第一通路Way1所對應的第一記憶體裝置1141、第二通路Way2所對應的第二記憶體裝置1142、第三通路Way3所對應的第三記憶體裝置1143以及第四通路Way4所對應的第四記憶體裝置1144交換數據或命令。聯接到第四通道CH4的第一記憶體裝置1141至第四記憶體裝置1144中的每一個可具有與圖1所示的記憶體裝置1100相同的配置。然而,我們注意到,記憶體系統1000的通道的數量和通路的數量可不限於四個。記憶體系統1000可包括更少或更多的通道和更少或更多的通路。
由於聯接到第一通道CH1的第一記憶體裝置1111至第四記憶體裝置1114共用第一通道CH1,所以這些記憶體裝置可不同時(即,平行),而是按照順序方式與記憶體控制器1200交換數據或命令。例如,在記憶體控制器1200正在透過第一通道CH1向配置第一通道CH1的第一通路Way1的第一記憶體裝置1111發送數據的同時,分別配置第一通道CH1的第二通路Way2至第四通路Way4的第二記憶體裝置1112至第四記憶體裝置1114可無法透過第一通道CH1與記憶體控制器1200交換數據或命令。即,在共用第一通道CH1的第一記憶體裝置1111至第四記憶體裝置1114中的一個佔用第一通道CH1的同時,聯接到第一通道CH1的其它記憶體裝置可不佔用第一通道CH1。
配置分別聯接到通道CH1至CH4中的一個的複數個通路Way1至Way4的所有記憶體裝置1111至1114、1121至1124、1131至1141或1141至1144可被控制以同時平行執行內部操作(例如,讀取、編程或擦除操作),這可被稱為全路交織(fully-way interleaved)。例如,當分別形成聯接到第一通道CH1的第一通路Way1、第二通路Way2、第三通路Way3和第四通路Way4的第一記憶體裝置1111、第二記憶體裝置1112、第三記憶體裝置1113和第四記憶體裝置1114平 行執行讀取、編程或擦除操作,這被稱為全路交織。當記憶體控制器1200控制記憶體裝置1111至1144全路交織時,記憶體系統1000的性能可被最大化。例如,記憶體控制器1200可確定排隊命令的執行次序以使得記憶體裝置1111至1144可全路交織。這將在下面更詳細地描述。
配置第一通道CH1的第一通路Way1的第一記憶體裝置1111和配置第二通道CH2的第一通路Way1的第一記憶體裝置1121可彼此獨立地與記憶體控制器1200通信。例如,在第一記憶體裝置1200透過第一通道CH1與配置第一通道CH1的第一通路Way1的第一記憶體裝置1111交換數據的同時,記憶體控制器1200可透過第二通道CH2與配置第二通道CH2的第一通路Way1的第一記憶體裝置1121交換數據。例如,聯接到不同通道CH1至CH4的記憶體裝置1111至1144可彼此平行地(即,彼此獨立地)與記憶體控制器1200交換數據。
圖4是示出圖1所示的記憶體裝置1100的示例性配置的圖。
參照圖4,記憶體裝置1100可包括其中儲存數據的記憶體單元陣列100。記憶體裝置1100可包括週邊電路200,週邊電路200被配置為執行將數據儲存在記憶體單元陣列100中的編程操作、輸出所儲存的數據的讀取操作以及擦除所儲存的數據的擦除操作。記憶體裝置1100可包括控制邏輯300,控制邏輯300用於回應於圖1所示的記憶體控制器1200的控制來控制週邊電路200。
記憶體單元陣列100可包括複數個記憶體塊(MB1至MBk)110,其中k是正整數。局部線LL和位元線BL1至BLn可聯接到記憶體塊(MB1至MBk)110,其中n是正整數。例如,局部線LL可包括第一選擇線、第二選擇線以及佈置在第一選擇線和第二選擇線之間的多條字線。另外,局部線LL可包括佈置在第一選擇線與字線之間以及第二選擇線與字線之間的虛擬線。第一選擇 線可以是源極選擇線,並且第二選擇線可以是汲極選擇線。例如,局部線LL可包括字線、汲極選擇線和源極選擇線、以及源極線。例如,局部線LL還可包括虛擬線。例如,局部線LL還可包括管線。局部線LL可分別聯接到記憶體塊(MB1至MBk)110,並且位線BL1至BLn可共同聯接到記憶體塊(MB1至MBk)110。記憶體塊(MB1至MBk)110可具有二維或三維結構。例如,在二維記憶體塊110中,記憶體單元可與基板平行佈置,而在三維記憶體塊110中,記憶體單元可佈置在基板的垂直方向上。
週邊電路200可被配置為回應於控制邏輯300的控制對所選記憶體塊110執行編程、讀取和擦除操作。例如,控制邏輯300可控制週邊電路200將驗證電壓和通過電壓供應給第一選擇線、第二選擇線和字線,選擇性地對第一選擇線、第二選擇線和字線進行放電,並且驗證聯接到字線當中的所選字線的記憶體單元。例如,週邊電路200可包括電壓生成電路210、列解碼器220、頁面緩衝器組230、行解碼器240、輸入/輸出電路250和感測電路260。
電壓生成電路210可回應於操作信號OP_CMD生成被施加以執行編程、讀取和擦除操作的各種操作電壓Vop。另外,電壓生成電路210可回應於操作信號OP_CMD選擇性地對局部線LL進行放電。例如,控制邏輯300可控制電壓生成電路210生成編程電壓、驗證電壓、通過電壓、導通電壓、讀取電壓、擦除電壓和源極線電壓。
列解碼器220可回應於列位址RADD將操作電壓Vop傳送到聯接到所選記憶體塊110的局部線LL。
頁面緩衝器組230可包括聯接到位線BL1至BLn的複數個頁面緩衝器(PB1至PBn)231。頁面緩衝器(PB1至PBn)231可回應於頁面緩衝器控制信號 PBSIGNALS來操作。例如,頁面緩衝器(PB1至PBn)231可暫時地儲存透過位元線BL1至BLn接收的數據,或者在讀取或驗證操作期間感測位線BL1至BLn中的電壓或電流。
行解碼器240可回應於行位址CADD在輸入/輸出電路250與頁面緩衝器組230之間傳送數據。例如,行解碼器240可透過數據線DL與頁面緩衝器231交換數據,或者可透過行線CL與輸入/輸出電路250交換數據。
輸入/輸出電路250可將命令CMD和位址ADD從圖1所示的記憶體控制器1200傳送到控制邏輯300,或者與行解碼器240交換數據DATA。從記憶體控制器1200輸入的命令可被稱為控制器命令。
在讀取操作或驗證操作期間,感測電路260可響應於允許位元VRY_BIT<#>生成基準電流,並且透過將從頁面緩衝器組230接收的感測電壓VPB與透過基準電流生成的基準電壓進行比較來輸出通過信號PASS或失敗信號FAIL。
控制邏輯300可透過回應於命令CMD和位址ADD輸出操作信號OP_CMD、列位址RADD、頁面緩衝器控制信號PBSIGNALS和允許位元VRY_BIT<#>來控制週邊電路200。另外,控制邏輯300可回應於通過信號PASS或失敗信號FAIL確定驗證操作通過還是失敗。
圖5是示出圖4所示的記憶體塊110之一的圖。
參照圖5,記憶體塊110可被配置為使得平行佈置的多條字線可聯接在第一選擇線與第二選擇線之間。第一選擇線可以是源極選擇線SSL,第二選擇線可以是汲極選擇線DSL。更具體地,記憶體塊110可包括聯接在位線BL1至BLn與源極線SL之間的複數個串ST。位線BL1至BLn中的每一條可聯接 到各個串ST,並且源極線SL可共同聯接到串ST。由於串ST可具有彼此相似的配置,所以作為示例將詳細描述聯接到第一位線BL1的串ST。
串ST可包括串聯聯接在源極線SL與第一位線BL1之間的源極選擇電晶體SST、複數個記憶體單元F1至F16和汲極選擇電晶體DST。單個串ST可包括至少一個源極選擇電晶體SST和至少一個汲極選擇電晶體DST,並且可包括比如圖5所示的記憶體單元F1至F16更多的記憶體單元。
源極選擇電晶體SST的源極可聯接到源極線SL,並且汲極選擇電晶體DST的汲極可聯接到第一位線BL1。記憶體單元F1至F16可串聯聯接在源極選擇電晶體SST與汲極選擇電晶體DST之間。包括在不同的串ST中的源極選擇電晶體SST的閘極可聯接到源極選擇線SSL,汲極選擇電晶體DST的閘極可聯接到汲極選擇線DSL,並且記憶體單元F1至F16的閘極可聯接到多條字線WL1至WL16。包括在不同串ST中的記憶體單元當中聯接到同一字線的一組記憶體單元可被稱為實體頁面PPG。因此,記憶體塊110可包括與字線WL1至WL16的數量一樣多的實體頁面PPG。
一個記憶體單元MC可儲存1位元數據。該記憶體單元通常被稱為單級單元(SLC)。在此示例中,單個實體頁面PPG可儲存與單個邏輯頁面LPG對應的數據。單個邏輯頁面LPG的數據可包括與包括在單個實體頁面PPG中的單元的數量一樣多的數據位元。另外,一個記憶體單元MC可儲存兩位元或更多位元的數據。該單元通常被稱為“多級單元(MLC)”。在此示例中,單個實體頁面PPG可儲存與兩個或更多個邏輯頁面LPG對應的數據。
圖6是示出根據實施方式的命令執行處理的圖。
參照圖6,記憶體系統1000的記憶體控制器1200可將從主機2000輸入的命令排隊到控制器命令佇列711。從主機2000輸入的命令可被稱為主機命令。另外,記憶體系統1000的記憶體控制器1200也可將與諸如記憶體系統1000的管家操作的內部操作有關的複數個內部命令排隊到控制器命令佇列711中。
排隊到控制器命令佇列711的複數個命令的執行次序可根據由命令優先順序處理器712指派給排隊命令的優先順序權重來確定。例如,命令優先順序處理器712可將優先順序權重指派給從主機2000輸入的複數個命令中的每一個以及各個內部命令以用於確定這些命令的執行次序。
例如,命令優先順序處理器712可將管理優先順序、緊急優先順序和正常優先順序中的一個指派給複數個命令中的每一個。另外,正常優先順序可被分類為高優先順序、中等優先順序和低優先順序。命令優先順序處理器712可將例如管理優先順序、緊急優先順序、高優先順序、中等優先順序和低優先順序的優先順序中的一個指派給複數個命令中的每一個。
複數個命令的執行次序可根據其指派的優先順序權重來確定。例如,命令優先順序處理器712可向複數個命令當中的讀取命令指派比編程命令更高的優先順序權重,反之亦然。
通路節流器713可將從主機2000輸入的複數個命令或內部命令施加到與複數個通路Way1至Way4對應的記憶體裝置1111至1114中的一個。通路節流器713可將複數個命令中的每一個分配給第一通路Way1至第四通路Way4中的一個,以使得可執行上面參照圖3所描述的全路交織。
例如,當通路節流器713依次接收來自第一記憶體裝置1111的用於讀取第一數據的第一命令、來自第二記憶體裝置1112的用於讀取第二數據的第二命令、來自第三記憶體裝置1113的用於讀取第三數據的第三命令、來自第四記憶體裝置1114的用於讀取第四數據的第四命令,並且隨後接收來自第三記憶體裝置1113的用於讀取第五數據的第五命令以及來自第四記憶體裝置1114的用於讀取第六數據的第六命令時,通路節流器713可按照與其輸入次序不同的方式改變第一至第六命令的執行次序,以使得第一命令和第二命令以及第五命令和第六命令可平行執行,並且與複數個Way1至Way4對應的記憶體裝置1111至1114可全路交織。
當通路節流器713將從主機2000輸入的複數個命令分配給命令通路佇列714的第一通路命令佇列7141至第四通路命令佇列7144時,命令通路佇列714的第一通路命令佇列7141至第四通路命令佇列7144可被完全界限(fully bounded)。當命令通路佇列714的第一通路命令佇列7141至第四通路命令佇列7144被完全界限時,這意味著第一通路命令佇列7141至第四通路命令佇列7144可將所有可排隊的命令排隊。
例如,第一通路命令佇列7141至第四通路命令佇列7144中的每一個可包括N個控制器命令佇列,其中N是自然數。例如,第一通路命令佇列7141至第四通路命令佇列7144中的每一個可包括N個控制器命令佇列時隙,各個時隙能夠接收一個命令。例如,當第一通路命令佇列7141至第四通路命令佇列7144中的每一個包括N個控制器命令佇列時,這意味著第一通路命令佇列7141至第四通路命令佇列7144中的每一個可對最多N個命令進行排隊。因此, N的數目越大,第一通路命令佇列7141至第四通路命令佇列7144中的每一個中可排隊的命令越多。
在操作中,控制器命令佇列711可將複數個優先順序權重中的一個指派給從主機2000輸入的複數個命令中的每一個,並且可考慮全路交織將這些命令排隊到第一通路命令佇列7141至第四通路命令佇列7144中的一個以使得第一通路命令佇列7141至第四通路命令佇列7144可被完全界限。排隊到第一通路命令佇列7141的命令可被施加到配置第一通路Way1的第一記憶體裝置1111,排隊到第二通路命令佇列7142的命令可被施加到配置第二通路Way2的第二記憶體裝置1112,排隊到第三通路命令佇列7143的命令可被施加到配置第三通路Way3的第三記憶體裝置1113,排隊到第四通路命令佇列7144的命令可被施加到配置第四通路Way4的第四記憶體裝置1114。
第一記憶體裝置1111至第四記憶體裝置1114中的每一個可包括裝置佇列610。裝置佇列610可包括M個命令佇列,其中M是自然數。例如,第一記憶體裝置1111至第四記憶體裝置1114中的每一個的裝置佇列610可包括M個裝置命令佇列時隙。當第一記憶體裝置1111至第四記憶體裝置1114中的每一個的裝置佇列610包括M個裝置命令佇列時隙時,這意味著第一記憶體裝置1111至第四記憶體裝置1114中的每一個可對M個命令進行排隊。例如,M的數目越大,第一記憶體裝置1111至第四記憶體裝置1114的各個裝置佇列610中可排隊的命令越多。
第一記憶體裝置1111至第四記憶體裝置1114可將針對所執行的命令的第一至第四報告佇列傳送到控制器命令佇列711。更具體地,記憶體控制器1200可將獲取特徵命令(get feature command)施加到第一記憶體裝置1111至 第四記憶體裝置1114中的每一個,並且第一記憶體裝置1111至第四記憶體裝置1114中的每一個可作為回應回饋關於從記憶體控制器1200接收的命令的執行狀態的資訊,即,回應於獲取特徵命令將報告佇列回饋給控制器命令佇列711。控制器命令佇列711的第一通路命令佇列7141至第四通路命令佇列7144可回應於第一至第四報告佇列改變命令排隊狀態。這將在下面更詳細地描述。第一至第四報告佇列可從各個記憶體裝置1111至1114的相應裝置佇列610發送。
當從主機2000接收複數個命令時,命令優先順序處理器712和通路節流器713可確定要指派給複數個命令中的每一個的優先順序權重以及分配給其的通路。如上所述,第一通路命令佇列7141至第四通路命令佇列7144中的每一個可包括N個控制器命令佇列,其中N是自然數。例如,第一通路命令佇列7141至第四通路命令佇列7144中的每一個可包括N個控制器命令佇列時隙。例如,當第一通路命令佇列7141至第四通路命令佇列7144中的每一個包括N個控制器命令佇列時,意味著第一通路命令佇列7141至第四通路命令佇列7144中的每一個對N個命令進行排隊。
另外,裝置佇列610可包括M個命令佇列,其中M是自然數。例如,第一記憶體裝置1111至第四記憶體裝置1114中的每一個的裝置佇列610可包括M個裝置命令佇列時隙。當第一記憶體裝置1111至第四記憶體裝置1114中的每一個的裝置佇列610包括M個裝置命令佇列時隙時,這意味著第一記憶體裝置1111至第四記憶體裝置1114中的每一個可對M個命令進行排隊。
結果,各個通路可基本上對(N+M)個命令進行排隊。
排隊到第一通路命令佇列7141至第四通路命令佇列7144的命令可分別被施加到第一記憶體裝置1111至第四記憶體裝置1114的相應裝置佇列 610。另外,施加到第一記憶體裝置1111至第四記憶體裝置1114中的每一個的裝置佇列610的命令可透過設置特徵命令(set feature command)來就地更新。
另外,第一記憶體裝置1111至第四記憶體裝置1114可回應於獲取特徵命令傳送第一至第四報告佇列,並且記憶體控制器1200可基於第一至第四報告佇列從第一通路命令佇列7141至第四通路命令佇列7144擦除完全執行的命令。
另外,在排隊到第一記憶體裝置1111至第四記憶體裝置1114中的每一個的裝置佇列610的命令當中完全執行的命令可被自動地擦除。
例如,第一通路命令佇列7141至第四通路命令佇列7144可將未成功執行的命令重新排隊,並且重新排隊的命令可被施加到第一記憶體裝置1111至第四記憶體裝置1114的相應裝置佇列610並被排隊。
如上所述,排隊到第一通路命令佇列7141至第四通路命令佇列7144的命令可按次序或不按次序執行,並且就地更新。另外,施加到第一記憶體裝置1111至第四記憶體裝置1114的相應裝置佇列610的命令可被就地更新。
記憶體裝置1100可回應於獲取特徵命令將包括命令通路佇列714和裝置佇列610的所有佇列映射到隱藏佇列並返回報告佇列。
另外,記憶體裝置1100可回應於設置特徵命令確定命令類型、實體位址映射資訊、命令佇列時隙編號或裝置佇列類型並對命令進行排隊。
命令佇列結構可利用返回的報告佇列中與糾錯失敗或編程/擦除操作通過/失敗對應的位址和命令佇列時隙編號來更新。命令佇列結構可被就地更新。
另外,當發生例外情況時,例如,當糾錯失敗或編程/擦除操作失敗時,可在晶片保持狀態下重新執行排隊。
圖7是示出根據實施方式的命令佇列結構和報告佇列結構的圖。
參照圖7,如圖6所示排隊到控制器命令佇列711的命令的結構(即,命令佇列結構)可包括命令類型、實體位址映射資訊、命令佇列時隙編號和裝置佇列資訊。
命令類型可以是指示讀取命令、編程命令和擦除命令中的一個的資訊。
實體位址映射資訊可包括指示對應命令被分配給第一通路Way1至第四通路Way4當中的哪一個通路的資訊,例如,指示從第一記憶體裝置1111至第四記憶體裝置1114當中選擇哪一個記憶體裝置的資訊。另外,實體位址映射資訊可包括在所選通路中執行對應命令的實體頁面位址、記憶體塊位址和行位址。
例如,當圖6的第一通路命令佇列7141至第四通路命令佇列7144中的每一個包括N個控制器命令佇列時,命令佇列時隙編號可以是指示對應命令被排隊到N個控制器命令佇列當中的哪一個控制器命令佇列的資訊。例如,當第一通路命令佇列7141至第四通路命令佇列7144中的每一個包括N個控制器命令佇列時隙時,命令佇列時隙編號可以是指示對應命令被排隊到N個控制器命令佇列時隙當中的哪一個控制器命令佇列時隙的資訊。
另選地,當第一記憶體裝置1111至第四記憶體裝置1114的圖6的各個裝置佇列610包括M個裝置命令佇列時,命令佇列時隙編號可以是指示對應命令被排隊到M個裝置命令佇列當中的哪一個裝置命令佇列的資訊。例如,當 第一記憶體裝置1111至第四記憶體裝置1114的圖6的各個裝置佇列610包括M個裝置命令佇列時隙時,命令佇列時隙編號可以是指示對應命令被排隊到M個裝置命令佇列時隙當中的哪一個裝置命令佇列時隙的資訊。
裝置佇列資訊可包括指示對應命令被排隊還是放棄的資訊。
如圖6所示關於第一記憶體裝置1111至第四記憶體裝置1114所執行的命令的報告資訊(即,報告佇列結構)可包括例外情況資訊、實體位址映射資訊、命令佇列時隙編號和裝置佇列資訊。
例外情況資訊可包括例如對透過讀取命令讀取的數據的糾錯操作的失敗或通過或者讀取、編程或擦除操作的通過或失敗。
實體位址映射資訊可包括指示對應命令被分配給第一通路Way1至第四通路Way4當中的哪一個通路的資訊(即,指示對應命令被施加到第一記憶體裝置1111至第四記憶體裝置1114當中的哪一個記憶體裝置的資訊)以及在所分配的通路中執行對應命令的實體頁面位址、記憶體塊位址和行位址。
裝置佇列資訊可包括指示對應命令是被排隊還是放棄的資訊或者指示第一通路命令佇列7141至第四通路命令佇列7144當中對應命令被排隊到的對應通路命令佇列是否被完全界限的資訊。
圖6所示的控制器命令佇列711可基於報告佇列來改變排隊命令的優先順序權重,或者基於報告佇列中的命令佇列時隙編號確定控制器命令佇列時隙編號或裝置命令佇列時隙編號。例如,控制器命令佇列711的第一通路命令佇列7141至第四通路命令佇列7144可回應於報告佇列改變命令排隊狀態。
記憶體裝置1100可回應於獲取特徵命令將包括命令通路佇列714和裝置佇列610的所有佇列映射到隱藏佇列並返回報告佇列。
另外,記憶體裝置1110可回應於設置特徵命令確定命令類型、實體位址映射資訊、命令佇列時隙編號或裝置佇列類型並對命令進行排隊。
可利用與返回的報告佇列中的糾錯失敗或編程/擦除操作的通過/失敗對應的位址和命令佇列時隙編號來更新命令佇列結構。命令佇列結構可被就地更新。另外,當發生例外情況時,例如,當糾錯失敗或編程/擦除操作失敗時,可在晶片保持狀態下重新執行排隊。
圖8是示出根據實施方式的全路交織操作的圖。
參照圖8,通路節流器713可將複數個命令排隊到命令通路佇列714的第一通路命令佇列7141至第四通路命令佇列7144中的每一個。隨後,排隊到第一通路命令佇列7141至第四通路命令佇列7144的編程命令可被依次施加到第一記憶體裝置1111至第四記憶體裝置1114,並且第一記憶體裝置1111至第四記憶體裝置1114可平行執行編程命令。例如,通路節流器713和第一通路命令佇列7141至第四通路命令佇列7144可透過執行第一全路交織操作來控制第一記憶體裝置1111至第四記憶體裝置1114執行編程命令。第一記憶體塊MB1 110可被分配為執行施加到第二記憶體裝置1112的編程命令。
在第一全路交織操作期間,例如,當與第二記憶體裝置1112的第一記憶體塊MB1 110所執行的編程命令對應的編程操作失敗時,第二記憶體裝置1112可透過第二報告佇列將例外情況資訊、實體位址映射資訊、命令佇列時隙編號和裝置佇列資訊傳送到通路節流器713。
例如,例外情況資訊可包括指示編程操作失敗的資訊。
實體位址映射資訊可包括指示對應命令被分配給第一通路Way1至第四通路Way4當中的哪一個通路的資訊,即,指示從第一記憶體裝置1111至第四記憶體裝置1114當中選擇哪一個記憶體裝置的資訊。
另外,實體位址映射資訊可包括關於執行編程命令的實體頁面位址、記憶體塊位址和行位址的資訊。在圖8的實施方式中,實體位址映射資訊可包括指示編程命令被施加到配置第二通路Way2的第二記憶體裝置1112的資訊。
第一報告佇列以及第三報告佇列和第四報告佇列可包括指示由第一記憶體裝置1111以及第三記憶體裝置1113和第四記憶體裝置1114執行的命令被正常地執行的資訊。
例如,當第一通路命令佇列7141至第四通路命令佇列7144中的每一個包括N個控制器命令佇列時,命令佇列時隙編號可以是指示對應命令被排隊到N個控制器命令佇列當中的哪一個控制器命令佇列的資訊。例如,當第一通路命令佇列7141至第四通路命令佇列7144中的每一個包括N個控制器命令佇列時隙時,命令佇列時隙編號可以是指示對應命令被排隊到N個控制器命令佇列時隙當中的哪一個控制器命令佇列時隙的資訊。
另選地,當第一記憶體裝置1111至第四記憶體裝置1114的各個裝置佇列610包括M個裝置命令佇列時,命令佇列時隙編號可以是指示對應命令被排隊到M個裝置命令佇列當中的哪一個裝置命令佇列的資訊。例如,當第一記憶體裝置1111至第四記憶體裝置1114的圖6的各個裝置佇列610包括M個裝置命令佇列時隙時,命令佇列時隙編號可以是指示對應命令被排隊到M個裝置命令佇列時隙當中的哪一個裝置命令佇列時隙的資訊。
裝置佇列資訊可包括指示對應命令被排隊還是放棄的資訊。
第二記憶體裝置1112可回應於由記憶體控制器1200施加的獲取特徵命令來傳送第二報告佇列。另外,在第一全路交織操作期間,與第一記憶體裝置1111以及第三記憶體裝置1113和第四記憶體裝置1114所執行的編程命令對應的所有操作可成功。
通路節流器713可回應於從第二記憶體裝置1112接收的第二報告佇列將編程命令重新排隊到命令通路佇列714中的第二通路命令佇列7142。
另外,通路節流器713可將排隊到第一通路命令佇列7141以及第三通路命令佇列7143和第四通路命令佇列7144的其它編程命令施加到第一記憶體裝置1111以及第三記憶體裝置1113和第四記憶體裝置1114。
通路節流器713和第一通路命令佇列7141至第四通路命令佇列7144可透過執行第二全路交織操作來控制第一記憶體裝置1111至第四記憶體裝置1114執行編程命令。在第一全路交織操作期間未成功執行的命令可被施加到第二記憶體裝置1112。另外,為了執行施加到第二記憶體裝置1112的編程命令,可分配第二記憶體塊MB2 110,而非在第一全路交織操作期間編程失敗的第一記憶體塊MB1 110。
在第二全路交織操作期間,例如,當與第二記憶體裝置1112的第二記憶體塊MB2 110所執行的編程命令對應的操作失敗時,第二記憶體裝置1112可透過第二報告佇列將例外情況資訊、實體位址映射資訊和命令佇列時隙編號傳送到通路節流器713。第二記憶體裝置1112可回應於由記憶體控制器1200施加的獲取特徵命令傳送第二報告佇列。
另外,在第二全路交織操作期間,與第一記憶體裝置1111以及第三記憶體裝置1113和第四記憶體裝置1114所執行的編程命令對應的所有操作可成功。
通路節流器713可回應於從第二記憶體裝置1112接收的第二報告佇列將編程命令重新排隊到命令通路佇列714中的第二通路命令佇列7142。
另外,通路節流器713可將排隊到第一通路命令佇列7141以及第三通路命令佇列7143和第四通路命令佇列7144的其它編程命令施加到第一記憶體裝置1111以及第三記憶體裝置1113和第四記憶體裝置1114。
通路節流器713和第一通路命令佇列7141至第四通路命令佇列7144可透過執行第三全路交織操作來控制第一記憶體裝置1111至第四記憶體裝置1114執行編程命令。在第二全路交織操作期間未成功執行的命令可被施加到第二記憶體裝置1112。另外,為了執行施加到第二記憶體裝置1112的編程命令,可分配第三記憶體塊MB3 110,而非分別在第一全路交織操作和第二全路交織操作期間編程失敗的第一記憶體塊MB1 110和第二記憶體塊MB2 110。
在第三全路交織操作期間與第一記憶體裝置1111至第四記憶體裝置1114所執行的編程命令對應的所有編程操作可成功。
透過上述操作,記憶體控制器1200可透過全路交織來控制記憶體裝置1111至1114,從而改進記憶體系統1000的性能。
圖9是示出根據實施方式的記憶體裝置1100的位址路徑的圖。
參照圖9,記憶體裝置1100還可包括圖4的記憶體裝置1100中不包括的裝置佇列610。記憶體裝置1100可將與從記憶體控制器1200的命令通路 佇列714輸入的命令對應的位址ADD排隊到裝置佇列610。該位址可透過位址ADD匯流排輸入。裝置佇列610可被包括在圖4的輸入/輸出電路250中。
裝置佇列610可包括裝置位址佇列620,並且裝置位址佇列620可包括四個裝置位址佇列時隙621至624。例如,裝置位址佇列620可包括與最多四個命令對應的位址。另外,裝置位址佇列時隙編號可在位址被輸入之前與設置特徵命令一起輸入。位址佇列分配器650可基於裝置位址佇列時隙編號將與輸入的命令對應的位址分配給裝置位址佇列620的第一裝置位址佇列時隙621至第四裝置位址佇列時隙624中的每一個。
例如,當裝置位址佇列時隙編號“00”被輸入時,位址佇列分配器650可控制對應位址被排隊到裝置位址佇列620的第一裝置位址命令佇列時隙621。當裝置位址佇列時隙編號“01”被輸入時,位址佇列分配器650可控制對應位址被排隊到裝置位址佇列620的第二裝置位址命令佇列時隙622。另外,當裝置位址佇列時隙編號“10”被輸入時,位址佇列分配器650可控制對應位址被排隊到裝置位址佇列620的第三裝置位址命令佇列時隙623。當裝置位址佇列時隙編號“11”被輸入時,位址佇列分配器650可控制對應位址被排隊到裝置位址佇列620的第四裝置位址命令佇列時隙624。
記憶體裝置1100可將與透過位址匯流排從記憶體控制器1200的命令通路佇列714輸入的命令對應的位址ADD直接輸入到位址MUX 611,而不將位址ADD排隊到裝置位址佇列620。該位址可被稱為旁路位址。位址MUX 611可將排隊到裝置位址佇列620的排隊ADD與在未被排隊到裝置位址佇列620的情況下直接輸入的旁路位址複用,以輸出複用位址ADD。另外,位址MUX 611可與時脈信號CLK同步執行上述複用操作。
從位址MUX 611輸出的複用位址ADD可被輸入到位址計數器310。位址計數器310可基於輸入的複用位址ADD生成列位址RADD和行位址CADD。另外,列解碼器220可回應於列位址RADD選擇記憶體塊110和實體頁面PPG。另外,行解碼器240可回應於行位址CADD在輸入/輸出電路250與頁面緩衝器組230之間傳送數據。例如,行解碼器240可透過圖4所示的數據線DL與頁面緩衝器231交換數據,或者可透過行線CL與輸入/輸出電路250交換數據。位址計數器310可包括圖4所示的控制邏輯300。
圖10是示出根據實施方式的記憶體裝置1100的命令路徑的圖。
參照圖10,記憶體裝置1100還可包括圖4的記憶體裝置1100不包括的裝置佇列610。記憶體裝置1100可將從記憶體控制器1200的命令通路佇列714輸入的命令排隊到裝置佇列610。該命令可透過命令CMD匯流排輸入。裝置佇列610可被包括在圖4的輸入/輸出電路250中。
裝置佇列610除了圖9的配置之外還可包括裝置命令佇列630,並且裝置命令佇列630可包括四個裝置命令佇列時隙631至634。例如,裝置命令佇列630可對最多四個命令進行排隊。另外,裝置命令佇列時隙編號可在命令被輸入之前與設置特徵命令一起輸入。命令佇列分配器660可基於裝置命令佇列時隙編號將輸入命令分配給裝置命令佇列630的第一裝置命令佇列時隙631至第四裝置命令佇列時隙634中的每一個。
例如,當裝置命令佇列時隙編號“00”被輸入時,命令佇列分配器660可控制對應命令被排隊到裝置命令佇列630的第一裝置命令佇列時隙631。當裝置命令佇列時隙編號“01”被輸入時,命令佇列分配器660可控制對應命令被排隊到裝置命令佇列630的第二裝置命令佇列時隙632。另外,當裝置位址佇列 時隙編號“10”被輸入時,命令佇列分配器660可控制對應命令被排隊到裝置命令佇列630的第三裝置命令佇列時隙633。當裝置命令佇列時隙編號“11”被輸入時,命令佇列分配器660可控制對應命令被排隊到裝置命令佇列630的第四裝置命令佇列時隙634。
記憶體裝置1100可將透過命令匯流排從記憶體控制器1200的命令通路佇列714輸入的命令直接輸入到命令MUX 612,而無需將命令排隊到裝置命令佇列630。該命令可被稱為旁路命令。位址MUX 612可將排隊到裝置命令佇列630的排隊命令CMD與在不排隊到裝置命令佇列630的情況下直接輸入的旁路命令複用,以輸出複用位址CMD。另外,命令MUX 612可與時脈信號CLK同步執行上述複用操作。
從命令MUX 612輸出的複用命令CMD可被輸入到命令解碼器320。命令解碼器320可基於輸入的複用命令CMD生成解碼命令CMD,並且解碼命令CMD可被輸入到控制邏輯300。命令解碼器320可被包括在圖4的輸入/輸出電路250中。
裝置佇列610還可包括佇列命令執行控制電路670。佇列命令執行控制電路670可確定排隊到裝置命令佇列630的複數個命令的執行次序和方法。例如,佇列命令執行控制電路670可控制裝置命令佇列630以使得排隊到裝置命令佇列630的複數個隨機編程命令可平行執行。這將在下面更詳細地描述。
記憶體裝置1100的裝置佇列610還可包括狀態暫存器組640。這將在下面更詳細地描述。
圖11是示出根據實施方式的隨機讀取操作的圖。
參照圖11,記憶體裝置1100可平行執行用於複數個隨機讀取操作的命令。記憶體裝置1100可從記憶體控制器1200接收用於讀取儲存在第一頁面Page1中所包括的第一磁區Sector1中的數據的第一命令,並且將第一命令排隊到裝置佇列610的裝置命令佇列630中的第一裝置命令佇列時隙631。記憶體裝置1100可從記憶體控制器1200接收用於讀取儲存在第二頁面Page2中所包括的第二磁區Sector2中的數據的第二命令,並且將第二命令排隊到裝置佇列610的裝置命令佇列630中的第二裝置命令佇列時隙632。記憶體裝置1100可從記憶體控制器1200接收用於讀取儲存在第三頁面Page3中所包括的第三磁區Sector3中的數據的第三命令,並且將第三命令排隊到裝置佇列610的裝置命令佇列630中的第三裝置命令佇列時隙633。記憶體裝置1100可從記憶體控制器1200接收用於讀取儲存在第四頁面Page4中所包括的第四磁區Sector4中的數據的第四命令,並且將第四命令排隊到裝置佇列610的裝置命令佇列630中的第四裝置命令佇列時隙634。
磁區Sector1至Sector4中的每一個可儲存4KB的數據。例如,與第一至第四命令對應的數據可為4KB。另外,頁面Page1至Page4中的每一個可儲存16KB的數據,即,各個頁面可具有四個磁區Sector1至Sector4。然而,要注意的是,各個頁面中的磁區的數量可根據設計而變化。
記憶體裝置1100可從記憶體單元陣列100依次讀取與第一至第四命令對應的數據,並且將依次讀取的數據儲存在頁面緩衝器組230的主緩衝器組233中。
例如,記憶體裝置1100可從記憶體單元陣列100的第一頁面Page1的第一磁區Sector1讀取與第一命令對應的數據,並將讀取的數據儲存在 頁面緩衝器組230的主緩衝器組233中。隨後,記憶體裝置1100可從記憶體單元陣列100的第二頁面Page2的第二磁區Sector2讀取與第二命令對應的數據,並將讀取的數據儲存在頁面緩衝器組230的主緩衝器組233中。隨後,記憶體裝置1100可從記憶體單元陣列1100的第三頁面Page3的第三磁區Sector3讀取與第三命令對應的數據,並將讀取的數據儲存在頁面緩衝器組230的主緩衝器組233中。隨後,記憶體裝置1100可從記憶體單元陣列1100的第四頁面Page4的第四磁區Sector4讀取與第四命令對應的數據,並將讀取的數據儲存在頁面緩衝器組230的主緩衝器組233中。
在與第一至第四命令對應的數據被儲存在主緩衝器組233中之後,記憶體裝置1100可將與第一至第四命令對應的數據同時傳送到頁面緩衝器組230的快取記憶體緩衝器組232。然後,記憶體裝置1100可將儲存在快取記憶體緩衝器組232中的與第一至第四命令對應的數據依次輸出到記憶體控制器1200。
例如,記憶體裝置1100可將儲存在快取記憶體緩衝器組232中的與第一命令對應的數據輸出到記憶體控制器1200(如圖12所示的DOUT1),並且記憶體控制器1200可將從記憶體裝置1100接收的與第一命令對應的數據儲存到讀取緩衝器721的第二子讀取緩衝器7211。讀取緩衝器721可被包括在記憶體緩衝器720中。
在記憶體裝置1100將與第一命令對應的數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新排隊到裝置佇列610的第一命令(圖12中的刷新佇列1)。
隨後,記憶體裝置1100可將儲存在快取記憶體緩衝器組232中的與第二命令對應的數據輸出到記憶體控制器1200(如圖12所示的DOUT2),並且記憶體控制器1200可將從記憶體裝置1100接收的與第二命令對應的數據儲存到讀取緩衝器721的第三子讀取緩衝器7211。
在記憶體裝置1100將與第二命令對應的數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新排隊到裝置佇列610的第二命令(圖12中的刷新佇列2)。
另外,記憶體裝置1100可將儲存在快取記憶體緩衝器組232中的與第三命令對應的數據輸出到記憶體控制器1200(如圖12所示的DOUT3),並且記憶體控制器1200可將從記憶體裝置1100接收的與第三命令對應的數據儲存到讀取緩衝器721的第四子讀取緩衝器7211。
在記憶體裝置1100將與第三命令對應的數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新排隊到裝置佇列610的第三命令(圖12中的刷新佇列3)。
隨後,記憶體裝置1100可將儲存在快取記憶體緩衝器組232中的與第四命令對應的數據輸出到記憶體控制器1200(如圖12所示的DOUT4),並且記憶體控制器1200可將從記憶體裝置1100接收的與第四命令對應的數據儲存到讀取緩衝器721的第五子讀取緩衝器7211。
在記憶體裝置1100將與第四命令對應的數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新排隊到裝置佇列610的第四命令(圖12中的刷新佇列4)。
圖10所示的佇列命令執行控制電路670可控制裝置命令佇列630執行上述操作。
記憶體緩衝器720的讀取緩衝器721可包括第一至第八子讀取緩衝器7211。另外,各個子讀取緩衝器7211可儲存4KB的數據。要注意的是,子讀取緩衝器的數量和各個子讀取緩衝器的數據儲存容量可根據設計而變化。
如上所述,透過使用裝置佇列610的佇列命令執行控制電路670對用於複數個隨機讀取操作的命令進行排隊並平行執行,可改進隨機讀取操作的性能。例如,佇列命令執行控制電路670可控制裝置命令佇列630以使得排隊到裝置命令佇列630的複數個隨機讀取命令可平行執行。另外,當排隊到裝置命令佇列630的命令是用於隨機讀取操作的命令時,佇列命令執行控制電路670可控制裝置命令佇列630以使得排隊到裝置命令佇列630的命令可依次完成和刷新。
圖12是示出根據實施方式的隨機讀取操作的時序圖。圖12是在上面參照圖11描述的隨機讀取操作期間記憶體裝置1100與記憶體控制器1200之間的命令、位址和數據之間的數據交換的詳細示圖。
參照圖12,記憶體裝置1100可從記憶體控制器1200接收用於複數個隨機讀取操作的命令。記憶體控制器1200可首先透過命令/位址CMD/ADD匯流排將讀取命令00h、讀取位址ADD和確認命令30h依次施加到記憶體裝置1100。記憶體裝置1100可回應於設置特徵命令對複數個命令進行排隊。
例如,記憶體控制器1200可將讀取命令00h、讀取位址ADD和確認命令30h依次施加到記憶體裝置1100,隨後可施加用於對複數個命令進行排 隊的設置特徵命令。記憶體裝置1100可回應於設置特徵命令設置用於對複數個命令進行排隊的裝置佇列610。
隨後,記憶體控制器1200可將讀取命令00h、第一讀取位址ADD1和確認命令30h施加到記憶體裝置1100。第一讀取位址ADD1可對應於圖11的第一頁面Page1的第一磁區Sector1。
隨後,記憶體控制器1200可將讀取命令00h、第二讀取位址ADD2和確認命令30h施加到記憶體裝置1100。第二讀取位址ADD2可對應於圖11的第二頁面Page2的第二磁區Sector2。
另外,記憶體控制器1200可將讀取命令00h、第三讀取位址ADD3和確認命令30h施加到記憶體裝置1100。第三讀取位址ADD3可對應於圖11的第三頁面Page3的第三磁區Sector3。
最後,記憶體控制器1200可將讀取命令00h、第四讀取位址ADD4和確認命令30h施加到記憶體裝置1100。第四讀取位址ADD4可對應於圖11的第四頁面Page4的第四磁區Sector4。
記憶體裝置1100可回應於排隊的第一至第四命令如上面參照圖11所述在讀取逝去時間tR期間從記憶體單元陣列100依次讀取與第一至第四命令對應的數據並將讀取的數據儲存在頁面緩衝器組230的主緩衝器組231中。
隨後,記憶體裝置1100可將儲存在主緩衝器組233中的與第一至第四命令對應的數據同時傳送到頁面緩衝器組230的快取記憶體緩衝器組232。
在與第一至第四命令對應的數據被儲存在頁面緩衝器組230的快取記憶體緩衝器組232中之後,記憶體控制器1200可將第一數據輸出命令DOUT1施加到記憶體裝置1100。
回應於第一數據輸出命令DOUT1,記憶體裝置1100可將儲存在快取記憶體緩衝器組232中的與第一命令對應的數據輸出到記憶體控制器1200。
記憶體控制器1200可將從記憶體裝置1100接收的與第一命令對應的數據儲存在圖11所示的讀取緩衝器721的第二子讀取緩衝器7211中。
在記憶體裝置1100將與第一命令對應的數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新排隊到裝置佇列610的第一命令(刷新佇列1)。
上述操作可由佇列命令執行控制電路670執行。
隨後,記憶體控制器1200可將第二數據輸出命令DOUT2施加到記憶體裝置1100,並且記憶體裝置1100可回應於第二數據輸出命令DOUT2將儲存在快取記憶體緩衝器組232中的與第二命令對應的數據輸出到記憶體控制器1200。
記憶體控制器1200可將從記憶體裝置1100接收的與第二命令對應的數據儲存在圖11所示的讀取緩衝器721的第三子讀取緩衝器7211中。
在記憶體裝置1100將與第二命令對應的數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新排隊到裝置佇列610的第二命令(刷新佇列2)。
另外,記憶體控制器1200可將第三數據輸出命令DOUT3施加到記憶體裝置1100,並且記憶體裝置1100可回應於第三數據輸出命令DOUT3將儲存在快取記憶體緩衝器組232中的與第三命令對應的數據輸出到記憶體控制器1200。
記憶體控制器1200可將從記憶體裝置1100接收的與第三命令對應的數據儲存在圖11所示的讀取緩衝器721的第四子讀取緩衝器7211中。
在記憶體裝置1100將與第三命令對應的數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新排隊到裝置佇列610的第三命令(刷新佇列3)。
圖10所示的佇列命令執行控制電路670可控制裝置命令佇列630執行上述操作。
最後,記憶體控制器1200可將第四數據輸出命令DOUT4施加到記憶體裝置1100,並且記憶體裝置1100可回應於第四數據輸出命令DOUT4將儲存在快取記憶體緩衝器組232中的與第四命令對應的數據輸出到記憶體控制器1200。
記憶體控制器1200可將從記憶體裝置1100接收的與第四命令對應的數據儲存在圖11所示的讀取緩衝器721的第五子讀取緩衝器7211中。
在記憶體裝置1100將與第四命令對應的數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新排隊到裝置佇列610的第四命令(刷新佇列4)。
上述操作可由佇列命令執行控制電路670執行。
如上所述,由於記憶體裝置1100可使用裝置佇列610來對用於複數個隨機讀取操作的命令進行排隊並平行執行,所以可改進隨機讀取操作的性能。例如,佇列命令執行控制電路670可控制裝置命令佇列630以使得排隊到裝置命令佇列630的複數個隨機讀取命令可平行執行。
另外,當排隊到裝置命令佇列630的命令是用於隨機編程操作的命令時,佇列命令執行控制電路670可控制裝置命令佇列630以使得排隊到裝置命令佇列630的命令可同時完成和刷新。
圖13是示出根據實施方式的隨機編程操作的圖。
參照圖13,記憶體裝置1100可平行執行用於複數個隨機編程操作的命令。
記憶體裝置1100可從記憶體控制器1200接收利用第一數據對包括在第一頁面Page1中的第一磁區Sector1進行編程的第一命令,將第一命令排隊到裝置佇列610的裝置命令佇列630中的第一裝置命令佇列時隙631,並將第一數據儲存在頁面緩衝器組230的快取記憶體緩衝器組232中。
記憶體裝置1100可從記憶體控制器1200接收利用第二數據對包括在第一頁面Page1中的第二磁區Sector2進行編程的第二命令,將第二命令排隊到裝置佇列610的裝置命令佇列630中的第二裝置命令佇列時隙632,並將第二數據儲存在頁面緩衝器組230的快取記憶體緩衝器組232中。
記憶體裝置1100可從記憶體控制器1200接收利用第三數據對包括在第一頁面Page1中的第三磁區Sector3進行編程的第三命令,將第三命令排隊到裝置佇列610的裝置命令佇列630中的第三裝置命令佇列時隙633,並將第三數據儲存在頁面緩衝器組230的快取記憶體緩衝器組232中。
記憶體裝置1100可從記憶體控制器1200接收利用第四數據對包括在第一頁面Page1中的第四磁區Sector4進行編程的第四命令,將第四命令排隊到裝置佇列610的裝置命令佇列630中的第三裝置命令佇列時隙634,並將第四數據儲存在頁面緩衝器組230的快取記憶體緩衝器組232中。
磁區Sector1至Sector4中的每一個可儲存4KB的數據。例如,第一至第四命令中的每一個的數據可為4KB。另外,單個頁面(例如,頁面Page1)可儲存16KB的數據。
記憶體控制器1200可將儲存在寫入緩衝器722中的第一至第四數據依次傳送到記憶體裝置1100。寫入緩衝器722可被包括在記憶體緩衝器720中。另外,寫入緩衝器722可包括第一至第八子寫入緩衝器7221。
首先,記憶體控制器1200可將儲存在寫入緩衝器722的第二子寫入緩衝器7221中的第一數據傳送到記憶體裝置1100的快取記憶體緩衝器組232,並且記憶體裝置1100可將第一數據儲存在快取記憶體緩衝器組232中。
隨後,記憶體控制器1200可將儲存在寫入緩衝器722的第三子寫入緩衝器7221中的第二數據傳送到記憶體裝置1100的快取記憶體緩衝器組232,並且記憶體裝置1100可將第二數據儲存在快取記憶體緩衝器組232中。
另外,記憶體控制器1200可將儲存在寫入緩衝器722的第四子寫入緩衝器7221中的第三數據傳送到記憶體裝置1100的快取記憶體緩衝器組232,並且記憶體裝置1100可將第三數據儲存在快取記憶體緩衝器組232中。
最後,記憶體控制器1200可將儲存在寫入緩衝器722的第五子寫入緩衝器7221中的第四數據傳送到記憶體裝置1100的快取記憶體緩衝器組232,並且記憶體裝置1100可將第四數據儲存在快取記憶體緩衝器組232中。
上述操作可由佇列命令執行控制電路670控制。
記憶體裝置1100可將與儲存在快取記憶體緩衝器組232中的第一至第四數據對應的數據同時傳送到頁面緩衝器組230的主緩衝器組233。
隨後,記憶體裝置1100可利用儲存在主緩衝器組233中的第一至第四數據同時對記憶體單元陣列100的第一頁面Page1的第一磁區Sector1至第四磁區Sector4進行編程。
隨後,記憶體裝置1100可同時完成並刷新排隊到裝置佇列610的第一至第四命令(刷新佇列1至佇列4)。
上述操作可由佇列命令執行控制電路670控制。記憶體緩衝器720的寫入緩衝器722可包括第一至第八子寫入緩衝器7221。另外,第一至第八子寫入緩衝器7221中的每一個可具有4KB的數據。
如上所述,透過使用裝置佇列610的佇列命令執行控制電路670對用於複數個隨機編程操作的命令進行排隊並平行執行,可改進隨機編程操作的性能。
圖14是示出根據實施方式的隨機編程操作的時序圖。圖14是在上面以圖13描述的隨機編程操作期間記憶體裝置1100與記憶體控制器1200之間的命令、位址和數據之間的數據交換的詳細示圖。
參照圖14,記憶體裝置1100可從記憶體控制器1200接收用於複數個隨機編程操作的命令。記憶體控制器1200可首先透過命令/位址CMD/ADD匯流排將編程命令80h、編程位址ADD和確認命令10h依次施加到記憶體裝置1100。
記憶體裝置1100可回應於設置特徵命令對複數個命令進行排隊。
例如,記憶體控制器1200可將編程命令80h、編程位址ADD、編程數據DIN和第一確認命令10h依次施加到記憶體裝置1100,並且施加用於對編 程命令進行排隊的設置特徵命令。記憶體裝置1100可回應於設置特徵命令來設置用於對複數個命令進行排隊的裝置佇列610。
隨後,記憶體控制器1200可將編程命令80h、第一編程位址ADD1、第一編程數據DIN1和第二確認命令11h施加到記憶體裝置1100(圖14中的佇列1)。
記憶體裝置1100可將第一數據儲存在快取記憶體緩衝器組232中。第一編程位址ADD1可對應於圖13的第一頁面Page1的第一磁區Sector1。另外,第一數據可具有4KB的數據。
隨後,記憶體控制器1200可施加編程命令80h、第二編程位址ADD2、第二編程數據DIN2和第二確認命令11h(圖14中的佇列2)。
記憶體裝置1100可將第二數據儲存在快取記憶體緩衝器組232中。第二編程位址ADD2可對應於圖13的第一頁面Page1的第二磁區Sector2。另外,第二數據可具有4KB的數據。
隨後,記憶體控制器1200可施加編程命令80h、第三編程位址ADD3、第三編程數據DIN3和第二確認命令11h(圖14中的佇列2)。
記憶體裝置1100可將第三數據儲存在快取記憶體緩衝器組232中。第三編程位址ADD3可對應於圖13的第一頁面Page1的第三磁區Sector3。另外,第三數據可具有4KB的數據。
最後,記憶體控制器1200可將編程命令80h、第四編程位址ADD4、第四編程數據DIN4和第二確認命令11h施加到記憶體裝置1100(圖14中的佇列2)。
記憶體裝置1100可將第四數據儲存在快取記憶體緩衝器組232中。第四編程位址ADD4可對應於圖13的第一頁面Page1的第四磁區Sector4。另外,第四數據可具有4KB的數據。
記憶體裝置1100可將儲存在快取記憶體緩衝器組232中的第一至第四數據同時傳送到主緩衝器組233。
另外,記憶體裝置1100可利用儲存在主緩衝器組233中的第一至第四數據同時對第一頁面Page1的第一磁區Sector1至第四磁區Sector4進行編程。
在記憶體裝置1100完成利用第一至第四數據對第一頁面Page1的第一磁區Sector1至第四磁區Sector4編程之後,記憶體裝置110可完成並刷新排隊到裝置佇列610的第一至第四命令(刷新佇列1至佇列4)。
上述操作可由佇列命令執行控制電路670執行。
如上所述,由於記憶體裝置1100使用裝置佇列610對用於複數個隨機編程操作的命令進行排隊並平行執行,所以隨機編程操作的性能可改進。
圖15是示出根據實施方式的命令執行方法的圖。
參照圖15,在第一示例(在圖15中表示為“實施方式-1”)中,記憶體裝置1100的裝置佇列610可包括四個裝置命令佇列,即,第一裝置命令佇列時隙631至第四裝置命令佇列時隙634。
例如,記憶體裝置1100可從記憶體控制器1200接收用於隨機讀取操作的複數個命令。
當裝置佇列610的第一裝置命令佇列時隙631至第四裝置命令佇列時隙634全部填充讀取命令時,記憶體裝置1100可同時地或依次執行佔據裝 置佇列610的第一裝置命令佇列時隙631至第四裝置命令佇列時隙634的讀取命令,以將與第一至第四命令對應的第一至第四讀取數據儲存在頁面緩衝器組230的主緩衝器組233中。
隨後,記憶體裝置1100可將儲存在主緩衝器組233中的第一至第四讀取數據同時傳送到快取記憶體緩衝器組232,並且儲存在快取記憶體緩衝器組232中的第一至第四讀取數據可被依次輸出到記憶體控制器1200。
在將第一讀取數據輸出到記憶體控制器1200之後,記憶體裝置1100可完成並刷新第一裝置命令佇列時隙631的讀取命令。當佔據裝置命令佇列時隙的命令被完成並刷新時,其意味著對應裝置命令佇列時隙能夠對新命令進行排隊。
記憶體裝置1100可對第二至第四讀取數據依次執行上述操作。
隨後,記憶體裝置1100可將附加讀取命令排隊到第一裝置命令佇列時隙631至第四裝置命令佇列時隙634。
在第二示例(在圖15中表示為“實施方式-2”)中,記憶體裝置1100可從記憶體控制器1200接收用於隨機編程操作的複數個命令。
當裝置佇列610的第一裝置命令佇列時隙631至第四裝置命令佇列時隙634全部填充編程命令時,記憶體裝置1100可同時執行佔據裝置佇列610的第一裝置命令佇列時隙631至第四裝置命令佇列時隙634的編程命令。例如,記憶體裝置1100可將儲存在快取記憶體緩衝器組232中的與第一至第四命令對應的第一至第四編程數據同時傳送到主緩衝器組233。
隨後,記憶體裝置1100可利用儲存在主緩衝器組233中的第一至第四編程數據對記憶體單元陣列100進行編程。
在對第一至第四編程數據的編程操作完成之後,記憶體裝置1100可同時完成並刷新第一裝置命令佇列時隙631至第四裝置命令佇列時隙634的編程命令。
隨後,記憶體裝置1100可將附加編程命令排隊到第一至第四命令佇列時隙。
在第三示例(在圖15中表示為“實施方式-3”)中,記憶體裝置1100可從記憶體控制器1200交替地接收用於隨機讀取操作的命令和用於隨機編程操作的命令。
記憶體裝置1100可從記憶體控制器1200接收用於讀取操作的命令並將用於讀取操作的命令排隊到第一裝置命令佇列時隙631。隨後,記憶體裝置1100可從記憶體控制器1200接收用於編程操作的命令。
記憶體裝置1100可立即執行佔據第一裝置命令佇列時隙631的用於讀取操作的命令。例如,記憶體裝置1100可不等待用於附加隨機讀取操作的命令並且可直接執行佔據第一裝置命令佇列時隙631的讀取命令。
上述操作可由佇列命令執行控制電路670執行。
在執行佔據第一命令佇列時隙的讀取命令之後,記憶體裝置1100可接收用於編程操作的命令並將所接收的命令編程操作排隊到第二裝置命令佇列時隙632。
隨後,記憶體裝置1100可從記憶體控制器1200接收用於讀取操作的命令。
記憶體裝置1100可立即執行佔據第二裝置命令佇列時隙632的用於編程操作的命令。例如,記憶體裝置1100可不等待用於附加隨機編程操作的命令並且可直接執行佔據第二裝置命令佇列時隙632的編程命令。
上述操作可由佇列命令執行控制電路670執行。
在執行佔據第二裝置命令佇列時隙632的編程命令之後,記憶體裝置1100可接收用於讀取操作的命令並將所接收的命令排隊到第三裝置命令佇列時隙633。
隨後,記憶體裝置1100可從記憶體控制器1200接收用於編程操作的命令。
記憶體裝置1100可立即執行佔據第三裝置命令佇列時隙633的用於讀取操作的命令。例如,記憶體裝置1100可不等待用於附加隨機讀取操作的命令並且可直接執行佔據第三裝置命令佇列時隙633的讀取命令。
上述操作可由佇列命令執行控制電路670執行。
在執行佔據第三裝置命令佇列時隙633的編程命令之後,記憶體裝置1100可接收用於編程操作的命令並將所接收的命令排隊到第四裝置命令佇列時隙634。
隨後,記憶體裝置1100可從記憶體控制器1200接收用於讀取操作的命令。
記憶體裝置1100可立即執行佔據第四裝置命令佇列時隙634的用於編程操作的命令。例如,記憶體裝置1100可不等待用於附加隨機編程操作的命令並且可直接執行佔據第四裝置命令佇列時隙634的命令。
上述操作可由佇列命令執行控制電路670執行。
圖16是示出根據實施方式的記憶體裝置1100的命令佇列介面的圖。
參照圖16,記憶體控制器1200可在將複數個命令排隊到記憶體裝置1100之前使用設置特徵命令來設置記憶體裝置1100的裝置佇列610。從記憶體控制器1200輸入到記憶體裝置1100的命令佇列結構可與上面參照圖7所述相同。記憶體控制器1200可透過命令/位址CMD/ADD匯流排將設置特徵命令Efh或XXh施加到記憶體裝置1100,並且輸入關於命令佇列結構的複數個資訊P0至P3。隨後,記憶體控制器1200可將用於讀取、編程或擦除操作的命令、位址和數據登錄到記憶體裝置1100。在圖16中,作為示例示出設置特徵命令EFh和XXh。然而,本發明不限於此。
記憶體裝置1100的裝置佇列610可包括狀態暫存器組640,並且狀態暫存器組640可儲存排隊到裝置佇列610的命令的執行狀態。例如,當執行命令以執行編程操作時,記憶體裝置1100可儲存對應編程操作的通過或失敗,即,命令是否正常終止的資訊可被儲存在狀態暫存器組中。
記憶體控制器1200可將狀態碼7Fh和XXh以及獲取特徵命令EEh和XXh輸入到記憶體裝置1100。在圖16中,作為示例示出狀態碼7Fh和XXh以及獲取特徵命令EEh和XXh。然而,本發明不限於此。記憶體裝置1100可回應於狀態碼和獲取特徵命令將包括關於排隊命令的執行的複數個資訊Q0至Q3的報告佇列輸出到記憶體控制器1200。報告佇列結構可與上面參照圖7所述相同。
圖17是示出根據實施方式的記憶體裝置1100的狀態暫存器組640的配置的圖。
參照圖17,儲存在記憶體裝置1100的狀態暫存器組640中的資訊可回應於狀態碼和獲取特徵命令透過八個輸入/輸出(IO)引腳來傳送。
狀態暫存器組640可包括第一狀態暫存器SR<1>至第八狀態暫存器SR<8>。儲存在第一狀態暫存器SR<1>中並透過第一輸入/輸出引腳IO<1>傳送的資訊可指示對應命令通過還是失敗。例如,當記憶體裝置1100的狀態暫存器組640為“7Fh”時,資訊“1”可被儲存在第一狀態暫存器SR<1>中並透過第一輸入/輸出引腳IO<1>傳送,並且可指示對應命令的執行失敗。
儲存在第二狀態暫存器SR<2>中並透過第二輸入/輸出引腳IO<2>傳送的資訊可指示裝置佇列610是否被完全界限。當裝置佇列610包括第一裝置命令佇列631至第四裝置命令佇列634時,如果裝置佇列610被完全界限,則其可指示第一裝置命令佇列631至第四裝置命令佇列634中的每一個排隊有命令。例如,當儲存在記憶體裝置1100的狀態暫存器組640中的資訊為“7Fh”時,資訊“1”可被儲存在第二狀態暫存器SR<2>中並透過第二輸入/輸出引腳IO<2>傳送,並且可指示裝置佇列610被完全界限。
儲存在第三狀態暫存器SR<3>中並透過第三輸入/輸出引腳IO<3>傳送的資訊可指示命令是否被排隊(即,可以是排隊標誌)。例如,當儲存在記憶體裝置1100的狀態暫存器組640中的資訊為“7Fh”時,資訊“1”可被儲存在第三狀態暫存器SR<3>中並透過第三輸入/輸出引腳IO<3>傳送,並且可指示命令被排隊。
儲存在第四狀態暫存器SR<4>中並透過第四輸入/輸出引腳IO<4>傳送的資訊可以是指示命令是否被放棄的資訊(即,可以是放棄標誌)。例如,當儲存在記憶體裝置1100的狀態暫存器組640中的資訊為“7Fh”時,資訊“1”可被 儲存在第四狀態暫存器SR<4>中並透過第四輸入/輸出引腳IO<4>傳送,並且可指示命令被放棄。
儲存在第五狀態暫存器SR<5>中並透過第五輸入/輸出引腳IO<5>傳送的資訊可指示命令是否被暫停。例如,當記憶體裝置1100的狀態暫存器組640為“7Fh”時,資訊“1”可被儲存在第五狀態暫存器SR<5>中並透過第五輸入/輸出引腳IO<5>傳送,並且可指示編程或擦除命令被暫停。
儲存在第六狀態暫存器SR<6>中並透過第六輸入/輸出引腳IO<6>傳送的資訊可指示內部就緒或繁忙狀態。例如,當記憶體裝置1100的狀態暫存器組640為“7Fh”時,資訊“1”可被儲存在第六狀態暫存器SR<6>中並透過第六輸入/輸出引腳IO<6>傳送,並且可指示內部就緒狀態。
儲存在第七狀態暫存器SR<7>中並透過第七輸入/輸出引腳IO<7>傳送的資訊可指示外部就緒或繁忙狀態。例如,當記憶體裝置1100的狀態暫存器組640為“7Fh”時,資訊“1”可被儲存在第七狀態暫存器SR<7>中並透過第七輸入/輸出引腳IO<7>傳送,並且可指示外部就緒狀態。
例如,第八狀態暫存器SR<8>可被預留。
圖18是示出圖6的命令優先順序處理器712的示例性操作的圖。
參照圖18,當從主機2000輸入複數個命令時,記憶體系統1000的記憶體控制器1200可將輸入的命令排隊到控制器命令佇列711。另外,記憶體系統1000的記憶體控制器1200可將與記憶體系統1000中的管家操作有關的複數個內部命令排隊到控制器命令佇列711。
排隊到控制器命令佇列711的複數個命令的執行次序可根據命令優先順序處理器712所指派的優先順序權重來確定。例如,命令優先順序處理 器712可將優先順序權重指派給從主機2000輸入的複數個命令和內部命令以用於確定這些命令的執行次序。
例如,命令優先順序處理器712可將管理優先順序、緊急優先順序、高優先順序、中等優先順序和低優先順序中的至少一個指派給複數個命令中的每一個。複數個命令的執行次序可根據所指派的優先順序權重來確定。例如,命令優先順序處理器712可向複數個命令當中的讀取命令指派比編程命令更高的優先順序權重,反之亦然。
由命令優先順序處理器712指派了管理優先順序的命令可按照最高優先順序執行,而無需與其它命令競爭。另外,由命令優先順序處理器712指派了緊急優先順序的命令可按照循環(RR)方式排隊,並且按照比指派了高優先順序、中等優先順序和低優先順序的命令更高的優先順序執行。
由命令優先順序處理器712指派了高優先順序、中等優先順序和低優先順序的命令可利用優先順序權重按照加權循環(RR)方式排隊,並且執行次序可被確定為使得指派了高優先順序、中等優先順序和低優先順序的命令可比指派了管理優先順序和緊急優先順序的命令晚執行。
圖19是示出包括如圖2所示的記憶體控制器1200的記憶體系統1000的實施方式(30000)的圖。
參照圖19,記憶體系統30000可被具體實現到行動電話、智慧型電話、平板PC、個人數位助理(PDA)或無線通訊裝置中。記憶體系統30000可包括記憶體裝置1100以及用於控制記憶體裝置1100的操作的記憶體控制器1200。記憶體控制器1200可回應於處理器3100的控制來控制記憶體裝置1100的數據存取操作(例如,編程操作、擦除操作或讀取操作)。
記憶體控制器1200可控制編程到記憶體裝置1100中的數據透過顯示器3200顯示。
無線電收發器3300可透過天線ANT發送和接收無線電信號。無線電收發器3300可將透過天線ANT接收的無線電信號改變為可由處理器3100處理的信號。處理器3100可處理從無線電收發器3300接收的信號並將所處理的信號傳送到記憶體控制器1200或顯示器3200。記憶體控制器1200可將處理器3100所處理的信號編程到半導體記憶體裝置1100中。另外,無線電收發器3300可將從處理器3100輸出的信號改變為無線電信號,並透過天線ANT將無線電信號發送到外部裝置。用於控制處理器3100的操作的控制信號或者要由處理器3100處理的數據可作為輸入經由輸入裝置3400輸入,並且輸入裝置3400可包括諸如觸控板和電腦滑鼠的指向裝置、小鍵盤或鍵盤。處理器3100可控制顯示器3200的操作以使得從記憶體控制器1200輸出的數據、或者從無線電收發器3300輸出的數據、或者從輸入裝置3400輸出的數據可經由顯示器3200顯示。記憶體系統30000還可包括在操作上聯接到處理器3100的一個或更多個輸入/輸出埠以用於可移除地聯接通信線纜和/或可攜式記憶體裝置。
根據實施方式,控制記憶體裝置1100的操作的記憶體控制器1200可形成處理器3100的一部分,或者可形成為與處理器3100分離的晶片。
圖20是示出包括圖2所示的記憶體控制器1200和記憶體裝置1100的記憶體系統1000的實施方式(40000)的圖。
參照圖20,記憶體系統40000可被具體實現到個人電腦(PC)、平板PC、小筆電、電子閱讀器、個人數位助理(PDA)、可攜式多媒體播放機(PMP)、MP3播放機或MP4播放機中。
記憶體系統40000可包括記憶體裝置1100以及控制記憶體裝置1100的數據處理操作的記憶體控制器1200。
處理器4100可根據透過輸入裝置4200輸入的數據透過顯示器4300輸出儲存在記憶體裝置1100中的數據。輸入裝置4200的示例可包括諸如觸控板或電腦滑鼠的指向裝置、小鍵盤或鍵盤。
處理器4100可控制記憶體系統40000的一般操作並且控制記憶體控制器1200的操作。根據實施方式,控制記憶體裝置1100的操作的記憶體控制器1200可以是處理器4100的一部分,或者形成為與處理器4100分離的晶片。
圖21是示出包括如圖2所示的記憶體控制器1200的記憶體系統1000的實施方式(50000)的圖。
參照圖21,記憶體系統50000可作為影像處理裝置提供,例如數位相機、附接有數位相機的行動電話、附接有數位相機的智慧型電話或者附接有數位相機的平板PC。
記憶體系統50000可包括記憶體裝置1100以及控制記憶體裝置1100的數據處理操作(例如,編程操作、擦除操作或讀取操作)的記憶體控制器1200。
記憶體系統50000的圖像感測器5200可將光學圖像轉換為數位信號,並且所轉換的數位信號可被傳送到處理器5100或記憶體控制器1200。回應於處理器5100的控制,所轉換的數位信號可透過顯示器5300輸出或者透過記憶體控制器1200被儲存在半導體記憶體裝置1100中。另外,儲存在記憶體裝置1100中的數據可根據處理器5100或記憶體控制器1200的控制透過顯示器5300輸出。
根據實施方式,控制記憶體裝置1100的操作的記憶體控制器1200可以是處理器5100的一部分,或者形成為與處理器5100分離的晶片。
圖22是示出包括如圖2所示的記憶體控制器1200的記憶體系統1000的實施方式(70000)的圖。
參照圖22,記憶體系統70000可以是記憶卡或智慧卡。記憶體系統70000可包括記憶體裝置1100、記憶體控制器1200和卡介面7100。
記憶體控制器1200可控制半導體記憶體裝置1100與卡介面7100之間的數據交換。在實施方式中,卡介面7100可以是安全數位(SD)卡介面或多媒體卡(MMC)介面,但其不限於此。
卡介面7100可根據主機2000的協定對主機2000與記憶體控制器1200之間的數據交換進行介面。根據實施方式,卡介面7100可支援通用序列匯流排(USB)協定和晶片間(IC)USB協議。卡介面可指能夠支援主機60000所使用的協定的硬體、安裝在硬體中的軟體或者信號傳輸方法。
根據本揭示,可使用對複數個命令進行排隊的記憶體裝置改進記憶體系統的性能。
對於本發明所屬技術領域中具有通常知識者而言將顯而易見的是,在不脫離本發明的精神或範圍的情況下,可對本發明的上述示例性實施方式進行各種修改。因此,本發明旨在涵蓋所有這些修改,只要它們落入所附申請專利範圍及其均等範圍內即可。
610:裝置佇列
711:控制器命令佇列
712:命令優先順序處理器
713:通路節流器
714:命令通路佇列
1000:記憶體系統
1111:第一記憶體裝置
1112:第二記憶體裝置
1113:第三記憶體裝置
1114:第四記憶體裝置
1200:記憶體控制器
2000:主機
7141:第一通路命令佇列
7142:第二通路命令佇列
7143:第三通路命令佇列
7144:第四通路命令佇列
Way1:第一通路
Way2:第二通路
Way3:第三通路
Way4:第四通路

Claims (33)

  1. 一種記憶體系統,該記憶體系統包括:複數個通路,對應於通道;複數個記憶體裝置,分別對應於所述複數個通路;以及記憶體控制器,其係透過所述通道與所述複數個記憶體裝置通信,其中,所述複數個記憶體裝置中的每一個包括裝置佇列,其中,所述裝置佇列對從所述記憶體控制器輸入的複數個控制器命令進行排隊,其中,所述記憶體控制器包括與所述複數個通路分別對應的複數個通路命令佇列,以及其中,所述複數個記憶體裝置中的每一個,對應於排隊到所述裝置佇列的所述複數個控制器命令以及排隊到所述複數個通路命令佇列中對應的通路命令佇列的複數個命令。
  2. 如請求項1所述的記憶體系統,其中,所述記憶體控制器包括用於對從主機輸入的複數個主機命令進行排隊的控制器命令佇列,並且其中,所述控制器命令佇列包括與所述複數個通路對應的所述複數個通路命令佇列。
  3. 如請求項2所述的記憶體系統,其中,所述控制器命令佇列包括命令優先順序處理器,該命令優先順序處理器用於向所述主機命令指派優先順序權重,並且其中,所述主機命令的執行次序是基於所述優先順序權重來確定的。
  4. 如請求項2所述的記憶體系統,其中,所述控制器命令佇列包括通路節流器,該通路節流器將所述主機命令分配給所述複數個通路命令佇列以使得所述複數個記憶體裝置全路交織。
  5. 如請求項4所述的記憶體系統,其中,所述控制器命令佇列包括命令優先順序處理器,該命令優先順序處理器分別向所述主機命令指派優先順序權重,並且其中,所述通路節流器基於所述優先順序權重將所述主機命令分配給所述複數個通路命令佇列。
  6. 如請求項2所述的記憶體系統,其中,所述控制器命令佇列包括通路節流器,該通路節流器用於將所述主機命令分配給所述複數個通路命令佇列以使得所述複數個通路命令佇列被完全界限。
  7. 如請求項2所述的記憶體系統,其中,所述控制器命令佇列基於從所述複數個記憶體裝置輸出的報告佇列來控制所述複數個通路命令佇列。
  8. 如請求項7所述的記憶體系統,其中,所述報告佇列包括例外情況資訊,其係與所述複數個控制器命令的執行關聯、實體位址映射資訊和命令佇列時隙編號中的至少一個。
  9. 如請求項8所述的記憶體系統,其中,所述複數個記憶體裝置回應於獲取特徵命令輸出所述報告佇列。
  10. 如請求項1所述的記憶體系統,其中,所述裝置佇列包括:裝置命令佇列,該裝置命令佇列用於對所述複數個控制器命令進行排隊;以及 佇列命令執行控制電路,該佇列命令執行控制電路用於控制所述裝置命令佇列以使得排隊到所述裝置命令佇列的所述複數個控制器命令被平行執行。
  11. 如請求項10所述的記憶體系統,該記憶體系統還包括裝置位址佇列,該裝置位址佇列用於對與所述複數個控制器命令對應的位址進行排隊。
  12. 如請求項10所述的記憶體系統,其中,所述裝置命令佇列包括複數個裝置命令佇列時隙,並且所述裝置佇列還包括命令佇列分配器,該命令佇列分配器用於基於裝置命令佇列時隙編號將所述複數個控制器命令分配給所述複數個裝置命令佇列時隙。
  13. 如請求項10所述的記憶體系統,其中,所述裝置佇列還包括狀態暫存器組,該狀態暫存器組儲存排隊到所述裝置命令佇列的所述複數個控制器命令中的每一個的執行狀態。
  14. 如請求項10所述的記憶體系統,其中,所述裝置佇列回應於設置特徵命令對所述複數個控制器命令進行排隊。
  15. 如請求項14所述的記憶體系統,其中,所述裝置佇列接收命令佇列,並且其中,所述命令佇列包括所述控制器命令的命令類型、實體位址映射資訊和命令佇列時隙編號中的至少一個。
  16. 如請求項1所述的記憶體系統,其中,所述裝置佇列包括: 裝置命令佇列,該裝置命令佇列用於對用於複數個隨機讀取操作的複數個隨機讀取命令進行排隊;以及佇列命令執行控制電路,該佇列命令執行控制電路用於控制所述裝置命令佇列以使得排隊到所述裝置命令佇列的所述複數個隨機讀取命令被平行執行。
  17. 如請求項16所述的記憶體系統,其中,所述佇列命令執行控制電路依次完成並刷新排隊到所述裝置命令佇列的所述複數個隨機讀取命令。
  18. 如請求項1所述的記憶體系統,其中,所述裝置佇列包括:裝置命令佇列,該裝置命令佇列用於對用於複數個隨機編程操作的複數個隨機編程命令進行排隊;以及佇列命令執行控制電路,該佇列命令執行控制電路控制所述裝置命令佇列以使得排隊到所述裝置命令佇列的所述複數個隨機編程命令被平行執行。
  19. 如請求項18所述的記憶體系統,其中,所述佇列命令執行控制電路同時完成並刷新排隊到所述裝置命令佇列的所述複數個隨機編程命令。
  20. 如請求項1所述的記憶體系統,其中,所述裝置佇列包括:裝置命令佇列,該裝置命令佇列包括第一裝置命令佇列時隙和第二裝置命令佇列時隙;以及佇列命令執行控制電路,該佇列命令執行控制電路用於控制排隊到所述裝置命令佇列的所述複數個命令的執行, 其中,當在用於讀取操作的第一命令被排隊到所述第一裝置命令佇列時隙之後輸入用於編程操作的第二命令時,所述佇列命令執行控制電路執行所述第一命令而無需等待用於附加讀取操作的命令。
  21. 如請求項3所述的記憶體系統,其中,所述命令優先順序處理器將管理優先順序、緊急優先順序和正常優先順序中的一個指派給各個所述主機命令,並且指派了所述管理優先順序的命令以最高優先順序執行,而無需與其它命令競爭。
  22. 如請求項21所述的記憶體系統,其中,指派了所述正常優先順序的命令按照循環方式排隊。
  23. 一種記憶體系統,該記憶體系統包括:第一通路至第N通路,對應於通道,其中N是2或更大的自然數;分別與所述第一通路至第N通路對應的第一通路命令佇列至第N通路命令佇列;以及與所述第一通路至所述第N通路對應的第一記憶體裝置至第N記憶體裝置,其中,所述第一通路命令佇列至所述第N通路命令佇列中的每一個對M個命令進行排隊,其中M是2或更大的自然數,其中,所述第一記憶體裝置至所述第N記憶體裝置中的每一個包括裝置佇列,其中,所述裝置佇列包括: 裝置命令佇列,該裝置命令佇列用於對依次輸入的L個命令進行排隊,其中L是2或更大的自然數;以及佇列命令執行控制電路,該佇列命令執行控制電路用於控制排隊到所述裝置命令佇列的所述L個命令的執行,其中,所述佇列命令執行控制電路控制所述裝置命令佇列以使得所述L個命令被平行執行,以及其中,所述M個命令排隊到所述第一通路命令佇列至所述第N通路命令佇列中對應的通路命令佇列,以及所述L個命令排隊到所述第一記憶體裝置至所述第N記憶體裝置中的每一個對應的所述裝置佇列。
  24. 如請求項23所述的記憶體系統,該記憶體系統還包括:優先順序處理器,該優先順序處理器用於指派優先順序權重以用於確定所述L個命令的執行次序;以及通路節流器,該通路節流器用於將指派了所述優先順序權重的所述L個命令分配給第一命令佇列至第N命令佇列以使得所述第一記憶體裝置至所述第N記憶體裝置全路交織。
  25. 如請求項23所述的記憶體系統,其中,所述裝置佇列回應於設置特徵命令對所述L個命令進行排隊並回應於獲取特徵命令輸出報告佇列。
  26. 如請求項23所述的記憶體系統,其中,所述第一通路命令佇列至所述第N通路命令佇列回應於報告佇列改變命令排隊狀態。
  27. 如請求項23所述的記憶體系統,其中,當排隊到所述裝置命令佇列的所述L個命令用於隨機編程操作時,所述佇列命令執行控制電路控制 所述裝置命令佇列以使得排隊到所述裝置命令佇列的所述L個命令被同時完成並刷新。
  28. 一種操作記憶體系統的方法,該方法包括以下步驟:執行第一排隊操作以將從主機依次輸入的複數個命令排隊到複數個通路命令佇列當中的第一通路命令佇列;將所述複數個命令依次傳送到與通道以及所述複數個通路命令佇列對應的複數個記憶體裝置當中與所述第一通路命令佇列對應的第一記憶體裝置;執行第二排隊操作以將所述複數個命令排隊到所述第一記憶體裝置的裝置佇列;執行第三排隊操作以將從所述主機依次輸入的複數個新命令排隊到所述第一通路命令佇列;以及由所述第一記憶體裝置平行執行對應於所述第二排隊操作以及第三排隊操作的複數個命令。
  29. 如請求項28所述的方法,該方法還包括在所述第一排隊操作之前將優先順序權重指派給從所述主機依次輸入的所述複數個命令。
  30. 如請求項29所述的方法,該方法還包括考慮全路交織將指派了所述優先順序權重的所述命令分配給所述複數個通路命令佇列。
  31. 如請求項28所述的方法,該方法還包括在執行所述複數個命令之後同時完成並刷新所述命令。
  32. 如請求項28所述的方法,該方法還包括在執行所述命令之後回應於獲取特徵命令輸出關於所述命令的執行狀態資訊;以及 回應於所述執行狀態資訊改變所述第一通路命令佇列的命令排隊狀態。
  33. 一種記憶體系統,該記憶體系統包括:複數個記憶體裝置,對應於通道,以及各個所述記憶體裝置具有裝置佇列;以及控制器,該控制器具有分別與所述記憶體裝置對應的複數個命令佇列,其中,所述控制器係適合用於:根據預定次序將命令排隊到各個記憶體裝置的所述命令佇列中;將來自所述命令佇列的所述命令提供給所述裝置佇列當中的各自相應的裝置佇列;並且根據各自相應的裝置佇列中排隊的所述命令來控制各個所述記憶體裝置獨立地平行執行操作,其中,所述命令排隊到所述裝置佇列,以及所述命令排隊到所述複數個記憶體裝置中的每一個對應的所述複數個命令佇列中對應的命令佇列。
TW107114206A 2017-09-20 2018-04-26 記憶體裝置、記憶體系統及其操作方法 TWI770165B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020170121096A KR20190032809A (ko) 2017-09-20 2017-09-20 메모리 시스템 및 그것의 동작 방법
KR10-2017-0121096 2017-09-20
??10-2017-0121096 2017-09-20

Publications (2)

Publication Number Publication Date
TW201915731A TW201915731A (zh) 2019-04-16
TWI770165B true TWI770165B (zh) 2022-07-11

Family

ID=65720211

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107114206A TWI770165B (zh) 2017-09-20 2018-04-26 記憶體裝置、記憶體系統及其操作方法

Country Status (4)

Country Link
US (1) US11099776B2 (zh)
KR (1) KR20190032809A (zh)
CN (1) CN109521945B (zh)
TW (1) TWI770165B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182102B2 (en) 2018-12-28 2021-11-23 Micron Technology, Inc. Host inquiry response generation in a memory device
US11341063B2 (en) * 2019-01-31 2022-05-24 Dell Products L.P. Systems and methods for safely detecting indeterminate states of ranges in a self-encrypting storage resource
KR20200129700A (ko) * 2019-05-09 2020-11-18 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
CN110221780B (zh) 2019-05-30 2022-09-27 合肥沛睿微电子股份有限公司 存储器控制器、存储器控制方法、以及电脑系统
TWI714116B (zh) * 2019-06-05 2020-12-21 大陸商合肥沛睿微電子股份有限公司 記憶體控制器、記憶體控制方法、以及電腦系統
US11327690B2 (en) 2019-11-13 2022-05-10 Google Llc Enhanced input of machine-learning accelerator activations
JP7337006B2 (ja) 2020-03-03 2023-09-01 キオクシア株式会社 メモリシステムおよび制御方法
US11404095B1 (en) 2021-01-21 2022-08-02 Micron Technology, Inc. Reduced pin status register
US20220334774A1 (en) * 2021-04-15 2022-10-20 Vmware, Inc. Low latency virtual memory management
US11726713B2 (en) * 2021-06-25 2023-08-15 Western Digital Technologies, Inc. Systems and methods for priority command data fetching management
US11861228B2 (en) 2021-08-06 2024-01-02 Micron Technology, Inc. Memory status command aggregation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239852A1 (en) * 2008-06-25 2012-09-20 Stec, Inc. High speed input/output performance in solid state devices
US20130262762A1 (en) * 2012-03-30 2013-10-03 Fujitsu Limited Storage system and storage control method
TW201342067A (zh) * 2011-12-13 2013-10-16 Micron Technology Inc 用於排序記憶體回應之記憶體裝置,電腦系統及方法
TW201523271A (zh) * 2013-09-10 2015-06-16 Qualcomm Inc 於嵌入式記憶體中提供命令佇列
US20160041774A1 (en) * 2013-05-21 2016-02-11 Sandisk Technologies Inc. Command and data selection in storage controller systems
CN106662979A (zh) * 2014-04-29 2017-05-10 桑迪士克科技有限责任公司 在非易失性存储器系统中基于用电量的节流命令执行

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429313B2 (en) * 2004-05-27 2013-04-23 Sandisk Technologies Inc. Configurable ready/busy control
JP2007164451A (ja) * 2005-12-13 2007-06-28 Fujitsu Ltd 入出力制御方法、入出力制御プログラムおよび磁気ディスク装置
US8078848B2 (en) * 2009-01-09 2011-12-13 Micron Technology, Inc. Memory controller having front end and back end channels for modifying commands
US8266361B1 (en) * 2009-01-28 2012-09-11 Cypress Semiconductor Corporation Access methods and circuits for devices having multiple buffers
US8055816B2 (en) 2009-04-09 2011-11-08 Micron Technology, Inc. Memory controllers, memory systems, solid state drives and methods for processing a number of commands
US20120167100A1 (en) 2010-12-23 2012-06-28 Yan Li Manual suspend and resume for non-volatile memory
KR20130084902A (ko) 2012-01-18 2013-07-26 삼성전자주식회사 저장 장치, 저장 시스템 및 저장 장치에 대한 입출력 제어 방법
JP5722264B2 (ja) * 2012-03-23 2015-05-20 株式会社日立ハイテクノロジーズ データ処理装置、データ容量増加抑制方法
WO2013164869A1 (en) * 2012-05-02 2013-11-07 Hitachi, Ltd. Storage system and control method therefor
US9335952B2 (en) * 2013-03-01 2016-05-10 Ocz Storage Solutions, Inc. System and method for polling the status of memory devices
JP6160294B2 (ja) * 2013-06-24 2017-07-12 富士通株式会社 ストレージシステム、ストレージ装置及びストレージシステムの制御方法
US9471254B2 (en) * 2014-04-16 2016-10-18 Sandisk Technologies Llc Storage module and method for adaptive burst mode
CN104238962B (zh) * 2014-09-16 2018-02-06 华为技术有限公司 向缓存中写入数据的方法及装置
KR102367982B1 (ko) * 2015-06-22 2022-02-25 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US9905277B2 (en) * 2015-06-30 2018-02-27 Industrial Technology Research Institute Memory controlling method and memory system
US10866910B2 (en) * 2015-09-28 2020-12-15 Sandisk Technologies Llc Systems, methods, and computer-readable media for managing instruction fetch in virtual computing environments
US10459634B2 (en) * 2015-10-31 2019-10-29 Sandisk Technologies Llc Methods, systems, and computer readable media for aggregating completion entries in a nonvolatile storage device
US10331600B1 (en) * 2016-03-31 2019-06-25 EMC IP Holding Company LLC Virtual I/O queuing
CN105912307B (zh) 2016-04-27 2018-09-07 浪潮(北京)电子信息产业有限公司 一种Flash控制器数据处理方法及装置
US10228880B2 (en) * 2016-09-06 2019-03-12 HGST Netherlands B.V. Position-aware primary command queue management
CN107092445B (zh) * 2017-05-31 2020-05-29 郑州云海信息技术有限公司 一种多通道ssd固态盘io调度方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239852A1 (en) * 2008-06-25 2012-09-20 Stec, Inc. High speed input/output performance in solid state devices
TW201342067A (zh) * 2011-12-13 2013-10-16 Micron Technology Inc 用於排序記憶體回應之記憶體裝置,電腦系統及方法
US20130262762A1 (en) * 2012-03-30 2013-10-03 Fujitsu Limited Storage system and storage control method
US20160041774A1 (en) * 2013-05-21 2016-02-11 Sandisk Technologies Inc. Command and data selection in storage controller systems
TW201523271A (zh) * 2013-09-10 2015-06-16 Qualcomm Inc 於嵌入式記憶體中提供命令佇列
CN106662979A (zh) * 2014-04-29 2017-05-10 桑迪士克科技有限责任公司 在非易失性存储器系统中基于用电量的节流命令执行

Also Published As

Publication number Publication date
CN109521945A (zh) 2019-03-26
US20190087129A1 (en) 2019-03-21
TW201915731A (zh) 2019-04-16
US11099776B2 (en) 2021-08-24
KR20190032809A (ko) 2019-03-28
CN109521945B (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
TWI770165B (zh) 記憶體裝置、記憶體系統及其操作方法
TWI782977B (zh) 記憶體系統及其操作方法
CN109683805B (zh) 存储器系统及其操作方法
CN109783397B (zh) 存储器系统及其操作方法
KR102518884B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR102516547B1 (ko) 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US11698748B2 (en) Memory comprising memory controller configured to determine a logical address of a target zone system and method of operating the memory controller
CN109697024B (zh) 存储器系统及其操作方法
US20190121727A1 (en) Memory system and method for operating the same
US20210357155A1 (en) Memory system and operating method thereof
US20190138440A1 (en) Memory system and operating method thereof
US11474939B2 (en) Memory device for improving speed of cache read operation and method of operating the same
KR20190043860A (ko) 메모리 시스템 및 이의 동작 방법
US20190227746A1 (en) Memory system and operating method thereof
CN109902031B (zh) 存储系统及其操作方法
US11392326B2 (en) Memory device and method of operating the memory device