TW202338622A - 儲存裝置及其操作方法 - Google Patents
儲存裝置及其操作方法 Download PDFInfo
- Publication number
- TW202338622A TW202338622A TW112110164A TW112110164A TW202338622A TW 202338622 A TW202338622 A TW 202338622A TW 112110164 A TW112110164 A TW 112110164A TW 112110164 A TW112110164 A TW 112110164A TW 202338622 A TW202338622 A TW 202338622A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory device
- buffer memory
- memory
- host
- data
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title 1
- 230000015654 memory Effects 0.000 claims abstract description 276
- 239000000872 buffer Substances 0.000 claims abstract description 157
- 230000004044 response Effects 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 23
- 230000002093 peripheral effect Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000012795 verification Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 230000001276 controlling effect Effects 0.000 description 8
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 2
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 2
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/0656—Data buffering 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/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
- 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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明係關於一種儲存裝置,該儲存裝置包括:記憶體裝置,具有多個記憶體單元,並且執行程式操作以將寫入資料儲存在多個記憶體單元中;緩衝記憶體裝置,臨時在其中儲存寫入資料;以及記憶體控制器,控制緩衝記憶體裝置和記憶體裝置以回應於從主機接收的寫入命令而將從主機中包括的主機記憶體接收的寫入資料臨時儲存在緩衝記憶體裝置中並且將寫入資料從緩衝記憶體裝置提供到記憶體裝置,其中記憶體控制器包括緩衝記憶體管理器,該緩衝記憶體管理器基於緩衝記憶體裝置的已使用容量來確定在第一時間點還是第二時間點向主機傳送關於寫入命令的命令完成。
Description
多種實施例整體上係關於一種儲存裝置,並且更具體地,係關於一種儲存裝置及其操作方法。
儲存裝置被配置為回應於諸如電腦或智慧型手機的主機裝置的控制來儲存資料。儲存裝置可以包括儲存資料的記憶體裝置和控制記憶體裝置的記憶體控制器。記憶體裝置可以分為揮發性記憶體裝置和非揮發性記憶體裝置。
揮發性記憶體裝置只要在供電時就可以保留資料,並且在沒有供電時可能會丟失所儲存的資料。揮發性記憶體裝置的類型可以包括靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)等。
非揮發性記憶體裝置即使沒有供電也不會丟失資料。非揮發性記憶體裝置的類型可以包括唯讀記憶體(ROM)、可程式記憶體(PROM)、電可程式ROM(EPROM)、電可抹除可程式ROM(EEPROM)、快閃記憶體等。
相關申請案的交叉引用:
本發明請求於2022年3月24日提交的韓國專利申請第10-2022-0036890號的優先權,其整體透過引用併入本文。
本發明的多種實施例係關於一種有效地使用緩衝記憶體裝置的儲存裝置以及操作該儲存裝置的方法。
根據本發明的實施例,一種儲存裝置可以包括:記憶體裝置,包括多個記憶體單元,並且執行程式操作以將寫入資料儲存在多個記憶體單元中;緩衝記憶體裝置,臨時在其中儲存寫入資料;以及記憶體控制器,控制緩衝記憶體裝置和記憶體裝置,以回應於從主機接收的寫入命令而將從主機中包括的主機記憶體接收的寫入資料臨時儲存在緩衝記憶體裝置中並且將寫入資料從緩衝記憶體裝置提供到記憶體裝置,其中記憶體控制器包括緩衝記憶體管理器,該緩衝記憶體管理器基於緩衝記憶體裝置的已使用容量來確定在第一時間點還是第二時間點向主機傳送關於寫入命令的命令完成。
根據本發明的實施例,一種儲存裝置可以包括:記憶體裝置,包括多個記憶體單元,並且被配置為執行寫入操作以將寫入資料儲存在多個記憶體單元中;緩衝記憶體裝置,臨時儲存待提供給記憶體裝置的寫入資料;以及記憶體控制器,控制緩衝記憶體裝置和記憶體裝置,以回應於從主機接收的寫入請求而將寫入資料從主機記憶體提取到緩衝記憶體裝置並且向記憶體裝置提供臨時儲存在緩衝記憶體裝置中的寫入資料,其中記憶體控制器包括緩衝記憶體管理器,該緩衝記憶體管理器基於包括指示多個程式操作的多程式旗標的寫入請求,確定在第一時間點還是第二時間點向主機傳送關於寫入命令的命令完成。
根據本發明的實施例,一種操作記憶體控制器的方法可以包括:從主機接收寫入命令,向緩衝記憶體裝置分配與寫入命令相對應的並且從主機記憶體接收的寫入資料,將寫入資料儲存在緩衝記憶體裝置中,確定何時向主機傳送關於寫入命令的命令完成,向記憶體裝置提供程式命令和緩衝記憶體裝置中儲存的寫入資料,並且控制記憶體裝置利用所提供的寫入資料來執行程式操作。
根據本發明的實施例,一種控制器的操作方法可以包括:根據寫入請求來控制記憶體裝置在其中儲存所緩衝的資料,並且根據所緩衝的資料的當前數量在控制記憶體裝置之前或之後對寫入請求進行回應。
根據本發明的實施例,一種控制器的操作方法可以包括:控制記憶體裝置以根據寫入請求在其中儲存所緩衝的資料,並且根據寫入請求內的多程式旗標在控制記憶體裝置之前或之後對寫入請求進行回應。
示出根據本說明書中揭露的概念的實施例的特定結構或功能描述僅僅為了描述根據這些概念的實施例,並且根據這些概念的實施例可以透過各種形式執行,但是該描述不限於本說明書中描述的實施例。
圖1是示出根據本發明的實施例的儲存裝置1000的方塊圖。
參照圖1,儲存裝置1000可以包括記憶體裝置100、記憶體控制器200和緩衝記憶體裝置300。
儲存裝置1000可以被配置成回應於主機2000的控制而儲存資料。儲存裝置1000的示例可以包括行動電話、智慧型手機、MP3播放器、筆記型電腦、桌上型電腦、遊戲機、顯示裝置、平板PC和車載資訊娛樂系統。
儲存裝置1000可以根據對應於與主機2000的通訊方法的主機介面而被製造為各種類型的儲存裝置中的一種。例如,儲存裝置1000可以被配置為諸如以下的各種儲存裝置中的任意一種:SSD、SD、迷你SD和微型SD形式的安全數位卡,通用序列匯流排(USB)儲存裝置,個人電腦記憶卡國際協會(PCMCIA)卡型儲存裝置,外圍組件互連(PCI)卡型儲存裝置,高速PCI(PCI-e或PCIe)卡型儲存裝置,緊凑型快閃(CF)卡,智能媒體卡和記憶棒。
儲存裝置1000可以被製造為各種類型的封裝中的任意一種。例如,儲存裝置1000可以被製造為諸如以下的各種封裝類型中的任意一種:堆疊封裝(POP)、系統級封裝(SIP)、系統單晶片(SOC)、多晶片封裝(MCP)、板上晶片(COB)、晶圓級製造封裝(WFP)和晶圓級堆疊封裝(WSP)。
記憶體裝置100可以儲存資料或利用所儲存的資料。更具體地,記憶體裝置100可以回應於記憶體控制器200的控制而操作。另外,記憶體裝置100可以包括多個記憶體晶粒,並且多個記憶體晶粒中的每一個可以包括記憶體單元陣列,該記憶體單元陣列包括儲存資料的多個記憶體單元。
記憶體單元中的每一個可以被配置為儲存一個資料位元的單層單元(SLC)、儲存兩個資料位元的多層單元(MLC)、儲存三個資料位元的三層單元(TLC)或儲存四個資料位元的四層單元(QLC)。
記憶體單元陣列可以包括多個記憶塊。多個記憶塊中的每一個可以包括多個記憶體單元。每個記憶塊可以包括多個頁面。頁面可以是用於將資料儲存在記憶體裝置100中的單位,或者用於讀取記憶體裝置100中儲存的資料的單位。
記憶體裝置100的示例可以包括雙倍資料速率同步動態隨機存取記憶體(DDRSDRAM)、第四代低功率雙倍資料速率(LPDDR4)SDRAM、圖形雙倍資料速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus動態隨機存取記憶體(RDRAM)、NAND快閃記憶體、垂直NAND快閃記憶體、NOR快閃記憶體裝置、電阻式隨機存取記憶體(RRAM)、相變隨機存取記憶體(PRAM)、磁阻式隨機存取記憶體(MRAM)、鐵電隨機存取記憶體(FRAM)和自旋轉移力矩隨機存取記憶體(STT-RAM)。在本說明書中,透過示例的方式,在記憶體裝置100是NAND快閃記憶體的背景下描述本發明的特徵和方面。
記憶體裝置100可以從記憶體控制器200接收命令和位址。記憶體裝置100可以被配置為在記憶體單元陣列中存取回應於接收到的位址而選擇的區域。當記憶體裝置100存取所選擇的區域時,記憶體裝置100對所選擇的區域執行與接收到的命令相對應的操作。例如,記憶體裝置100可以執行寫入操作(程式操作)、讀取操作和抹除操作。程式操作可以指記憶體裝置100將資料寫入透過位址選擇的區域中的操作。讀取操作可以指記憶體裝置100從提供位址選擇的區域讀取資料的操作。抹除操作可以指記憶體裝置100抹除透過位址選擇的區域中儲存的資料的操作。
記憶體控制器200可以控制記憶體裝置100的一般操作。更具體地,當向儲存裝置1000供電時,記憶體控制器200可以運行韌體FW。韌體FW可以包括主機介面層(HIL)、快閃轉換層(FTL)和快閃介面層(FIL),主機介面層(HIL)接收從主機2000輸入的請求或輸出對主機2000的回應,快閃轉換層(FTL)管理主機2000的介面與記憶體裝置100的介面之間的操作,快閃介面層(FIL)向記憶體裝置100提供命令或從記憶體裝置100接收回應。
記憶體控制器200可以從主機2000接收資料和邏輯位址LA,並且將邏輯位址LA轉換(或轉變)為實體位址PA,該實體位址PA指示第一記憶體裝置100中儲存的資料的記憶體單元的位址。邏輯位址LA可以是邏輯塊位址LBA,並且實體位址PA可以是實體塊位址PBA。
記憶體控制器200可以回應於來自主機2000的請求而控制記憶體裝置100執行程式操作、讀取操作或抹除操作。在程式操作期間,記憶體控制器200可以向記憶體裝置100提供程式命令、實體塊位址和資料。在讀取操作期間,記憶體控制器200可以向記憶體裝置100提供讀取命令和實體塊位址。在抹除操作期間,記憶體控制器200可以向記憶體裝置100提供抹除命令和實體塊位址。
記憶體控制器200可以控制記憶體裝置100,使得可以在沒有來自主機2000的請求的情況下執行程式操作、讀取操作或抹除操作。例如,記憶體控制器200可以控制記憶體裝置100執行用於執行諸如損耗均衡、廢料收集或讀取回收的後台操作的程式操作、讀取操作或抹除操作。
緩衝記憶體裝置300可以儲存從主機2000接收的資料,或者儲存待傳送到主機2000的資料。更具體地,在寫入操作期間,緩衝記憶體裝置300可以在將寫入資料從主機2000傳送到記憶體裝置100之前臨時儲存寫入資料。另外,緩衝記憶體裝置300在將資料傳送到主機2000之前,可以臨時儲存主機2000請求的資料。
根據實施例,緩衝記憶體裝置300可以回應於記憶體控制器200的控制,將所儲存的資料清除到記憶體裝置100。記憶體控制器200可以控制緩衝記憶體裝置300將臨時儲存的資料提供給記憶體裝置100。另外,記憶體控制器200可以控制緩衝記憶體裝置300從緩衝記憶體裝置300中移除特定資料。緩衝記憶體裝置300可以回應於記憶體控制器200的控制而釋放分配給緩衝記憶體裝置300的資料。
主機2000可以透過使用諸如以下的各種通訊標準或介面中的至少一種與儲存裝置1000通訊:通用序列匯流排(USB)、串列SCSI(SAS)、高速晶片間(HSIC)、小型電腦系統介面(SCSI)、外圍組件互連(PCI)、高速PCI(PCIe)、高速非揮發性記憶體(NVMe)、安全數位(SD)、雙列直插式記憶體模組(DIMM)、寄存式DIMM(RDIMM)和/或低負載DIMM(LRDIMM)。
主機2000可以包括主機記憶體2100。主機記憶體2100可以儲存分配給主機記憶體2100的寫入資料,即用戶資料。根據實施例,儲存裝置1000和主機2000可以使用允許在沒有單獨請求的情況下存取主機記憶體2100的協議。例如,當儲存裝置1000和主機2000使用基於PCIe的協議相互通訊時,儲存裝置1000可以在沒有向主機2000發送單獨的請求的情況下存取主機記憶體2100。另外,儲存裝置1000可以回應於從主機2000接收到的寫入請求,將與該寫入請求相對應的寫入資料複製到儲存裝置1000內部的記憶體中。
圖2是示出根據本發明的實施例的記憶體裝置100的方塊圖。
參照圖2,記憶體裝置100可以包括記憶體單元陣列110、外圍電路120和控制邏輯130。
記憶體單元陣列110包括多個記憶塊BLK1至BLKz。多個記憶塊BLK1至BLKz可以透過列線RL耦接到列解碼器121。列線RL可以包括至少一條源極選擇線、多條字元線和至少一條汲極選擇線。多個記憶塊BLK1至BLKz可以透過第一位元線BL1至第n位元線BLn耦接到頁面緩衝器組123。多個記憶塊BLK1至BLKz中的每一個可以包括多個記憶體單元。根據實施例,多個記憶體單元可以是非揮發性記憶體單元。可以將耦接到同一字元線的記憶體單元被定義為一個頁面。因此,每個記憶塊可以包括多個頁面。
記憶體單元陣列110中包括的記憶體單元中的每一個可以被配置為儲存一個資料位元的單層單元(SLC)、儲存兩個資料位元的多層單元(MLC)、儲存三個資料位元的三層單元(TLC)或儲存四個資料位元的四層單元(QLC)。
外圍電路120可以被配置為回應於控制邏輯130的控制而對記憶體單元陣列110的所選擇的區域執行程式操作、讀取操作或抹除操作。外圍電路120可以回應於控制邏輯130而驅動記憶體單元陣列110。例如,控制邏輯130可以控制外圍電路120向列線RL和第一位元線BL1至第n位元線BLn施加各種操作電壓或者釋放所施加的電壓。
更具體地,外圍電路120可以包括列解碼器121、電壓產生器122、頁面緩衝器組123、行解碼器124、輸入/輸出電路125以及感測電路126。
列解碼器121可以透過列線RL耦接到記憶體單元陣列110。列線RL可以包括至少一條源極選擇線、多條字元線和至少一條汲極選擇線。根據實施例,字元線可以包括正常字元線和虛擬字元線。另外,列線RL可以進一步包括管道選擇線。
列解碼器121可以被配置為回應於控制邏輯130的控制而操作。列解碼器121可以從控制邏輯130接收列位址RADD。更具體地,列解碼器121可以被配置為對列位址RADD進行解碼。列解碼器121可以根據經解碼的位址來在記憶塊BLK1至BLKz之中選擇至少一個記憶塊。列解碼器121可以根據經解碼的位址來選擇所選擇的記憶塊的至少一條字元線WL,以將由電壓產生器122產生的電壓施加到至少一條字元線WL。
例如,在程式操作期間,列解碼器121可以將程式電壓施加到所選擇的字元線,並且將具有比程式電壓更低的電壓位準的程式通過電壓施加到未選擇的字元線。在程式驗證操作期間,列解碼器121可以將驗證電壓施加到所選擇的字元線,並且將大於驗證電壓的驗證通過電壓施加到未選擇的字元線。在讀取操作期間,列解碼器121可以將讀取電壓施加到所選擇的字元線,並且將大於讀取電壓的讀取通過電壓施加到未選擇的字元線。
根據實施例,可以以記憶塊為單位執行對記憶體單元陣列110的抹除操作。在抹除操作期間,列解碼器121可以根據經解碼的位址來選擇記憶塊中的一個,並且列解碼器121可以將接地電壓施加到與所選擇的記憶塊耦接的字元線。
電壓產生器122可以回應於控制邏輯130的控制而操作。更具體地,電壓產生器122可以被配置為回應於控制邏輯130,透過使用供應到記憶體裝置100的外部電源電壓來產生多個電壓。例如,電壓產生器122可以回應於控制邏輯130的控制而產生程式電壓、驗證電壓、通過電壓、讀取電壓和抹除電壓。電壓產生器1222可以回應於操作訊號OPSIG而產生用於程式操作、讀取操作和抹除操作的各種操作電壓Vop。根據實施例,控制邏輯130可以控制電壓產生器122產生用於預驗證操作的預驗證電壓和用於主驗證操作的主驗證電壓以及用於程式操作的程式電壓。
根據實施例,電壓產生器122可以透過調節外部電源電壓來產生內部電源電壓。由電壓產生器122產生的內部電源電壓可以用作記憶體單元陣列110的操作電壓。
根據實施例,電壓產生器122可以透過使用外部電源電壓或內部電源電壓來產生多個電壓。例如,電壓產生器122可以包括接收內部電源電壓的多個泵浦電容器,並且可以回應於控制邏輯130的控制而透過選擇性地啟動多個泵浦電容器來產生多個電壓。另外,多個產生的電壓可以透過列解碼器121被供應到記憶體單元陣列110。
頁面緩衝器組123可以包括第一頁面緩衝器PB1至第n頁面緩衝器PBn。第一頁面緩衝器PB1至第n頁面緩衝器PBn可以透過第一位元線BL1至第n位元線BLn分別耦接到記憶體單元陣列110。另外,第一頁面緩衝器PB1至第n頁面緩衝器PBn可以回應於控制邏輯130的控制而操作。更具體地,第一頁面緩衝器PB1至第n頁面緩衝器PBn可以回應於頁面緩衝器控制訊號PBSIGNALS而操作。例如,第一頁面緩衝器PB1至第n頁面緩衝器PBn可以臨時儲存透過第一位元線BL1至第n位元線BLn接收的資料,或者可以在讀取操作或驗證操作期間感測第一位元線BL1至第n位元線BLn中的電壓或電流。
更具體地,在程式操作期間,當向所選擇的字元線施加程式脈衝時,第一頁面緩衝器PB1至第n頁面緩衝器PBn可以透過第一位元線BL1至第n位元線BLn將透過輸入/輸出電路125接收的資料DATA傳送到所選擇的記憶體單元。可以根據傳送的資料DATA來程式所選擇的頁面的記憶體單元。耦接到施加有程式允許電壓(例如,接地電壓)的位元線的記憶體單元可以具有增加的閾值電壓。可以保持耦接到施加有程式禁止電壓(例如,電源電壓)的位元線的記憶體單元的閾值電壓。
在程式驗證操作期間,第一頁面緩衝器PB1至第n頁面緩衝器PBn可以分別透過第一位元線BL1至第n位元線BLn從所選擇的記憶體單元讀取頁面資料。
在讀取操作期間,第一頁面緩衝器PB1至第n頁面緩衝器PBn可以透過第一位元線BL1至第n位元線BLn從所選擇的頁面的記憶體單元中讀取資料DATA,並且可以回應於行解碼器124的控制而將讀取的資料DATA輸出到資料輸入/輸出電路125。
在抹除操作期間,第一頁面緩衝器PB1至第n頁面緩衝器PBn可以使第一位元線BL1至第n位元線BLn浮動。
行解碼器124可以回應於行位址CADD而在輸入/輸出電路125與頁面緩衝器組123之間傳送資料。例如,行解碼器124可以透過資料線DL與第一頁面緩衝器PB1至第n頁面緩衝器PBn交換資料,或者可以透過行線CL與輸入/輸出電路1140交換資料。
輸入/輸出電路125可以將命令CMD和位址ADDR從記憶體控制器200傳送到控制邏輯130,或者可以與行解碼器124交換資料DATA。
在讀取操作或驗證操作期間,感測電路126可以回應於允許位元訊號VRYBIT而產生參考電流,並且將從頁面緩衝器組123接收的感測電壓VPB與由參考電流產生的參考電壓進行比較以輸出通過訊號PASS或失敗訊號FAIL。
控制邏輯130可以回應於命令CMD和位址ADDR,透過輸出操作訊號OPSIG、列位址RADD、頁面緩衝器控制訊號PBSIGNALS和允許位元訊號VRYBIT來控制外圍電路120。
另外,控制邏輯130可以回應於通過訊號PASS或失敗訊號FAIL,確定驗證操作是通過還是失敗。另外,控制邏輯130可以控制頁面緩衝器組123將包括通過訊號PASS或失敗訊號FAIL的驗證操作結果臨時儲存在頁面緩衝器組123中。更具體地,控制邏輯130可以回應於通過訊號PASS或失敗訊號FAIL而確定記憶體單元的程式狀態。例如,當記憶體單元作為三層單元(TLC)操作時,控制邏輯130可以確定記憶體單元的程式狀態是抹除狀態E還是第一程式狀態P1至第七程式狀態P7中的一個。
圖3是示出根據本發明的實施例的記憶塊BLKi的方塊圖。
參照圖3,記憶塊BLKi可以耦接到平行布置在第一選擇線和第二選擇線之間的多條字元線。第一選擇線可以是源極選擇線SSL,並且第二選擇線可以是汲極選擇線DSL。更具體地,記憶塊BLKi可以包括耦接在第一位元線BL1至第n位元線BLn與源極線SL之間的多個串列ST。第一位元線BL1至第n位元線BLn可以分別耦接到串列ST,並且源極線SL可以共同耦接到串列ST。由於串列ST可以具有相同的配置,因此將透過示例的方式詳細地描述耦接到第一位元線BL1的串列ST。
串列ST可以包括源極選擇電晶體SST、多個記憶體單元F1至F16以及串聯耦接在源極線SL與第一位元線BL1之間的汲極選擇電晶體DST。一個串列ST可以包括至少一個源極選擇電晶體SST和至少一個汲極選擇電晶體DST,並且在串列ST中可以包括比圖3所示的記憶體單元F1至F16更多的記憶體單元。
源極選擇電晶體SST的源極可以耦接到源極線SL,並且汲極選擇電晶體DST的汲極可以耦接到第一位元線BL1。記憶體單元F1至F16可以串聯耦接在源極選擇電晶體SST與汲極選擇電晶體DST之間。不同串列ST中包括的源極選擇電晶體SST的閘極可以耦接到源極選擇線SSL,汲極選擇電晶體DST的閘極可以耦接到汲極選擇線DSL,並且記憶體單元F1至F16的閘極可以耦接到多條字元線WL1至WL16。不同串列ST中包括的記憶體單元之中耦接到同一字元線的一組記憶體單元可以被稱為實體頁面PPG。因此,記憶塊BLKi可以包括與字元線WL1至WL16的數量一樣多的實體頁面PPG。
記憶體單元中的每一個可以被配置為儲存一個資料位元的單層單元(SLC)、儲存兩個資料位元的多層單元(MLC)、儲存三個資料位元的三層單元(TLC)或儲存四個資料位元的四層單元(QLC)。
單層單元(SLC)可以包括一位元資料。單層單元的一個實體頁面PPG可以儲存一個邏輯頁面(LPG)資料。單個邏輯頁面LPG的資料可以包括與單個實體頁面PPG中包括的單元的數量一樣多的資料位元。
多層單元(MLC)、三層單元(TLC)和四層單元(QLC)可以儲存兩位元或更多位元資料。一個實體頁面PPG可以儲存至少兩個邏輯頁面LPG的資料。
圖4是示出根據本發明的實施例的主機記憶體2100的方塊圖。
參照圖4,主機2000、記憶體控制器200以及緩衝記憶體裝置300可以在寫入操作期間執行通訊。
主機2000可以請求用於將用戶資料儲存在記憶體裝置100中的寫入操作。回應於來自主機2000的請求,儲存裝置1000可以從主機2000獲得用戶資料。例如,主機2000可以將針對寫入操作的寫入請求傳送到記憶體控制器200。回應於寫入請求,記憶體控制器200可以控制緩衝記憶體裝置300將寫入資料從主機記憶體2100複製到緩衝記憶體裝置300。更具體地,記憶體控制器200可以回應於寫入請求而將寫入資料分配給緩衝記憶體裝置300,並且緩衝記憶體裝置300可以儲存從主機記憶體2100加載的寫入資料。
當寫入資料緩衝在緩衝記憶體裝置300中時,記憶體控制器200可以傳送命令(CMD)完成以指示完成了與主機2000所請求的寫入命令有關的一系列處理。
當主機2000從記憶體控制器200接收到CMD完成時,主機2000可以釋放主機記憶體2100中儲存的寫入資料。換言之,主機2000可以在接收到CMD完成之後將其他資料儲存在主機記憶體2100中。
在記憶體控制器200將CMD完成傳送到主機2000之後,記憶體控制器200可以控制緩衝記憶體裝置300緩衝寫入資料,直到寫入資料完全儲存在記憶體裝置100中。
圖5是示出根據本發明的實施例的記憶體控制器200的方塊圖。
參照圖5,記憶體控制器200可以包括緩衝記憶體管理器210和程式操作控制器220。
緩衝記憶體管理器210可以控制緩衝記憶體裝置300。更具體地,緩衝記憶體管理器210可以控制緩衝記憶體裝置300將寫入資料分配給緩衝記憶體裝置300或釋放所分配的寫入資料。
另外,緩衝記憶體管理器210可以基於緩衝記憶體裝置300的已使用容量或剩餘容量來確定何時傳送CMD完成。在一個實施例中,緩衝記憶體裝置300的已使用容量可以是緩衝記憶體裝置300的全部容量之中已經使用的容量的量。根據實施例,緩衝記憶體管理器210可以基於緩衝記憶體裝置300的已使用容量或剩餘容量來確定在第一時間點還是第二時間點傳送關於寫入命令的CMD完成。更具體地,當緩衝記憶體裝置300的已使用容量小於閾值時,緩衝記憶體管理器210可以確定在第一時間點傳送CMD完成。更具體地,當緩衝記憶體裝置300的已使用容量等於或大於閾值時,緩衝記憶體管理器210可以確定在第二時間點傳送CMD完成。第一時間點可以指在寫入資料從主機記憶體2100傳送到緩衝記憶體裝置300之後的時間點。第二時間點可以指在將寫入資料儲存在記憶體單元中的寫入操作正常完成之後的時間點。
在一個實施例中,緩衝記憶體管理器210可以基於緩衝記憶體裝置300的寫入資料的大小來確定在第一時間點還是第二時間點傳送關於寫入命令的CMD完成。例如,當緩衝記憶體裝置300中儲存的寫入資料的大小小於閾值時,緩衝記憶體管理器210可以確定在第一時間點傳送CMD完成。當緩衝記憶體裝置300中儲存的寫入資料的大小等於或大於閾值時,緩衝記憶體管理器210可以確定在第二時間點傳送CMD完成。
另外,當緩衝記憶體管理器210確定在第二時間點傳送CMD完成時,緩衝記憶體管理器210可以控制緩衝記憶體裝置300釋放緩衝記憶體裝置300中緩衝的寫入資料。在釋放分配給緩衝記憶體裝置300的寫入資料之後,如果記憶體裝置100對寫入資料的寫入操作失敗,則記憶體控制器200可以控制緩衝記憶體裝置300將與寫入資料相對應的資料提取到緩衝記憶體裝置300。
根據另一實施例,緩衝記憶體管理器210可以基於包括多程式旗標的寫入請求來確定何時傳送CMD完成,多程式旗標指示多個程式操作。多程式旗標可以表示由主機2000請求的寫入操作用於請求多個程式操作。更具體地,當設置多程式旗標時,它可以包括用於請求對多個晶粒或多個平面的程式操作的多平面程式操作、用於將資料的順序邏輯位址儲存在多個頁面中的順序程式操作或條帶程式操作。
根據實施例,當接收到包括多程式旗標的寫入請求時,緩衝記憶體管理器210可以根據多程式旗標確定在第一時間點還是第二時間點傳送關於寫入請求的CMD完成。例如,當多程式旗標的值為0(零)時,緩衝記憶體管理器210可以確定在第一時間點傳送CMD完成。然而,當多程式旗標的值為1(一)時,緩衝記憶體管理器210可以確定在第二時間點傳送CMD完成。第一時間點可以指在寫入資料從主機記憶體2100傳送到緩衝記憶體裝置300之後的時間點。第二時間點可以指在將寫入資料儲存在記憶體單元中的寫入操作正常完成之後的時間點。程式操作控制器220可以控制記憶體裝置100執行程式操作。更具體地,當程式操作控制器220從主機2000接收到寫入請求時,程式操作控制器220可以將程式命令傳送到記憶體裝置100,使得記憶體裝置100可以執行程式操作。
圖6和圖7是示出根據本發明的實施例的儲存裝置的寫入操作的方塊圖。
參照圖6和圖7,在完成寫入操作之後,記憶體控制器200可以將CMD完成傳送到主機2000。
參照圖6,當記憶體控制器200從主機2000接收到寫入請求時,記憶體控制器200可以將與寫入請求相對應的寫入資料分配給緩衝記憶體裝置300。另外,記憶體控制器200可以控制緩衝記憶體裝置300,使得主機記憶體2100中儲存的寫入資料可以儲存在緩衝記憶體裝置300中。
另外,記憶體控制器200可以將程式命令傳送到記憶體裝置100並且控制緩衝記憶體裝置300將緩衝記憶體裝置300中緩衝的寫入資料傳送到記憶體裝置100。當記憶體裝置100從記憶體控制器200和緩衝記憶體裝置300接收到程式命令和寫入資料時,記憶體裝置100可以執行與程式命令和寫入資料相對應的程式操作。由於記憶體控制器200不將CMD完成傳送到主機2000,因此記憶體控制器200可以釋放分配給緩衝記憶體裝置300的寫入資料。透過釋放分配給緩衝記憶體裝置300的寫入資料,記憶體控制器200可以有效地使用緩衝記憶體裝置300。
另外,記憶體裝置100可以將程式操作的結果傳送到記憶體控制器200。當程式操作成功時,記憶體控制器200可以將CMD完成傳送到主機2000。當對寫入資料的程式操作成功時,可以完成寫入操作。因此,記憶體控制器200可以將CMD完成傳送到主機2000。
下面將參照圖7更詳細地描述程式操作失敗的情況。
參照圖7,記憶體裝置100可以將程式操作的結果傳送到記憶體控制器200。當程式操作失敗時,記憶體裝置100可以通知記憶體控制器200程式操作已經失敗。另外,記憶體控制器200可以將寫入資料重新分配給緩衝記憶體裝置300,並且控制緩衝記憶體裝置300從主機記憶體2100提取與寫入資料相對應的資料。當從主機記憶體2100提取到與寫入資料相對應的資料時,記憶體控制器200可以控制緩衝記憶體裝置300將與寫入資料相對應的資料傳送到記憶體裝置100。另外,當記憶體裝置100對與寫入資料相對應的資料的程式操作成功時,記憶體控制器200可以將CMD完成傳送到主機2000。
圖8是示出根據本發明的實施例的儲存裝置的寫入操作的方塊圖。
參照圖8,在將寫入資料從主機記憶體2100提取到緩衝記憶體裝置300之後,記憶體控制器200可以將CMD完成傳送到主機2000。
參照圖8,當記憶體控制器200從主機2000接收到寫入請求時,記憶體控制器200可以將與寫入請求相對應的寫入資料分配給緩衝記憶體裝置300。另外,記憶體控制器200可以控制緩衝記憶體裝置300,使得主機記憶體2100中儲存的寫入資料可以儲存在緩衝記憶體裝置300中。
另外,當寫入資料緩衝在緩衝記憶體裝置300中時,記憶體控制器200可以將CMD完成傳送到主機2000。
另外,記憶體控制器200可以將程式命令傳送到記憶體裝置100並且控制緩衝記憶體裝置300將緩衝記憶體裝置300中緩衝的寫入資料傳送到記憶體裝置100。當記憶體裝置100從記憶體控制器200和緩衝記憶體裝置300接收到程式命令和寫入資料時,記憶體裝置100可以執行與程式命令和寫入資料相對應的程式操作。由於主機2000接收到CMD完成,因此主機2000可以釋放主機記憶體2100中儲存的寫入資料。透過釋放主機記憶體2100中儲存的寫入資料,主機2000可以有效地使用主機記憶體2100。
此後,當程式操作失敗時,記憶體控制器200可以控制記憶體裝置100和緩衝記憶體裝置300以使用緩衝記憶體裝置300中緩衝的寫入資料來重新執行程式操作。
圖9是示出根據本發明的另一實施例的記憶體控制器1300的方塊圖。
參照圖9,記憶體控制器1300可以包括處理器1310、RAM 1320、ECC電路1330、ROM 1360、主機介面1370和快閃介面1380。
處理器1310可以使用主機介面1370與主機2000通訊,並且執行邏輯操作以控制記憶體控制器1300的操作。例如,處理器1310可以基於來自主機2000或另一外部裝置的請求來加載程式命令、資料文件、資料結構等,並且可以執行各種操作或者產生命令或位址。例如,處理器1310可以產生針對程式操作、讀取操作、抹除操作、暫停操作和參數設置操作的各種命令。
另外,處理器1310可以用作快閃轉換層FTL。處理器1310可以透過快閃轉換層FTL將由主機2000提供的邏輯塊位址LBA轉換成實體塊位址PBA。快閃轉換層FTL可以接收邏輯塊位址LBA,並且透過使用映射表將邏輯塊位址LBA轉換成實體塊位址PBA。基於映射單位,可能存在快閃轉換層的多種位址映射方法。典型的位址映射方法可以包括頁面映射方法、塊映射方法和混合映射方法。
根據實施例,處理器1310可以在沒有主機2000的請求的情況下產生命令。例如,處理器1310可以產生用於諸如對記憶體裝置100的損耗均衡的操作和對記憶體裝置100的廢料收集操作的後台操作的命令。
RAM 1320可以用作處理器1310的緩衝記憶體、工作記憶體或快取記憶體。另外,RAM 1320可以儲存由處理器1310運行的代碼和命令。RAM 1320可以儲存由處理器1310處理的資料。另外,RAM 1320可以利用靜態RAM(SRAM)或動態RAM(DRAM)來實現。
ECC電路1330可以在程式操作或讀取操作期間檢查錯誤並且校正錯誤。更具體地,ECC電路1330可以根據錯誤校正碼(ECC)執行錯誤校正操作。另外,ECC電路1330可以基於待寫入到記憶體裝置100的資料來執行ECC編碼。經ECC編碼的資料可以透過快閃介面1380而傳送到記憶體裝置100。另外,ECC電路1330可以對透過快閃介面1380從記憶體裝置100傳送的資料執行ECC解碼。
ROM 1360可以用作用於儲存關於記憶體控制器1300的操作的各種資訊的儲存單元。更具體地,ROM 1360可以包括儲存實體邏輯位址資訊和邏輯實體位址資訊的映射表。另外,ROM 1360可以透過處理器1310控制。
主機介面1370可以包括用於在主機2000與記憶體控制器1300之間交換資料的協議。更具體地,主機介面1370可以透過諸如以下的一種或多種通訊標準或介面與主機2000通訊:通用序列匯流排(USB)協議、多媒體卡(MMC)協議、外圍組件互連(PCI)協議、高速PCI(PCI-e或PCIe)協議、高級技術附件(ATA)協議、序列ATA協議、並列ATA協議、小型電腦系統介面(SCSI)協議、增強型小型磁盤介面(ESDI)協議、整合驅動電子(IDE)協議、私有協議等。
處理器1310可以控制快閃介面1380使用通訊協議與記憶體裝置100通訊。更具體地,快閃介面1380可以透過通道向記憶體裝置100發送命令、位址和資料或從記憶體裝置100接收命令、位址和資料。例如,快閃介面1380可以包括NAND介面。
圖10是示出根據本發明的實施例的記憶卡系統3000的方塊圖。
參照圖10,記憶卡系統3000可以包括記憶體控制器3100、記憶體裝置3200和連接器3300。
記憶體控制器3100可以耦接到記憶體裝置3200。記憶體控制器3100可以存取記憶體裝置3200。例如,記憶體控制器3100可以控制記憶體裝置3200的讀取操作、程式操作、抹除操作和後台操作。記憶體控制器3100可以被配置為提供記憶體裝置3200和主機之間的介面。記憶體控制器3100可以被配置為驅動用於控制記憶體裝置3200的韌體。
在實施例中,記憶體控制器3100可以包括諸如隨機存取記憶體(RAM)、處理單元、主機介面、快閃介面和ECC電路的組件。
記憶體控制器3100可以透過連接器3300與外部裝置通訊。記憶體控制器3100可以基於特定通訊協議與外部裝置(例如,主機)通訊。在實施例中,記憶體控制器3100可以透過諸如以下的各種通訊標準或介面中的至少一種與外部裝置通訊:通用序列匯流排(USB)、多媒體卡(MMC)、嵌入式MMC(eMMC)、外圍組件互連(PCI)、高速PCI(PCI-e或PCIe)、高級技術附件(ATA)、序列ATA(SATA)、並列ATA(PATA)、小型電腦系統介面(SCSI)、增強型小型磁盤介面(ESDI)、整合驅動電子(IDE)、火線、WiFi、藍牙以及高速非揮發性記憶體(NVMe)協議。在實施例中,連接器3300可以由上述各種通訊標準或介面中的至少一種來限定。
在實施例中,記憶體裝置3200可以被實施為諸如以下的各種非揮發性記憶體裝置中的任意一種:電可抹除可程式ROM(EEPROM)、NAND快閃記憶體、NOR快閃記憶體、相變RAM(PRAM)、電阻式RAM(ReRAM)、鐵電RAM(FRAM)以及自旋轉移力矩磁性RAM(STT-MRAM)。
記憶體控制器3100和記憶體裝置3200可以整合到單個半導體裝置中來形成記憶卡。例如,記憶體控制器3100和記憶體裝置3200可以整合到單個半導體裝置中以形成諸如以下的記憶卡:個人電腦記憶卡國際協會(PCMCIA)、緊凑型快閃(CF)卡、記憶棒、SD卡(SD、迷你SD、微型SD或SDHC)等。
圖11是示出根據本發明的實施例的固態硬碟(SSD)系統4000的方塊圖。
參照圖11,SSD系統4000可以包括主機4100和SSD 4200。SSD 4200可以透過訊號連接器4001與主機4100交換訊號,並且可以透過電源連接器4002接收電力。SSD 4200可以包括SSD控制器4210、多個快閃記憶體4221至422n、輔助電源4230和緩衝記憶體4240。
在實施例中,SSD控制器4210可以執行上面參照圖1描述的記憶體控制器200的功能。SSD控制器4210可以回應於從主機4100接收到的訊號SIG而控制多個快閃記憶體4221至422n。在實施例中,訊號SIG可以基於主機4100和SSD 4200的介面。例如,訊號SIG可以由諸如以下的各種通訊標準或介面中的至少一種限定:通用序列匯流排(USB)、外圍組件互連(PCI)、高速PCI(PCI-e或PCIe)、高級技術附件(ATA)、序列ATA(SATA)、並列ATA(PATA)、小型電腦系統介面(SCSI)、增強型小型磁盤介面(ESDI)、整合驅動電子(IDE)、火線、WiFi、藍牙以及高速非揮發性記憶體(NVMe)介面。
輔助電源4230可以透過電源連接器4002耦接到主機4100。可以從主機4100向輔助電源4230供應電力PWR,並且可以利用該電力PWR對輔助電源4230充電。當從主機4100供應的電力不平穩時,輔助電源4230可以向SSD 4200供應電力。在實施例中,輔助電源4230可以位於SSD 4200的內部或外部。例如,輔助電源4230可以設置在主板中並且可以向SSD 4200供應輔助電力。
緩衝記憶體4240可以作為SSD 4200的緩衝記憶體操作。例如,緩衝記憶體4240可以臨時儲存從主機4100接收的資料或從多個快閃記憶體4221至422n接收的資料,或者可以臨時儲存快閃記憶體4221至422n的元資料(例如,映射表)。緩衝記憶體4240可以包括諸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的揮發性記憶體,或者諸如FRAM、ReRAM、STT-MRAM和PRAM的非揮發性記憶體。
圖12是示出根據本發明的實施例的用戶系統5000的方塊圖。
參照圖12,用戶系統5000可以包括應用處理器5100、記憶體模組5200、網路模組5300、儲存模組5400和用戶介面5500。
應用處理器5100可以運行用戶系統5000中包括的組件、操作系統(OS)或用戶程序。在實施例中,應用處理器5100可以包括用於控制用戶系統5000中包括的組件的控制器、介面、圖形引擎等。應用處理器5100可以被設置為系統單晶片(SoC)。
記憶體模組5200可以用作用戶系統5000的主記憶體、工作記憶體、緩衝記憶體或快取記憶體。記憶體模組5200可以包括諸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的揮發性RAM,或者諸如PRAM、ReRAM、MRAM和FRAM的非揮發性RAM。在實施例中,應用處理器5100和記憶體模組5200可以基於堆疊封裝(POP)來進行封裝,然後可以被設置為單個半導體封裝。
網路模組5300可以與外部裝置通訊。例如,網路模組5300可以支持諸如分碼多重存取(CDMA)、全球行動通訊系統(GSM)、寬帶CDMA(WCDMA)、CDMA-2000、分時多重存取(TDMA)、長期演進(LTE)、WiMAX、WLAN、UWB、藍牙或WiFi通訊的無線通訊。在實施例中,網路模組5300可以包括在應用處理器5100中。
儲存模組5400可以儲存資料。例如,儲存模組5400可以儲存從應用處理器5100接收的資料。備選地,儲存模組5400可以將儲存模組5400中儲存的資料傳輸到應用處理器5100。在實施例中,儲存模組5400可以被實施為諸如以下的非揮發性半導體記憶體裝置:相變RAM(PRAM)、磁性RAM(MRAM)、電阻RAM(RRAM)、NAND快閃記憶體、NOR快閃記憶體或具有三維(3D)結構的NAND快閃記憶體。在實施例中,儲存模組5400可以被設置為可移動儲存介質(即,可移動硬碟),諸如用戶系統5000的記憶卡或外部硬碟。
例如,儲存模組5400可以包括多個非揮發性記憶體裝置,並且多個非揮發性記憶體裝置可以以與上面參照圖1描述的記憶體裝置100相同的方式操作。儲存模組5400可以以與上面參照圖1描述的儲存裝置1000相同的方式操作。
用戶介面5500可以包括將資料或命令輸入到應用處理器5100或將資料輸出到外部裝置的介面。在實施例中,用戶介面5500可以包括諸如以下的用戶輸入介面:鍵盤、小鍵盤、按鈕、觸控面板、觸控螢幕、觸控板、觸控球、攝影機、麥克風、陀螺儀感測器、振動感測器和壓電裝置。用戶介面5500可以進一步包括諸如以下的用戶輸出介面:液晶顯示器(LCD)、有機發光二極體(OLED)顯示裝置、主動矩陣OLED(AMOLED)顯示裝置、LED、擴音器和監視器。
根據本發明,可以提供一種有效地使用緩衝記憶體裝置的儲存裝置和操作儲存裝置的方法。
在附圖和說明書中已經描述本發明的實施例。儘管這裡使用了特定術語,但是這些術語僅用於描述本發明的實施例。因此,本發明不限於上述實施例並且在本發明的構思和範圍內可能有許多變型。對於本領域技術人員應該顯而易見的是,除了本文中本發明的實施例和所附申請專利範圍之外,還可以基於本發明的技術範圍進行各種修改。此外,可以組合實施例以形成額外的實施例。
100:記憶體裝置
110:記憶體單元陣列
120:外圍電路
121:列解碼器
122:電壓產生器
123:頁面緩衝器組
124:行解碼器
125:輸入/輸出電路
126:感測電路
130:控制邏輯
200:記憶體控制器
210:緩衝記憶體管理器
220:程式操作控制器
300:緩衝記憶體裝置
1000:儲存裝置
1300:記憶體控制器
1310:處理器
1320:RAM
1330:ECC電路
1360:ROM
1370:主機介面
1380:快閃介面
2000:主機
2100:主機記憶體
3000:記憶卡系統
3100:記憶體控制器
3200:記憶體裝置
3300:連接器
4000:SSD系統
4001:訊號連接器
4002:電源連接器
4100:主機
4200:SSD
4210:SSD控制器
4221 ~ 422n:快閃記憶體
4230:輔助電源
4240:緩衝記憶體
5000:用戶系統
5100:應用處理器
5200:記憶體模組
5300:網路模組
5400:儲存模組
5500:用戶介面
ADDR:位址
BL1 ~ BLn:位元線
BLK1 ~ BLKz:記憶塊
CADD:行位址
CL:行線
CMD:命令
DATA:資料
DL:資料線
DSL:汲極選擇線
DST:汲極選擇電晶體
F1 ~ F16:記憶體單元
OPSIG:操作訊號
PASS/FAIL:通過訊號/失敗訊號
PB1 ~ PBn:面緩衝器
PBSIGNALS:頁面緩衝器控制訊號
PPG:實體頁面
RADD:列位址
RL:列線
SL:源極線
SSD:固態硬碟
SSL:源極選擇線
SST:源極選擇電晶體
ST:串列
Vop:操作電壓
VPB:感測電壓
VRYBIT:允許位元訊號
WL1 ~ WL16:字元線
圖1是示出根據本發明的實施例的儲存裝置的方塊圖;
圖2是示出根據本發明的實施例的記憶體裝置的方塊圖;
圖3是示出根據本發明的實施例的記憶塊的方塊圖;
圖4是示出根據本發明的實施例的主機記憶體的操作的方塊圖;
圖5是示出根據本發明的實施例的記憶體控制器的方塊圖;
圖6是示出根據本發明的實施例的儲存裝置的寫入操作的方塊圖;
圖7是示出根據本發明的實施例的儲存裝置的寫入操作的方塊圖;
圖8是示出根據本發明的實施例的儲存裝置的寫入操作的方塊圖;
圖9是示出根據本發明的實施例的記憶體控制器的方塊圖;
圖10是示出根據本發明的實施例的記憶卡系統的方塊圖;
圖11是示出根據本發明的實施例的固態硬碟(SSD)系統的方塊圖;並且
圖12是示出根據本發明的實施例的用戶系統的示意圖。
100:記憶體裝置
200:記憶體控制器
300:緩衝記憶體裝置
1000:儲存裝置
2000:主機
2100:主機記憶體
Claims (20)
- 一種儲存裝置,包括: 記憶體裝置,包括多個記憶體單元,並且執行程式操作以將寫入資料儲存在所述多個記憶體單元中; 緩衝記憶體裝置,臨時儲存所述寫入資料;以及 記憶體控制器,控制所述緩衝記憶體裝置和所述記憶體裝置以回應於從主機接收的寫入命令而將從所述主機中包括的主機記憶體接收到的所述寫入資料臨時儲存在所述緩衝記憶體裝置中並且將所述寫入資料從所述緩衝記憶體裝置提供到所述記憶體裝置, 其中所述記憶體控制器包括緩衝記憶體管理器,所述緩衝記憶體管理器基於所述緩衝記憶體裝置的已使用容量來確定在第一時間點還是第二時間點向所述主機傳送關於所述寫入命令的命令完成。
- 如請求項1所述的儲存裝置,其中當所述緩衝記憶體裝置的已使用容量小於閾值時,所述緩衝記憶體管理器確定在所述第一時間點傳送所述命令完成。
- 如請求項1所述的儲存裝置,其中所述第一時間點是在所述寫入資料從所述主機記憶體儲存到所述緩衝記憶體裝置之後的時間點。
- 如請求項1所述的儲存裝置,其中當所述緩衝記憶體裝置的已使用容量等於或大於閾值時,所述緩衝記憶體管理器確定在所述第二時間點傳送所述命令完成。
- 如請求項1所述的儲存裝置,其中所述第二時間點是在將所述寫入資料儲存在所述多個記憶體單元中的所述程式操作完成之後的時間點。
- 如請求項1所述的儲存裝置,其中當確定在所述第二時間點傳送所述命令完成時,所述緩衝記憶體管理器進一步控制所述緩衝記憶體裝置釋放臨時儲存在所述緩衝記憶體裝置中的所述寫入資料。
- 如請求項6所述的儲存裝置,其中當所述寫入資料的所述程式操作失敗時,所述記憶體控制器進一步將與所述寫入資料相對應的資料從所述主機記憶體提取到所述緩衝記憶體裝置。
- 如請求項1所述的儲存裝置,其中基於根據所述寫入命令儲存在所述緩衝記憶體裝置中的所述寫入資料的大小,所述緩衝記憶體管理器確定在所述第一時間點還是所述第二時間點傳送關於所述寫入命令的所述命令完成。
- 一種儲存裝置,包括: 記憶體裝置,包括多個記憶體單元,並且執行寫入操作以將寫入資料儲存在所述多個記憶體單元中; 緩衝記憶體裝置,臨時儲存待提供給所述記憶體裝置的所述寫入資料;以及 記憶體控制器,控制所述緩衝記憶體裝置和所述記憶體裝置以回應於從主機接收到的寫入請求而將所述寫入資料從主機記憶體提取到所述緩衝記憶體裝置並且向所述記憶體裝置提供臨時儲存在所述緩衝記憶體裝置中的所述寫入資料, 其中所述記憶體控制器包括緩衝記憶體管理器,所述緩衝記憶體管理器基於包括指示多個程式操作的多程式旗標的所述寫入請求來確定在第一時間點還是第二時間點向所述主機傳送關於所述寫入命令的命令完成。
- 如請求項9所述的儲存裝置,其中當所述多程式旗標的值為0(零)時,所述緩衝記憶體管理器確定在所述第一時間點傳送所述命令完成。
- 如請求項9所述的儲存裝置,其中所述第一時間點是在所述寫入資料從所述主機記憶體提取到所述緩衝記憶體裝置之後的時間點。
- 如請求項9所述的儲存裝置,其中當所述多程式旗標的值為1(一)時,所述緩衝記憶體管理器確定在所述第二時間點傳送所述命令完成。
- 如請求項9所述的儲存裝置,其中所述第二時間點是在將所述寫入資料儲存在所述多個記憶體單元中的所述寫入操作完成之後的時間點。
- 如請求項9所述的儲存裝置,其中當確定在所述第二時間點傳送所述命令完成時,所述緩衝記憶體管理器進一步控制所述緩衝記憶體裝置釋放臨時儲存在所述緩衝記憶體裝置中的寫入資料。
- 如請求項14所述的儲存裝置,其中當所述寫入資料的所述寫入操作失敗時,所述記憶體控制器進一步將與所述寫入資料相對應的資料從所述主機記憶體提取到所述緩衝記憶體裝置。
- 一種操作記憶體控制器的方法,所述方法包括: 從主機接收寫入命令; 向緩衝記憶體裝置分配與所述寫入命令相對應的並且從主機記憶體接收的寫入資料; 將所述寫入資料儲存在所述緩衝記憶體裝置中; 確定何時將關於所述寫入命令的命令完成傳送到所述主機; 向記憶體裝置提供程式命令和所述緩衝記憶體裝置中儲存的所述寫入資料;並且 控制所述記憶體裝置利用提供的所述寫入資料來執行程式操作。
- 如請求項16所述的方法,其中所述確定包括基於所述緩衝記憶體裝置的已使用容量來確定在第一時間點還是第二時間點傳送所述命令完成。
- 如請求項16所述的方法,其中所述確定包括基於指示多個程式操作的多程式旗標來確定在第一時間點還是第二時間點傳送所述命令完成。
- 如請求項16所述的方法,其中所述確定包括確定在所述寫入資料儲存在所述緩衝記憶體裝置之後傳送所述命令完成。
- 如請求項19所述的方法,其中所述確定包括確定在所述程式操作完成之後傳送所述命令完成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220036890A KR20230138805A (ko) | 2022-03-24 | 2022-03-24 | 저장 장치 및 이의 동작 방법 |
KR10-2022-0036890 | 2022-03-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202338622A true TW202338622A (zh) | 2023-10-01 |
Family
ID=88078632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112110164A TW202338622A (zh) | 2022-03-24 | 2023-03-20 | 儲存裝置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230305741A1 (zh) |
KR (1) | KR20230138805A (zh) |
CN (1) | CN116804909A (zh) |
TW (1) | TW202338622A (zh) |
-
2022
- 2022-03-24 KR KR1020220036890A patent/KR20230138805A/ko unknown
- 2022-09-30 US US17/957,075 patent/US20230305741A1/en active Pending
-
2023
- 2023-01-31 CN CN202310047304.2A patent/CN116804909A/zh active Pending
- 2023-03-20 TW TW112110164A patent/TW202338622A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20230305741A1 (en) | 2023-09-28 |
KR20230138805A (ko) | 2023-10-05 |
CN116804909A (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11467768B2 (en) | Data storage device for storing boot partition data read from memory device in buffer memory and method of operating the same | |
US10846002B2 (en) | Memory controller to adjust the size of write data, operating method therof and storage device including the same | |
US11307803B2 (en) | Storage device for suspending program operation and performing read operation and operating method thereof | |
US11853202B2 (en) | Memory system performing garbage collection operation by exchanging information related to garbage collection with host and method of operating the memory system | |
US11360707B2 (en) | Memory controller for replacing bad blocks with reserved blocks and operating method thereof | |
KR20210142981A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR20220082509A (ko) | 저장 장치 및 그 동작 방법 | |
US20210065780A1 (en) | Memory controller and operating method thereof | |
US11880274B2 (en) | Host device, memory controller, and computing system including the same | |
KR20210077451A (ko) | 저장 장치 및 그 동작 방법 | |
US11709606B2 (en) | Memory controller and operating method thereof | |
CN114356209A (zh) | 存储装置及其操作方法 | |
US11836370B2 (en) | Storage device and operating method thereof | |
US20220129192A1 (en) | Memory controller and method of operating the same | |
CN115454886A (zh) | 存储装置及其操作方法 | |
KR20220170664A (ko) | 호스트 장치, 저장 장치 및 그 동작 방법 | |
US20230305741A1 (en) | Storage device and operating method thereof | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US11567703B2 (en) | Memory device comprising queue layer and storage device including the same | |
US20230238040A1 (en) | Storage device and operating method thereof | |
US11886314B2 (en) | Memory system and operating method thereof | |
US11880601B2 (en) | Data storage device for performing read operation and operating method thereof | |
US11210223B2 (en) | Storage device and operating method thereof | |
US20220147261A1 (en) | Storage device and operating method thereof | |
TW202349203A (zh) | 計算系統及其操作方法 |