TW202217574A - 用於控制資料儲存裝置之方法及相關快閃記憶體控制器 - Google Patents

用於控制資料儲存裝置之方法及相關快閃記憶體控制器 Download PDF

Info

Publication number
TW202217574A
TW202217574A TW110136149A TW110136149A TW202217574A TW 202217574 A TW202217574 A TW 202217574A TW 110136149 A TW110136149 A TW 110136149A TW 110136149 A TW110136149 A TW 110136149A TW 202217574 A TW202217574 A TW 202217574A
Authority
TW
Taiwan
Prior art keywords
data
memory
buffer
communication interface
host device
Prior art date
Application number
TW110136149A
Other languages
English (en)
Other versions
TWI840703B (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 TW202217574A publication Critical patent/TW202217574A/zh
Application granted granted Critical
Publication of TWI840703B publication Critical patent/TWI840703B/zh

Links

Images

Classifications

    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

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

Abstract

本發明提供一種用於控制一資料儲存裝置之方法。該資料儲存裝置包括一快閃記憶體控制器及一快閃記憶體模組。該快閃記憶體控制器具有一第一緩衝記憶體及一第二緩衝記憶體。該記憶體模組具有至少一第一記憶體部分及一第二記憶體部分。該方法包括:自一主機裝置接收一第一資料;將該第一資料儲存於該第一緩衝記憶體中;將該第一資料自該第一緩衝記憶體傳輸至該快閃記憶體模組之該第一記憶體部分;並且將該第一資料自該第一緩衝記憶體傳輸至該主機裝置中之一主機記憶體緩衝區。該第一資料對應於待寫入至該第二記憶體部分之一第二資料的至少一部分。

Description

用於控制資料儲存裝置之方法及相關快閃記憶體控制器
本發明係關於一種資料儲存裝置、快閃記憶體控制器、主機以及一種用於控制資料儲存裝置、快閃記憶體控制器及主機之方法。
近年來,歸因於記憶體技術之持續發展,多種攜帶型或非攜帶型資料儲存裝置(例如,通用快閃儲存裝置(UFS)標準記憶卡、固態磁碟(SSD)及符合UFS或EMMC規範之嵌入式儲存裝置)廣泛地實施於許多應用中。因此,對此等資料儲存裝置中之記憶體之存取控制已成為相當熱門的話題。
常用NAND快閃記憶體主要包含單位階胞元(SLC)、多位階胞元(MLC)、三位階胞元(TLC)及四位階胞元(QLC)快閃記憶體。歸因於其較高儲存密度及較大記憶體容量,QLC快閃記憶體已逐漸成為NAND快閃記憶體之有利組態。
QLC之字線包含四頁儲存空間。若未充分寫入彼等儲存空間頁,則NAND快閃控制器可能無法自彼等寫入頁面獲得正確資料。更糟糕的是,若QLC之整個區塊未經充分寫入,則NAND快閃控制器可能無法自彼等寫入頁面獲得正確資料。必須解決此類問題,因為其可能損害資料完整性。
為解決至少以上問題,本發明之一個目標在於提供一種用於控制快閃記憶體以及相關控制器、記憶體系統及主機之方法。
本發明之實施例揭示一種用於控制資料儲存裝置之方法。資料儲存裝置包括快閃記憶體控制器及快閃記憶體模組。快閃記憶體控制器具有第一緩衝記憶體及第二緩衝記憶體。記憶體模組具有至少第一記憶體部分及第二記憶體部分。該方法包括:自主機裝置接收第一資料;將第一資料儲存於第一緩衝記憶體中;將第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分;並且將第一資料自第一緩衝記憶體傳輸至主機裝置中之主機記憶體緩衝區。第一資料對應於待寫入至第二記憶體部分之第二資料的至少一部分。
本發明之另一實施例揭示一種用於控制具有至少第一記憶體部分及第二記憶體部分之快閃記憶體模組的快閃記憶體控制器。快閃記憶體控制器包括第一通信介面、第一緩衝記憶體以及第二通信介面。第一通信介面經組配以自主機裝置接收第一資料。第一緩衝記憶體與第一通信介面耦合且經組配以儲存第一資料。第二通信介面經組配以將第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分。第一通信介面經進一步組配以將第一資料自第一緩衝記憶體傳輸至主機裝置之主機記憶體緩衝區。第一資料對應於待寫入至第二記憶體部分之第二資料的至少一部分。
本發明之另一實施例揭示一種包括快閃記憶體模組及快閃記憶體控制器之資料儲存裝置。快閃記憶體模組具有至少第一記憶體部分及第二記憶體部分。快閃記憶體控制器與快閃記憶體模組耦合。快閃記憶體控制器包括第一通信介面、第一緩衝記憶體以及第二通信介面。第一通信介面經組配以自主機裝置接收第一資料。第一緩衝記憶體與第一通信介面耦合且經組配以儲存第一資料。第二通信介面經組配以將第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分。第一通信介面經進一步組配以將第一資料自第一緩衝記憶體傳輸至主機裝置之主機記憶體緩衝區。第一資料對應於待寫入至第二記憶體部分之第二資料的至少一部分。
本發明之另一實施例揭示一種用於控制主機裝置之方法。該方法包括:經由第一通信介面將第一資料傳輸至資料儲存裝置;經由第一通信介面自資料儲存裝置接收第一資料;並且將所接收之第一資料儲存於主機記憶體緩衝區中。第一資料對應於待寫入至資料儲存裝置之第二資料的至少一部分。
在閱讀各種圖及圖式中所示出之較佳實施例的以下詳細描述之後,對於一般熟習此項技術者而言,本發明之目標無疑將變得顯而易見。
本發明主張2020年10月29日申請之第63/107,420號美國臨時專利申請案之優先權,該專利申請案特此以全文引用之方式併入。
圖1係根據本發明之一些實施例的資料儲存裝置100及主機裝置50之示意圖。資料儲存裝置100可包括攜帶型或非攜帶型資料儲存裝置,例如符合SD/MMC、CF、MS或XD標準之記憶卡、非揮發性(NV)記憶體裝置、快閃記憶體裝置或固態驅動機(SSD)。主機裝置50可包括多功能行動電話、平板電腦、穿戴式裝置以及諸如桌上型電腦或膝上型電腦之個人電腦。資料儲存裝置100可經由電線、系統匯流排或以無線方式與主機裝置50通信。資料可在資料儲存裝置100與主機裝置50之間傳輸。
如圖1中所繪示,資料儲存裝置100可包括記憶體控制器11及記憶體模組12。記憶體控制器11可經由電線、系統匯流排或以無線方式與記憶體模組12通信。記憶體控制器11可經組配以存取記憶體模組12。記憶體模組12可經組配以儲存資料。記憶體控制器11可包括NV記憶體控制器、快閃記憶體控制器或類似者。記憶體模組12可包括NV記憶體模組、快閃記憶體模組或類似者。
在一些實施例中,記憶體控制器11可將系統操作資訊寫入至記憶體模組12中,該系統操作資訊例如為獨立磁碟冗餘陣列(RAID)資訊、錯誤校正碼(ECC)奇偶校驗、對映表、控制旗標等。可在寫入資料的任何步驟,例如資料隨機化程序或類似者中添加系統操作資訊。
如圖1中所繪示,記憶體控制器11可包括通信介面111、通信介面112、緩衝記憶體113、緩衝記憶體114、微處理器115以及唯讀記憶體(ROM) 115M,其中此等組件可經由匯流排彼此耦合。
主機裝置50可藉由將複數個主機裝置命令及對應邏輯位址發送至記憶體控制器11來間接存取資料儲存裝置100中之記憶體模組12。記憶體控制器11可經由通信介面111接收複數個主機裝置命令及邏輯位址。記憶體控制器110可將複數個主機裝置命令轉譯成記憶體操作命令,且隨後控制記憶體模組12對記憶體模組12內具有特定實體位址之記憶體單元或頁面執行讀取、寫入/程式化或抹除。實體位址可對應於邏輯位址。
通信介面111可接收或傳輸一或多個主機裝置命令。通信介面111可接收或傳輸資料,其中資料可包括一或多個邏輯位址或資料頁。通信介面112可接收或傳輸一或多個記憶體操作命令。通信介面112可接收或傳輸資料,其中資料可包括一或多個實體位址或資料頁。通信介面111可為用於自例如為其中的積體電路的主機裝置50至記憶體控制器11之微控制器115或緩衝記憶體113及114之通信的匯流排協定。通信介面112可為用於自記憶體控制器11至記憶體模組12之通信的匯流排協定。通信介面111或通信介面112可符合特定通信規範(例如,序列先進技術附接(SATA)規範、通用序列匯流排(USB)規範、周邊組件互連標準(PCIE)規範)或符合非揮發性記憶體標準(NVMe),且可基於此特定通信規範執行通信。通信介面111可為NVMe介面。通信介面112可為快閃介面。
緩衝記憶體113可藉由隨機存取記憶體(RAM)實施。緩衝記憶體114可藉由隨機存取記憶體(RAM)實施。緩衝記憶體113可經組配以儲存資訊。緩衝記憶體113可經組配以儲存資料頁,或來自主機裝置50之主機裝置命令。緩衝記憶體114可經組配以儲存資訊。緩衝記憶體114可經組配以儲存資料頁。緩衝記憶體113或緩衝記憶體114可包括隨機存取記憶體(RAM)。
微處理器115可經組配以執行儲存於ROM 115m中之程式碼115c以便控制對記憶體模組12之存取。應注意,程式碼115c亦可儲存於緩衝記憶體113、緩衝記憶體114或任何類型之記憶體中。
記憶體模組12可包括緩衝器121及複數個記憶體部分12m,其中此等組件可經由匯流排彼此耦合。緩衝器121可與記憶體控制器11,例如通信介面112通信。緩衝器112可經組配以儲存來自記憶體控制器11之一或多個記憶體操作命令。緩衝器112可經組配以儲存包括來自記憶體控制器11之實體位址的資料。緩衝器112可經組配以儲存資料頁。記憶體部分12m之數量可大於一。記憶體部分可包括但不限於複數個快閃記憶體晶片或晶粒。記憶體部分12m可包括SLC、MLC、TLC或QLC。舉例而言,記憶體部分12m中之每一者可包含複數個區塊。包含N個字線{WL(0)、WL(1)、WL(2)...WL(N-3)、WL(N-2)、WL(N-1)}之一個區塊可被視為複數個區塊中之任一者的實例,其中N為正整數。記憶體控制器11可藉由使用QLC寫入模式將使用者資料寫入至區塊中之一頁字線。換言之,QLC之字線可儲存四頁使用者資料。在一些實施例中,記憶體控制器11可藉由使用SLC、MLC或TLC寫入模式將使用者資料寫入至區塊中之一頁字線,且可在完成寫入至整個區塊之前進行寫入資料的驗證。在一些實施例中,記憶體部分12m中之每一者可充當SLC、MLC、TLC或QLC。記憶體模組12可包括微處理器(未繪示),微處理器經組配以佈置以SLC、MLC、TLC或QLC操作模式操作之記憶體部分12m中之每一者。
存在用於製造記憶體模組12之各種技術;例如,其中記憶體胞元佈置於單層中之2D/平面NAND快閃技術,以及其中記憶體胞元佈置於多層中且豎直地堆疊之3D NAND快閃技術。根據一些實施例,記憶體模組12可實施為具有單層記憶體胞元之平面NAND快閃架構。根據一些實施例,記憶體模組12可實施為記憶體胞元豎直地堆疊在多層中之3D NAND快閃架構。
仍參看圖1,主機裝置50可包括通信介面51及主機記憶體緩衝區52。通信介面51可傳輸一或多個主機裝置命令。通信介面51可接收或傳輸資料,其中資料可包括一或多個邏輯位址或資料頁。通信介面51可符合特定通信規範(例如,序列先進技術附接(SATA)規範、通用序列匯流排(USB)規範、周邊組件互連標準(PCIE)規範)或符合非揮發性記憶體標準(NVMe),且可基於此特定通信規範執行通信。通信介面51可為NVMe介面。
主機緩衝記憶體(HMB) 52可為主機裝置50 (亦即,主機記憶體)之內部儲存器的一部分。HMB 52可具有64兆位元組(MB)或128 MB或更大之容量。HMB 52可包括隨機存取記憶體(RAM)或唯讀記憶體(ROM)。
HMB 52可提供對主機記憶體之區塊之隨機存取,其提供對HMB 52中之所有元件之存取。在資料儲存裝置側上,HMB 52可儘可能快速地在系統匯流排上傳送資料,而非嘗試使匯流排頻寬最佳化。在主機側,HMB 52及通信介面51可提供對記憶體之低負擔存取,其允許對實體記憶體之高效能存取。
圖2係示出根據本發明之一些實施例的資料儲存裝置(例如,資料儲存裝置100)及主機裝置(例如,主機裝置50)中的寫入順序之示意圖。如以下段落/區段中所論述,揭示於圖2之實施例中的操作可在微處理器115執行程式碼115c之一或多個碼時受其控制。
如圖2中所繪示,主機裝置50可將資料或主機裝置命令傳輸至資料儲存裝置100 (S11)。資料儲存裝置100之通信介面111可經組配以自主機裝置50接收資料或主機裝置命令(S11)。通信介面111可經組配以自主機裝置50接收資料D1。資料D1可包括資料頁。在替代實施例中,資料D1可包括複數個資料頁。通信介面111可經組配以將資料D1傳輸至緩衝記憶體113 (S12),該緩衝記憶體經由例如匯流排與通信介面111耦合。緩衝記憶體113可經組配以儲存資料D1。
緩衝記憶體113可經組配以將資料D1傳輸至通信介面112 (S21)。通信介面112可經組配以將資料D1傳輸至緩衝記憶體121 (S22)。記憶體部分12m可包括一或多個記憶體部分122及一或多個記憶體部分123 (亦即,一或多個QLC記憶體部分)。記憶體部分123可包括SLC或QLC。記憶體部分123可包括SLC。換言之,記憶體部分122可具有SLC操作模式,且記憶體部分123可具有QLC操作模式。緩衝記憶體121經由例如匯流排與記憶體部分122及記憶體部分123耦合。緩衝記憶體121可經組配以將資料D1傳輸至記憶體部分122 (S23)。在一些實施例中,通信介面112可經組配以將資料D1自緩衝記憶體113傳輸至記憶體部分12m之記憶體部分122中之一者。
在一些實施例中,微處理器115可經組配以產生指示將資料D1寫入記憶體部分122之信號。信號可在資料D1自緩衝記憶體113傳輸至記憶體模組12之記憶體部分122之後經由通信介面111傳輸至主機裝置50。
緩衝記憶體113可經組配以將資料D1傳輸至通信介面111 (S31),且隨後通信介面111可經組配以將資料D1傳輸至通信介面51 (S32)。通信介面51可經組配以將資料D1傳輸至HMB 52 (S33)。在一些實施例中,通信介面111可經組配以將資料D1自記憶體控制器11之緩衝記憶體113傳輸至主機裝置50之HMB 52。
HMB 52可經組配以將資料D1傳輸至通信介面51 (S41),且隨後通信介面51可經組配以將資料D1傳輸至通信介面111 (S42)。微處理器115可經組態以藉由例如用錯誤校正碼(ECC)、奇偶校驗技術或類似者修改資料D1來產生資料D2。資料D1可對應於資料D2之至少一部分。資料D2可包括複數個資料頁。通信介面111可經組配以將資料D2傳輸至緩衝記憶體114 (S43)。在一些實施例中,資料D2可經由通信介面111自HMB 52傳輸至緩衝記憶體114。緩衝記憶體114可經組配以將資料D2傳輸至通信介面112 (S45)。通信介面112可經組配以將資料D2傳輸至緩衝記憶體121 (S46)。緩衝記憶體121可經組配以將資料D2傳輸至記憶體部分123中之一者(S47)。在一些實施例中,通信介面112可經組配以將資料D2自緩衝記憶體114傳輸至記憶體模組12之記憶體部分123中之一者。
在一些實施例中,微處理器115可經組配以產生指示資料D1之抹除的抹除信號。通信介面111可經組配以在資料D2經傳輸至記憶體部分123之後將抹除信號傳輸至HMB 52。在一些實施例中,資料D1自緩衝記憶體113至記憶體部分12m之記憶體部分122的傳輸速率大於資料D2自緩衝記憶體114至記憶體模組12之記憶體部分123的傳輸速率。
在一些比較實施例中,記憶體控制器可經組態以實施用於將一或多個資料頁自主機裝置儲存至記憶體模組之QLC記憶體部分的寫入操作。然而,QLC之字線包含四頁儲存空間。QLC之寫入操作使用不同感測位準(例如,具有不同偏壓之16個感測位準)以界定不同充電狀態(例如,16個充電狀態),且按順序執行QLC記憶體部分中之每一者的寫入操作。若4頁儲存空間未經完全寫入,則QLC可能未儲存完整且正確的資料頁。當開放字線或急劇功率損耗之問題出現時,若已僅藉由用第一感測位準,例如最高有效位元(MSB)寫入資料頁執行寫入操作,則QLC記憶體部分可能未儲存完整資料頁。因此,應儲存於記憶體模組中之資料頁可能丟失或損壞。亦即,記憶體控制器僅可在QLC區塊經完全寫入之後獲得寫入資料。因此,記憶體控制器應保持整個資料區塊,直至整個QLC區塊已被成功地寫入為止。其將佔用大量記憶體空間。
在本發明中,可實現雙重寫入操作。資料D1自緩衝記憶體113傳輸至記憶體部分122,且對應於資料D1之資料D2自緩衝記憶體114傳輸至記憶體部分123。資料D1可在資料D2之寫入操作完成於記憶體部分123中之前儲存於記憶體部分122中。記憶體控制器11可將記憶體部分122之寫入操作設定為具有比記憶體部分123之寫入操作更高的優先權,以確保資料儲存裝置100之時延。因而,可解決開放字線或急劇功率損耗之問題,且可保持資料儲存裝置之速度及容量。將資料D1儲存於記憶體部分122中確保自主機裝置50傳輸至資料儲存裝置100之資料的完整性,且將第二資料D2儲存於記憶體部分123中保持記憶體模組12的容量。此外,資料D1可在資料D2之寫入操作完成於QLC部分123中之前儲存於HMB 52中。因而,可解決開放字線或急劇功率損耗之問題。將資料D1儲存於HMB 52中確保自主機裝置50傳輸至資料儲存裝置100之資料的完整性。此外,由於在完成傳輸資料D2之後可抹除HMB 52中之資料D1,HMB 52之尺寸可能相對較小。
圖3係根據本發明之一些實施例的用於按寫入順序控制資料儲存裝置(例如,資料儲存裝置100)及主機裝置(例如,主機裝置50)之方法之流程圖。詳細步驟如下: 步驟201:資料儲存裝置100可自主機裝置50接收資料D1。資料D1可包括資料頁。在替代實施例中,資料D1可包括複數個資料頁。資料D1可經由通信介面111接收。 步驟203:資料儲存裝置100可將資料D1儲存於緩衝記憶體113中。資料D1可自通信介面111傳輸至緩衝記憶體113。 步驟205:資料儲存裝置100可將資料D1自緩衝記憶體113傳輸至記憶體模組12之記憶體部分122。資料D1可經由通信介面112傳輸。 步驟207:資料儲存裝置100可在將資料D1自緩衝記憶體113傳輸至記憶體模組12之記憶體部分122之後用信號回應主機裝置50。信號指示將資料D1寫入記憶體部分122。信號可經由通信介面111傳輸。 步驟209:資料儲存裝置100可將資料D1自緩衝記憶體113傳輸至主機裝置50中之HMB 52。資料D1可經由通信介面111傳輸。 步驟211:資料儲存裝置100可自HMB 52接收資料D1。此外,若HMB 52中之資料D1不可用,則主機裝置50可將針對資料D1之請求傳輸至資料儲存裝置100。 步驟213:資料儲存裝置100可將資料D2儲存於緩衝記憶體114中。資料D1可對應於資料D2之至少一部分。資料D2可由微處理器115藉由例如用錯誤校正碼(ECC)、奇偶校驗技術或類似者修改資料D1而產生。 步驟215:資料儲存裝置100可將資料D2自緩衝記憶體114傳輸至記憶體模組12之記憶體部分123。資料D2可經由通信介面112傳輸。 步驟217:主機裝置50可在資料D2經傳輸至記憶體部分123之後自HMB 52抹除資料D1。資料儲存裝置100可產生抹除信號且經由通信介面111將該抹除信號傳輸至主機裝置50。主機裝置50可回應於抹除信號而自HMB 52中抹除資料D1。此外,主機裝置50可在資料D2成功地寫入至資料儲存裝置100之後將指示資料D1之抹除的抹除信號傳輸至HMB 52。
熟習此項技術者將自以上發明理解,可調整以上步驟之次序,諸如調整待執行之步驟的次序或添加額外一或多個步驟。
圖4係示出根據本發明之一些實施例的資料儲存裝置200及主機裝置(例如,主機裝置50)中之寫入順序之示意圖。如下文所論述,與圖4之實施例相關之操作可在微處理器115執行程式碼115c之一或多個碼時受微處理器控制。
資料儲存裝置200類似於圖1及圖2中的資料儲存裝置100,不同之處在於除記憶體控制器11外,資料儲存裝置200還包括錯誤校正單元116。錯誤校正單元116可經由例如匯流排與通信介面111及緩衝記憶體114耦合。資料D1可經由通信介面111自HMB 52傳輸至錯誤校正單元116 (S43')。錯誤校正單元116可經組配以回應於資料D1之錯誤校正而產生資料D2。資料D2可基於所接收之複數個資料D1之錯誤校正而產生。錯誤校正單元116可經組配以將資料D2傳輸至緩衝記憶體114 (S44)。資料D1之錯誤校正可包括ECC、奇偶校驗技術或類似者。資料D1之錯誤校正偵測並校正發生於記憶體中之n個位元資料毀損以確保資料完整性。錯誤校正單元116可為微處理器115之一部分。錯誤校正單元116可整合於微處理器115中。此外,微處理器115可能夠在執行程式碼115c時實施錯誤校正。
在一些比較實施例中,所儲存之資料頁可自記憶體部分直接複製至記憶體模組中之另一記憶體部分。然而,所儲存之資料頁可含有已翻轉至錯誤狀態之位元。所儲存之資料頁可能不正確且記憶體模組可能不能夠偵測及校正錯誤。因此,可出現盲複本之問題。在本發明中,已偵測、校正資料D1,且隨後將其轉譯成資料D2。本發明保證自主機裝置50至記憶體模組12之資料的完整性。
圖5係根據本發明之一些實施例的用於按寫入順序控制資料儲存裝置(例如,資料儲存裝置200)及主機裝置(例如,主機裝置50)之方法之流程圖。
圖5之方法的流程圖類似於圖3之方法的流程圖,不同之處在於圖5的方法還包括步驟219。在步驟219中,錯誤校正單元116可基於資料D1之錯誤校正而產生資料D2。
熟習此項技術者將自以上發明理解,可調整以上步驟之次序,諸如調整待執行之步驟的次序或添加額外一或多個步驟。
圖6係示出根據本發明之一些實施例的資料儲存裝置(例如,資料儲存裝置100或200)及主機裝置(例如,主機裝置50)中之讀取順序之示意圖。如下文所論述,與圖6之實施例相關之操作可在微處理器115執行程式碼115c之一或多個碼時受微處理器控制。
如圖6中所繪示,主機裝置50可將請求存取或讀取操作之主機裝置命令發送至記憶體模組12 (R11)。可藉由通信介面111接收與來自主機裝置50之資料D2相關聯之讀取請求。通信介面111可經組配以將讀取請求傳輸至微處理器115 (R12)。微處理器115可經組配以回應於讀取請求而發送記憶體操作命令以偵測是否完全寫入記憶體模組12之記憶體部分123 (R13/R14)。記憶體模組12可經組配以提供關於記憶體部分123之狀態的反饋,其中資料D2經指定以由微處理器115儲存(F11/F12)。微處理器115可經組配以回應於記憶體部分123之狀態而發送記憶體裝置命令以存取記憶體模組12 (R21/R22)。若記憶體模組12之記憶體部分123未經完全寫入,則資料D1經由通信介面112自記憶體部分122傳輸至記憶體控制器11 (F21/F22/F23)。若記憶體模組12之記憶體部分12m的記憶體部分123經完全寫入,則資料D2可經由通信介面112自記憶體部分123傳輸至記憶體控制器11 (F21'/F22/F23)。微處理器115可經組配以依據記憶體部分123之狀態而經由通信介面111將資料D1或資料D2傳輸至主機裝置50。因而,當記憶體部分123尚未完全寫入時,記憶體控制器11可存取記憶體部分122中之資料D1,使得可解決開放字線之問題(亦即讀取不完整資料頁)。當記憶體部分122已接收到四個SLC資料塊或記憶體部分123與資料D2一起完全寫入時,記憶體控制器11可存取資料D2。同時,記憶體控制器11可抹除記憶體部分122中之資料D1。
圖7係根據本發明之一些實施例的用於按讀取順序控制資料儲存裝置(例如,資料儲存裝置100或資料儲存裝置200)及主機裝置(例如,主機裝置50)之方法之流程圖。
熟習此項技術者將自以上發明理解,可調整以上步驟之次序,諸如調整待執行之步驟的次序或添加額外一或多個步驟。詳細步驟如下: 步驟401:資料儲存裝置100可自主機裝置50接收與資料D2相關聯之讀取請求。 步驟403:資料儲存裝置100可判定記憶體模組12之記憶體部分123是否完全寫入。若記憶體部分123經完全寫入,則流程圖繼續進行至步驟405。若未完全寫入,則流程圖繼續進行至步驟407。 步驟405:資料儲存裝置100可將資料D2自記憶體模組12之記憶體部分123傳輸至主機裝置50。 步驟407:資料儲存裝置100可將資料D1自記憶體模組12之記憶體部分122傳輸至主機裝置50。
熟習此項技術者將自以上發明理解,可調整以上步驟之次序,諸如調整待執行之步驟的次序或添加額外一或多個步驟。
圖8係示出根據本發明之一些實施例的資料儲存裝置(例如,資料儲存裝置100或200)及主機裝置(例如,主機裝置50)中之讀取順序之示意圖。如下文所論述,與圖8之實施例相關之操作可在微處理器115執行程式碼116c之一或多個碼時受微處理器控制。
如圖6中所繪示,主機裝置50可將請求存取或讀取操作之主機裝置命令發送至記憶體模組12 (R11)。可藉由通信介面接收與來自主機裝置50之資料D2相關聯之讀取請求。通信介面111可經組配以將讀取請求傳輸至微處理器115 (R12)。微處理器115可經組配以回應於讀取請求而發送記憶體操作命令以偵測是否完全寫入記憶體模組12之記憶體部分123 (R13/R14)。記憶體模組12可經組配以提供關於記憶體部分123之狀態的反饋,其中資料D2經指定以由微處理器115儲存(F11/F12)。若記憶體模組12之記憶體部分123未經完全寫入,則記憶體控制器11可經組配以經由通信介面111向HMB 52發送存取請求(R31/R32/R33)。可自HMB 52讀取資料D1以用於主機裝置50 (F31)。
圖9係根據本發明之一些實施例的用於按讀取順序控制資料儲存裝置(例如,資料儲存裝置100或資料儲存裝置200)及主機裝置(例如,主機裝置50)之方法之流程圖。
圖9之方法的流程圖類似於圖8之方法的流程圖,不同之處在於步驟407被替換為步驟409。在步驟409中,若記憶體部分123未與資料D2一起完全寫入,則主機裝置50可在接收到與資料D2相關聯之請求後存取HMB 52中之資料D1。
熟習此項技術者將自以上發明理解,可調整以上步驟之次序,諸如調整待執行之步驟的次序或添加額外一或多個步驟。
可使用以下條項進一步描述本發明: 1. 一種用於控制記憶體儲存裝置之方法,該記憶體儲存裝置包含: 快閃記憶體控制器,其具有第一緩衝記憶體及第二緩衝記憶體;以及 快閃記憶體模組,其具有至少第一記憶體部分及第二記憶體部分, 方法包含: 自主機裝置接收第一資料; 將第一資料儲存於第一緩衝記憶體中; 將第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分;並且 將第一資料自第一緩衝記憶體傳輸至主機裝置中之主機記憶體緩衝區, 其中第一資料對應於待寫入至第二記憶體部分之第二資料的至少一部分。 2. 如條項1之方法,其進一步包含: 自HMB接收第一資料; 基於第一資料之錯誤校正而產生第二資料; 將第二資料儲存於第二緩衝記憶體中;並且 將第二資料自第二緩衝記憶體傳輸至快閃記憶體模組之第二記憶體部分。 3. 如條項2之方法,其中第二資料係基於所接收之複數個第一資料之錯誤校正而產生。 4. 如條項2之方法,其中第一資料自第一緩衝記憶體至第一記憶體部分之傳輸速率大於第二資料自第二緩衝記憶體至第二記憶體部分之傳輸速率。 5. 如條項2之方法,其進一步包含: 在第二資料經傳輸至第二記憶體部分之後,自主機記憶體緩衝區中抹除第一資料。 6. 如條項1之方法,其進一步包含: 自主機裝置接收與第二資料相關聯之讀取請求;並且 若快閃記憶體模組之第二記憶體部分經完全寫入,則將第二資料自第二記憶體部分傳輸至主機裝置; 若快閃記憶體模組之第二記憶體部分未經完全寫入,則將第一資料自快閃記憶體模組之第一記憶體部分傳輸至主機裝置。 7. 如條項3之方法,其中第一資料包括資料頁,且第二資料包括複數個資料頁。 8. 如條項1之方法,其進一步包含: 在第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分之後,用第一信號回應主機裝置, 其中第一信號指示將第一資料寫入第一記憶體部分。 9. 如條項1之方法,其中第一記憶體部分具有第一操作模式,且第二記憶體部分具有第二操作模式,其中第一操作模式不同於第二操作模式。 10. 如條項9之方法,其中第一記憶體部分包含四位階胞元(QLC)或單位階胞元,且第二記憶體部分包含QLC。 11. 一種用於控制具有至少第一記憶體部分及第二記憶體部分之快閃記憶體模組的快閃記憶體控制器,該快閃記憶體控制器包含: 第一通信介面,其經組配以自主機裝置接收第一資料; 第一緩衝記憶體,其與第一通信介面耦合且經組配以儲存第一資料; 第二通信介面,其經組配以將第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分; 其中第一通信介面經進一步組配以將第一資料自第一緩衝記憶體傳輸至主機裝置之主機記憶體緩衝區;以及 其中第一資料對應於待寫入至第二記憶體部分之第二資料的至少一部分。 12. 如條項11之快閃記憶體控制器,其進一步包含: 錯誤校正單元,其與第一通信介面耦合,其中第一資料經由第一通信介面自主機記憶體緩衝區傳輸至錯誤校正單元,且其中錯誤校正單元經組配以回應於第一資料之錯誤校正而產生第二資料;以及 第二緩衝記憶體,其與錯誤校正單元及第二通信介面耦合,其中第二緩衝記憶體經組配以儲存第二資料, 其中第二通信介面經進一步組配以將第二資料自第二緩衝記憶體傳輸至快閃記憶體模組之第二記憶體部分。 13. 如條項12之快閃記憶體控制器,其中第二資料係基於所接收之複數個第一資料之錯誤校正而產生。 14. 如條項12之快閃記憶體控制器,其中第一資料自第一緩衝記憶體至第一記憶體部分之傳輸速率大於第二資料自第二緩衝記憶體至第二記憶體部分之傳輸速率。 15. 如條項12之快閃記憶體控制器,其中第一通信介面經進一步組配以在第二資料經傳輸至第二記憶體部分之後將指示第一資料之抹除的抹除信號傳輸至主機記憶體緩衝區。 16. 如條項11之快閃記憶體控制器,其中在藉由第一通信介面自主機裝置接收與第二資料相關聯之讀取請求後: 若快閃記憶體模組之第二記憶體部分經完全寫入,則第二資料自第二記憶體部分傳輸至主機裝置; 若快閃記憶體模組之第二記憶體部分未經完全寫入,則第一資料經由第二通信介面自第一記憶體部分傳輸至主機裝置。 17. 如條項11之快閃記憶體控制器,其中第一資料包括資料頁,且第二資料包括複數個資料頁。 18. 如條項11之快閃記憶體控制器,其中 在第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分之後,第一信號經由第一通信介面傳輸至主機裝置, 其中第一信號指示將第一資料寫入第一記憶體部分。 19. 如條項1之快閃記憶體控制器,其中第一記憶體部分具有第一操作模式,且第二記憶體部分具有第二操作模式,其中第一操作模式不同於第二操作模式。 20. 如條項19之快閃記憶體控制器,其中第一記憶體部分包含QLC或SLC,且第二記憶體部分包含QLC。 21. 如條項11之快閃記憶體控制器,其中第一通信介面為非揮發性記憶體標準(NVMe)介面。 22. 如條項12之快閃記憶體控制器,其中第二通信介面為快閃介面。 23. 一種資料儲存裝置,其包含: 快閃記憶體模組,其具有至少第一記憶體部分及第二記憶體部分; 與快閃記憶體模組耦合之快閃記憶體控制器,該快閃記憶體控制器包含: 第一通信介面,其經組配以自主機裝置接收第一資料, 第一緩衝記憶體,其與第一通信介面耦合且經組配以儲存第一資料,以及 第二通信介面,其經組配以將第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分; 其中第一通信介面經進一步組配以將第一資料自第一緩衝記憶體傳輸至主機裝置之主機記憶體緩衝區, 其中第一資料對應於待寫入至第二記憶體部分之第二資料的至少一部分。 24. 如條項23之資料儲存裝置,其中快閃記憶體控制器進一步包含: 錯誤校正單元,其與第一通信介面耦合,其中第一資料經由第一通信介面自主機記憶體緩衝區傳輸至錯誤校正單元,且其中錯誤校正單元經組配以回應於第一資料之錯誤校正而產生第二資料;以及 第二緩衝記憶體,其與錯誤校正單元及第二通信介面耦合,其中第二緩衝記憶體經組配以儲存第二資料, 其中第二通信介面經進一步組配以將第二資料自第二緩衝記憶體傳輸至快閃記憶體模組之第二記憶體部分。 25. 如條項24之資料儲存裝置,其中第二資料係基於所接收之複數個第一資料之錯誤校正而產生。 26. 如條項24之資料儲存裝置,其中第一資料自第一緩衝記憶體至第一記憶體部分之傳輸速率大於第二資料自第二緩衝記憶體至第二記憶體部分之傳輸速率。 27. 如條項24之資料儲存裝置,其中第一通信介面經進一步組配以在第二資料經傳輸至第二記憶體部分之後將指示第一資料之抹除的抹除信號傳輸至主機記憶體緩衝區。 28. 如條項23之資料儲存裝置,其中在藉由第一通信介面自主機裝置接收與第二資料相關聯之讀取請求後: 若快閃記憶體模組之第二記憶體部分經完全寫入,則第二資料自第二記憶體部分傳輸至主機裝置; 若快閃記憶體模組之第二記憶體部分未經完全寫入,則第一資料自第一記憶體部分傳輸至主機裝置。 29. 如條項23之資料儲存裝置,其中第一資料包括資料頁,且第二資料包括複數個資料頁。 30. 如條項23之資料儲存裝置,其中 在第一資料自第一緩衝記憶體傳輸至快閃記憶體模組之第一記憶體部分之後,第一信號經由第一通信介面傳輸至主機裝置, 其中第一信號指示將第一資料寫入第一記憶體部分。 31. 如條項23之資料儲存裝置,其中第一記憶體部分具有第一操作模式,且第二記憶體部分具有第二操作模式,其中第一操作模式不同於第二操作模式。 32. 如條項31之資料儲存裝置,其中第一記憶體部分包含QLC或SLC,且第二記憶體部分包含QLC。 33. 如條項23之資料儲存裝置,其中第一通信介面為非揮發性記憶體標準(NVMe)介面。 34. 如條項23之資料儲存裝置,其中第二通信介面為快閃介面。 35. 一種用於控制主機裝置之方法,其包含: 經由第一通信介面將第一資料傳輸至資料儲存裝置; 經由第一通信介面自資料儲存裝置接收第一資料;以及 將所接收之第一資料儲存於主機記憶體緩衝區中, 其中第一資料對應於待寫入至資料儲存裝置之第二資料的至少一部分。 36. 如條項35之方法,其進一步包含在第二資料成功地寫入至資料儲存裝置之後將指示第一資料之抹除的抹除信號傳輸至主機記憶體緩衝區。 37. 如條項35之方法,其進一步包含若第二資料未經完全寫入,則在接收到與第二資料相關聯之請求後存取主機記憶體緩衝區中之第一資料。 38. 如條項37之方法,其進一步包含若主機記憶體緩衝區中之第一資料不可用,則將針對第一資料之請求傳輸至資料儲存裝置。
應注意,以上揭示內容係出於說明之目的且不應被視為限制本發明。熟習此項技術者將容易地觀測到,可在保留本發明之教示的同時進行裝置及方法之許多修改及變更。因此,上述揭示內容應被解釋為僅受所附申請專利範圍之邊界及界限限制。
11:記憶體控制器 12:記憶體模組 12m、122、123:記憶體部分 50:主機裝置 51、111、112:通信介面 52:主機記憶體緩衝區/主機緩衝記憶體 100、200:資料儲存裝置 113、114:緩衝記憶體 115:微處理器 115c、116c:程式碼 115m:唯讀記憶體 116:錯誤校正單元 121:緩衝器 201、203、205、207、209、211、213、215、217、219:步驟 401、403、405、407、409:步驟 D1、D2:資料
圖1係示出根據本發明之一些實施例的資料儲存裝置及主機裝置之示意圖。
圖2係示出根據本發明之一些實施例的資料儲存裝置及主機裝置中的寫入順序之示意圖。
圖3係根據本發明之一些實施例的用於按寫入順序控制資料儲存裝置及主機裝置之方法的流程圖。
圖4係示出根據本發明之一些實施例的資料儲存裝置及主機裝置中的寫入順序之示意圖。
圖5係根據本發明之一些實施例的用於按寫入順序控制資料儲存裝置及主機裝置之方法的流程圖。
圖6係示出根據本發明之一些實施例的資料儲存裝置及主機裝置中的讀取順序之示意圖。
圖7係根據本發明之一些實施例的用於按讀取順序控制資料儲存裝置及主機裝置之方法的流程圖。
圖8係示出根據本發明之一些實施例的資料儲存裝置及主機裝置中的讀取順序之示意圖。
圖9係根據本發明之一些實施例的用於按讀取順序控制資料儲存裝置及主機裝置之方法的流程圖。
11:記憶體控制器
12:記憶體模組
12m、122、123:記憶體部分
50:主機裝置
51、111、112:通信介面
52:主機記憶體緩衝區/主機緩衝記憶體
100:資料儲存裝置
113、114:緩衝記憶體
115:微處理器
115c:程式碼
115m:唯讀記憶體
121:緩衝器
D1、D2:資料

Claims (20)

  1. 一種用於控制一記憶體儲存裝置之方法,該記憶體儲存裝置包含: 一快閃記憶體控制器,其具有一第一緩衝記憶體及一第二緩衝記憶體;以及 一快閃記憶體模組,其具有至少一第一記憶體部分及一第二記憶體部分, 該方法包含: 自一主機裝置接收一第一資料; 將該第一資料儲存於該第一緩衝記憶體中; 將該第一資料自該第一緩衝記憶體傳輸至該快閃記憶體模組之該第一記憶體部分;且 將該第一資料自該第一緩衝記憶體傳輸至該主機裝置中之一主機記憶體緩衝區(HMB), 其中該第一資料對應於待寫入至該第二記憶體部分之一第二資料的至少一部分。
  2. 如請求項1之方法,其進一步包含: 自該HMB接收該第一資料; 基於該第一資料之一錯誤校正而產生該第二資料; 將該第二資料儲存於該第二緩衝記憶體中;且 將該第二資料自該第二緩衝記憶體傳輸至該快閃記憶體模組之該第二記憶體部分。
  3. 如請求項2之方法,其中該第二資料係基於所接收之複數個第一資料之錯誤校正而產生。
  4. 如請求項2之方法,其中該第一資料自該第一緩衝記憶體至該第一記憶體部分之一傳輸速率大於該第二資料自該第二緩衝記憶體至該第二記憶體部分之傳輸速率。
  5. 如請求項2之方法,其進一步包含: 在該第二資料經傳輸至該第二記憶體部分之後,自該主機記憶體緩衝區抹除該第一資料。
  6. 如請求項1之方法,其進一步包含: 自該主機裝置接收與該第二資料相關聯之一讀取請求;且 若該快閃記憶體模組之該第二記憶體部分經完全寫入,則將該第二資料自該第二記憶體部分傳輸至該主機裝置; 若該快閃記憶體模組之該第二記憶體部分未經完全寫入,則將該第一資料自該快閃記憶體模組之該第一記憶體部分傳輸至該主機裝置。
  7. 如請求項3之方法,其中該第一資料包括一資料頁,且該第二資料包括複數個資料頁。
  8. 如請求項1之方法,其進一步包含: 在該第一資料自該第一緩衝記憶體傳輸至該快閃記憶體模組之該第一記憶體部分之後,用一第一信號回應該主機裝置, 其中該第一信號指示將該第一資料寫入該第一記憶體部分。
  9. 如請求項1之方法,其中該第一記憶體部分具有一第一操作模式,且該第二記憶體部分具有一第二操作模式,其中該第一操作模式不同於該第二操作模式。
  10. 如請求項9之方法,其中該第一記憶體部分包含四位階胞元(QLC)或單位階胞元,且該第二記憶體部分包含QLC。
  11. 一種用於控制具有至少一第一記憶體部分及一第二記憶體部分之一快閃記憶體模組的快閃記憶體控制器,該快閃記憶體控制器包含: 一第一通信介面,其經組配以自一主機裝置接收一第一資料; 一第一緩衝記憶體,其與該第一通信介面耦合且經組配以儲存該第一資料; 一第二通信介面,其經組配以將該第一資料自該第一緩衝記憶體傳輸至該快閃記憶體模組之該第一記憶體部分; 其中該第一通信介面經進一步組配以將該第一資料自該第一緩衝記憶體傳輸至該主機裝置之一主機記憶體緩衝區;及 其中該第一資料對應於待寫入至該第二記憶體部分之一第二資料的至少一部分。
  12. 如請求項11之快閃記憶體控制器,其進一步包含: 一錯誤校正單元,其與該第一通信介面耦合,其中該第一資料經由該第一通信介面自該主機記憶體緩衝區傳輸至該錯誤校正單元,且其中該錯誤校正單元經組配以回應於該第一資料之一錯誤校正而產生該第二資料;以及 一第二緩衝記憶體,其與該錯誤校正單元及該第二通信介面耦合,其中該第二緩衝記憶體經組配以儲存該第二資料, 其中該第二通信介面經進一步組配以將該第二資料自該第二緩衝記憶體傳輸至該快閃記憶體模組之該第二記憶體部分。
  13. 如請求項12之快閃記憶體控制器,其中該第二資料係基於所接收之複數個第一資料之錯誤校正而產生。
  14. 如請求項12之快閃記憶體控制器,其中該第一資料自該第一緩衝記憶體至該第一記憶體部分之一傳輸速率大於該第二資料自該第二緩衝記憶體至該第二記憶體部分之傳輸速率。
  15. 如請求項12之快閃記憶體控制器,其中該第一通信介面經進一步組配以在該第二資料經傳輸至該第二記憶體部分之後將指示該第一資料之一抹除的一抹除信號傳輸至該主機記憶體緩衝區。
  16. 如請求項11之快閃記憶體控制器,其中在藉由該第一通信介面自該主機裝置接收與該第二資料相關聯之一讀取請求後: 若該快閃記憶體模組之該第二記憶體部分經完全寫入,則該第二資料自該第二記憶體部分傳輸至該主機裝置; 若該快閃記憶體模組之該第二記憶體部分未經完全寫入,則該第一資料經由該第二通信介面自該第一記憶體部分傳輸至該主機裝置。
  17. 如請求項11之快閃記憶體控制器,其中該第一資料包括一資料頁,且該第二資料包括複數個資料頁。
  18. 如請求項11之快閃記憶體控制器,其中 在該第一資料自該第一緩衝記憶體傳輸至該快閃記憶體模組之該第一記憶體部分之後,一第一信號經由該第一通信介面傳輸至該主機裝置, 其中該第一信號指示將該第一資料寫入該第一記憶體部分。
  19. 如請求項11之快閃記憶體控制器,其中該第一記憶體部分具有一第一操作模式,且該第二記憶體部分具有一第二操作模式,其中該第一操作模式不同於該第二操作模式。
  20. 如請求項19之快閃記憶體控制器,其中該第一記憶體部分包含QLC或SLC,且該第二記憶體部分包含QLC。
TW110136149A 2020-10-29 2021-09-29 用於控制資料儲存裝置之方法及相關快閃記憶體控制器 TWI840703B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063107420P 2020-10-29 2020-10-29
US63/107,420 2020-10-29

Publications (2)

Publication Number Publication Date
TW202217574A true TW202217574A (zh) 2022-05-01
TWI840703B TWI840703B (zh) 2024-05-01

Family

ID=

Also Published As

Publication number Publication date
EP4014121A4 (en) 2023-08-30
WO2022089138A1 (en) 2022-05-05
EP4014121A1 (en) 2022-06-22
US20220137874A1 (en) 2022-05-05
CN114981784A (zh) 2022-08-30
US11630604B2 (en) 2023-04-18

Similar Documents

Publication Publication Date Title
US11488648B2 (en) Data storage device and operating method thereof
US10249383B2 (en) Data storage device and operating method thereof
KR102381218B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
JP6345210B2 (ja) 軟判定復号のための物理アドレスの相互関連付け
US11157357B2 (en) Operation methods of memory system and host, and computing system
US8902671B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
CN109857584B (zh) 于记忆装置进行访问控制的方法、记忆装置和其控制器
US11704048B2 (en) Electronic device
CN114518843A (zh) 存储控制器和包括存储控制器的存储设备
US11782638B2 (en) Storage device with improved read latency and operating method thereof
CN114171089A (zh) 使用CbA技术的重定位流程
US11630604B2 (en) Methods for controlling data storage device, and associated flash memory controller
US11868647B2 (en) Nonvolatile memory device, with valley search for threshold voltage, memory controller, and reading method of storage device including the same
US11586379B2 (en) Memory system and method of operating the same
KR20230160620A (ko) 메모리 시스템에서 데이터를 복구하는 장치 및 방법
TWI840703B (zh) 用於控制資料儲存裝置之方法及相關快閃記憶體控制器
KR20180042792A (ko) 데이터 저장 장치 및 그것의 동작 방법
US9778864B2 (en) Data storage device using non-sequential segment access and operating method thereof
CN113126906A (zh) 用于存储器装置的元数据指示
US11954347B2 (en) Memory system and operating method thereof
US11379362B2 (en) Memory system and operating method thereof
US20240143337A1 (en) Data Storage With Optimized Boot Files Loading
US11556261B2 (en) Memory stripe coding management
US20230214151A1 (en) Memory system and operating method thereof
US20230342244A1 (en) Read Look Ahead Optimization According To NVMe Dataset Management Hints