TW201329999A - 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 - Google Patents

緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 Download PDF

Info

Publication number
TW201329999A
TW201329999A TW101100822A TW101100822A TW201329999A TW 201329999 A TW201329999 A TW 201329999A TW 101100822 A TW101100822 A TW 101100822A TW 101100822 A TW101100822 A TW 101100822A TW 201329999 A TW201329999 A TW 201329999A
Authority
TW
Taiwan
Prior art keywords
memory
buffer
data
rewritable non
storage
Prior art date
Application number
TW101100822A
Other languages
English (en)
Other versions
TWI523030B (zh
Inventor
Chih-Kang Yeh
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW101100822A priority Critical patent/TWI523030B/zh
Priority to US13/472,485 priority patent/US9037781B2/en
Publication of TW201329999A publication Critical patent/TW201329999A/zh
Application granted granted Critical
Publication of TWI523030B publication Critical patent/TWI523030B/zh

Links

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/0656Data buffering arrangements
    • 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
    • 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
    • G06F13/1673Details of memory controller using buffers
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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

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)
  • Memory System (AREA)

Abstract

一種用於管理記憶體儲存裝置中緩衝記憶體的方法,其中此緩衝記憶體是配置在具有可複寫式非揮發性記憶體模組的記憶體儲存裝置中。本方法包括:用一預程式化指令組將將暫存在緩衝記憶體中的暫存資料傳送至可複寫式非揮發性記憶體模組的緩衝區中,其中暫存資料不會被程式化至可複寫式非揮發性記憶體模組的儲存區。此方法還包括釋放緩衝記憶體中用以儲存此暫存資料的儲存空間;以及將暫存資料從緩衝區中重新載入至緩衝記憶體的儲存空間。藉此,本方法能夠暫時的增加緩衝記憶體的可用儲存空間,以應付額外的運算需求。

Description

緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置
本發明是有關於一種管理緩衝記憶體的技術,且特別是有關於一種能暫時增加緩衝記憶體的記憶體空間的緩衝記憶體管理方法及使用此方法的記憶體控制器與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
在使用可複寫式非揮發性記憶體作為儲存媒體的記憶體儲存裝置中,通常也會配置緩衝記憶體,用以暫存程式碼或是資料。由於成本的考量,這樣的緩衝記憶體並不會有很大的記憶體空間。當緩衝記憶體的記憶體空間不夠時,記憶體儲存裝置便無法正常的運作。然而,在記憶體儲存裝置執行一些程序時,需要一些額外的記憶體空間。例如,要排序大小為n的資料時,通常至少需要大小為log(n)的記憶體空間。因此,若緩衝記憶體中的記憶體空間不足,便無法執行上述的排序程序。因此,如何能夠的快速且暫時的空出緩衝記憶體的儲存空間,為此領域技術人員所關心的議題。
本發明提出一種緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置,其能夠暫時且快速的空出緩衝記憶體的儲存空間。
本發明一範例實施例提出一種用於操作記憶體儲存裝置的緩衝記憶體的緩衝記憶體管理方法,其中此記憶體儲存裝置包括可複寫式非揮發性記憶體模組且此可複寫式非揮發性記憶體模組包括緩衝區與儲存區。此緩衝記憶體管理方法包括用一預程式化指令組將暫存資料從緩衝記憶體中傳送至緩衝區。根據此預程式化指令組,可複寫式非揮發性記憶體模組不會將暫存資料程式化至上述的儲存區中。此方法還包括在緩衝記憶體中釋放用以儲存上述暫存資料的儲存空間。此方法更包括,之後,將暫存資料從可複寫式非揮發性記憶體模組的緩衝區重新載入至緩衝記憶體的儲存空間。
在本發明的一範例實施例中,上述釋放緩衝記憶體的儲存空間的步驟更包括:判斷是否要執行特定任務或判斷緩衝記憶體的空間是否不足;以及,當要執行此特定任務或緩衝記憶體的空間不足時,釋放緩衝記憶體的儲存空間。
在本發明的一範例實施例中,上述緩衝記憶體管理方法更包括:在將暫存資料從可複寫式非揮發性記憶體模組的緩衝區重新載入至緩衝記憶體的儲存空間之前,利用此儲存空間來排序記錄在全域混亂表中的資訊。
在本發明的一範例實施例中,上述將暫存資料從可複寫式非揮發性記憶體模組的緩衝區中重新載入至緩衝記憶體的儲存空間的步驟包括:使用緩衝區讀取指令將暫存資料從可複寫式非揮發性記憶體模組的緩衝區讀取至緩衝記憶體的儲存空間。
在本發明的一範例實施例中,上述緩衝記憶體管理方法更包括:在暫存資料儲存在緩衝區的期間,停止存取可複寫式非揮發性記憶體模組的儲存區中的資料。
在本發明的一範例實施例中,上述緩衝記憶體管理方法更包括:將緩衝記憶體劃分為多個區域,而上述的儲存空間為這些區域的其中之一。
在本發明的一範例實施例中,上述緩衝記憶體管理方法更包括:設定上述的多個區域包括映射表暫存區、變數暫存區、韌體碼暫存區、全域混亂表暫存區、存取資料暫存區與剩餘區域。
以另外一個角度來說,本發明一範例實施例提出一種記憶體控制器,用以控制可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組包括一緩衝區與儲存區。此記憶體控制器包括主機介面、記憶體介面、緩衝記憶體與記憶體管理電路。主機介面是用以耦接至主機系統。記憶體介面是用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路是耦接至主機介面、記憶體介面與緩衝記憶體。在此,記憶體管理電路會使用一預程式化指令組來將一暫存資料從緩衝記憶體中傳送至緩衝區。根據此預程式化指令,可複寫式非揮發性記憶體模組並不會將暫存資料程式化(program)至儲存區中。此外,記憶體管理電路更用以在緩衝記憶體中釋放用以儲存上述暫存資料的儲存空間。之後,記憶體管理電路更用以將暫存資料從可複寫式非揮發性記憶體模組的緩衝區重新載入至緩衝記憶體的儲存空間。
在本發明的一範例實施例中,上述記憶體管理電路更用以判斷是否要執行一特定任務或判斷緩衝記憶體的空間是否不足。當要執行此特定任務或緩衝記憶體的空間不足時,記憶體管理電路會釋放緩衝記憶體的儲存空間。
在本發明的一範例實施例中,在將暫存資料從可複寫式非揮發性記憶體模組的緩衝區重新載入至緩衝記憶體的儲存空間之前,記憶體管理電路還利用儲存空間來排序記錄在全域混亂表中的資訊。
在本發明的一範例實施例中,上述記憶體管理電路是使用緩衝區讀取指令將暫存資料從可複寫式非揮發性記憶體模組的緩衝區讀取至緩衝記憶體的儲存空間。
在本發明的一範例實施例中,上述暫存資料儲存在緩衝區的期間,記憶體管理電路停止存取可複寫式非揮發性記憶體模組的儲存區中的資料。
在本發明的一範例實施例中,上述記憶體管理電路更用以將緩衝記憶體劃分為多個區域,並設定儲存空間為這些區域的其中之一。
在本發明的一範例實施例中,上述多個區域包括映射表暫存區、變數暫存區、韌體碼暫存區、全域混亂表暫存區、存取資料暫存區與剩餘區域。
以另外一個角度來說,本發明一範例實施例提出一種記憶體儲存裝置,其包括連接器、可複寫式非揮發性記憶體模組與記憶體控制器。連接器是用以耦接至主機系統。可複寫式非揮發性記憶體模組包括緩衝區與儲存區。記憶體控制器是耦接至連接器與可複寫式非揮發性記憶體模組,並且具有緩衝記憶體。在此,記憶體控制器使用一預程式化指令組將暫存資料從緩衝記憶體中傳送至緩衝區。並且,根據此預程式化指令組,可複寫式非揮發性記憶體模組不會將暫存資料程式化至儲存區。記憶體控制器會在緩衝記憶體中釋放用以儲存暫存資料的儲存空間。之後,記憶體控制器更用以將暫存資料從可複寫式非揮發性記憶體模組的緩衝區重新載入至緩衝記憶體的儲存空間。
在本發明的一範例實施例中,上述記憶體控制器更用以判斷是否要執行一特定任務或判斷緩衝記憶體的空間是否不足。當要執行特定任務或緩衝記憶體的空間不足時,記憶體控制器會釋放緩衝記憶體的儲存空間。
在本發明的一範例實施例中,在將暫存資料從可複寫式非揮發性記憶體模組的緩衝區重新載入至緩衝記憶體的儲存空間之前,記憶體控制器利用儲存空間來排序記錄在全域混亂表中的資訊。
在本發明的一範例實施例中,上述記憶體控制器是使用緩衝區讀取指令將暫存資料從可複寫式非揮發性記憶體模組的緩衝區讀取至緩衝記憶體的儲存空間。
在本發明的一範例實施例中,上述暫存資料儲存在緩衝區的期間,記憶體控制器會停止存取可複寫式非揮發性記憶體模組的儲存區中的資料。
在本發明的一範例實施例中,上述記憶體控制器更用以將緩衝記憶體劃分為多個區域,上述的儲存空間為這些區域的其中之一。
在本發明的一範例實施例中,上述多個區域包括映射表暫存區、變數暫存區、韌體碼暫存區、全域混亂表暫存區存取資料暫存區與剩餘區域。
在本發明的一範例實施例中,上述可複寫式非揮發性記憶體模組還包括至少一個記憶體晶片並且每一個記憶體晶片包括多個記憶體晶粒。並且,上述的緩衝區與儲存區是被配置在相同的記憶體晶片中。
在本發明的一範例實施例中,上述的緩衝區與儲存區是被配置在相同的記憶體晶粒中。
基於上述,本發明範例實施例提出的緩衝區管理方法、記憶體控制器與記憶體儲存裝置,可以暫時地空出緩衝記憶體的儲存空間。並且,由於將資料暫存在可複寫式非揮發性記憶體模組的緩衝區所需的時間短於將資料暫存至可複寫式非揮發性記憶體模組的儲存區所需的時間,因此,緩衝記憶體的可用儲存空間可以快速且暫時的增加。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
請參照圖2,記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接器102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合並列先進附件(Parellel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE) 1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。並且,可複寫式非揮發性記憶體模組106具有緩衝區120與儲存區140。
圖2B是根據一範例實施例所匯示的可複寫式非揮發性記憶體模組的方塊圖。
請參照圖2B,在一範例實施例中,可複寫式非揮發性記憶體模組106還包括I/O控制介面122,控制電路124與至少一個記憶體晶片(未匯示),且每一個記憶體晶片包括多個記憶體晶粒(例如,記憶體晶粒160),每一個記憶體晶粒則包括多個實體區塊。I/O控制介面122是用以從記憶體控制器104接收指令與資料。控制電路124是用以控制可複寫式非揮發性記憶體模組106的整體運作,例如將資料寫入至緩衝區120與儲存區140。在本範例實施例中,緩衝區120與儲存區140係封裝在相同的記憶體晶片中。在一範例實施例中,緩衝區120與儲存區140係屬於同一個記憶體晶粒(die)160。然而,在其他範例實施例中,緩衝區120與儲存區140也可以屬於不同的記憶體晶粒,本發明並不在此限。
緩衝區120是用以暫存來自於記憶體控制器104或是暫存儲存區140的資料。具體來說,在可複寫式非揮發性記憶體模組106中寫入資料的過程包括資料傳輸以及資料程式化兩個部分。在資料傳輸的部分,快閃記憶體控制器104的記憶體管理電路202會將欲寫入的資料傳輸至緩衝區120。而在資料程式化的部分,欲寫入的資料會從緩衝區120中程式化至儲存區140。在一範例實施例中,緩衝區120可為揮發性記憶體,例如動態隨機存取記憶體(dynamic random access memory,DRAM),但是緩衝區120也可以是靜態隨機存取記憶體(static random access memory,SRAM)、磁電阻式隨機存取記憶(Magnetoresistive Random Access Memory,MRAM)、快取隨機存取記憶體(Cache RAM)、同步動態隨機存取記憶體(synchronous dynamic random access memory,SDRAM)、視頻隨機存取記憶器(Video RAM,VRAM)嵌入式動態隨機存取記憶體(embedded DRAM,eDRAM)或其他的記憶體。在另一範例實施例中,緩衝區120可為非揮發性記憶體,例如反或閘快閃記憶體(NOR Flash)或其他的記憶體。
儲存區140具有多個實體區塊。例如,這些實體區塊可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體區塊分別具有複數個實體頁面,並且每一實體頁面具有至少一實體扇區,其中屬於同一個實體區塊之實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體區塊是由128個實體頁面所組成,並且每一實體頁面具有8個實體扇區(sector)。也就是說,在每一實體扇區為512位元組(byte)的例子中,每一實體頁面的容量為4千位元組(Kilobyte,K)。然而,必須瞭解的是,本發明不限於此,每一實體區塊是可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成。
更詳細來說,實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。實體頁面為程式化的最小單元。即,實體頁面為寫入資料的最小單元。每一實體頁面通常包括資料位元區與冗餘位元區。資料位元區用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤檢查與校正碼)。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體模組,即一個記憶胞中可儲存至少2個位元資料。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖3是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
請參照圖3,記憶體控制器104包括記憶體管理電路202、主機介面204、記憶體介面206與緩衝記憶體208。
記憶體管理電路202用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路202的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路202包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組106的實體區塊;記憶體寫入單元用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取單元用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除單元用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
主機介面204是耦接至記憶體管理電路202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面204來傳送至記憶體管理電路202。在本範例實施例中,主機介面204是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面206是耦接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
緩衝記憶體208是用以暫存記憶體管理電路202的程式碼或者資料。例如,緩衝記憶體208為靜態隨機存取記憶體。然而,必須瞭解的是,緩衝記憶體208也可以是動態隨機存取記憶體、磁電阻式隨機存取記憶、快取隨機存取記憶體、同步動態隨機存取記憶體、視頻隨機存取記憶器、反或閘快閃記憶體、嵌入式動態隨機存取記憶體或其他的記憶體。
此外,在一範例實施例中,記憶體控制器104可更包括電源管理電路與錯誤檢查與校正電路(未繪示)。電源管理電路是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。錯誤檢查與校正電路是耦接至記憶體管理電路202並且用以執行一錯誤校正程序以確保資料的正確性。具體來說,當主機介面204從主機系統1000中接收到主機寫入指令時,錯誤檢查與校正電路會為對應此主機寫入指令的寫入資料(亦稱為更新資料)產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將此更新資料與對應的錯誤校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤校正碼,並且錯誤檢查與校正電路會依據此錯誤校正碼對所讀取的資料執行錯誤校正程序。
在本範例實施例中,當緩衝記憶體208的儲存空間不足時,記憶體管理電路202便無法正常地執行。例如,當記憶體管理電路208要排序一全域混亂表(global random table)時,便需要額外的儲存空間來儲存此全域混亂表的內容。詳細來說,全域混亂表是紀錄著一邏輯存取單位與一實體存取單位的映射關係。在一範例實施例中,此邏輯存取單位是一個邏輯頁面(logical page),而實體存取單位是一個實體頁面(physical page)。當記憶體控制器104對可複寫式非揮發性記憶體106中的一個實體頁面一直重複的寫入資料時,若使用以區塊為基準的映射關係(邏輯區塊映射至實體區塊),會使得被寫入的實體區塊必須一直被整併(merge),使得寫入效率降低。因此,在這樣的情況,記憶體控制器104會使用以頁面為基準的映射關係(邏輯頁面映射至實體頁面),並維護一個全域混亂表來維護以頁面為基準的映射關係。然而,由於以頁面為基準的映射關係會比以區塊為基準的映射關係較為多,因此使得全域混亂表的內容也較為複雜。為了維護且能有效的存取全域混亂表,記憶體控制器104會不定時的排序全域混亂表的資訊。而在一般排序過程中,必須使用額外的記憶體空間。例如,若使用快速排序演算法(quick sort)來排序大小為n的資料,則必須額外的使用大小為log(n)的記憶體空間來執行此快速排序演算法法。因此,當緩衝記憶體208中的空間不夠以執行排序全域混亂表的演算法時,記憶體管理電路202就必須暫時的空出緩衝記憶體208的部分記憶體空間,藉此完成此排序。
圖4是根據一範例實施例說明空出緩衝記憶體的部分記憶體空間的示意圖。
請參考圖4,一般來說,記憶體控制器104的記憶體管理電路202會將緩衝記憶體208的儲存空間劃分為多個區域,以儲存資料。舉例來說,記憶體管理電路202會將緩衝記憶體208劃分為映射表(mapping table)暫存區402、變數暫存區404、韌體碼暫存區406、全域混亂表暫存區408與存取資料暫存區410與其他剩餘區域,並且暫存資料420是儲存在此剩餘區域(即,儲存空間440)。在本範例實施例中,映射表暫存區402用以暫存映射表的至少一部份,其中此映射表用以是儲存邏輯位址與實體位址之間的映射關係。變數暫存區404是用以儲存記憶體管理電路202於運作過程中所使用之至少一變數。軔體碼暫存區406是用以儲存記憶體管理電路202所執行的至少一程式碼。全域混亂表區408是用以暫存全域混亂表的至少一部分。而存取資料暫存區410是用以暫存欲寫入至或讀取自可複寫式非揮發性記憶體106的資料。
如上所述,由於緩衝記憶體208的儲存空間會事先被規劃,以儲存記憶體儲存裝置100運作時所需暫存的程式或資料。因此,當需要執行上述排序全域混亂表的額外運算時,記憶體管理電路202必須釋放緩衝記憶體208的儲存空間。例如,在本範例實施例中,記憶體管理電路202會先利用一指令組將暫存在緩衝記憶體208中的暫存資料420傳送至可複寫式非揮發性記憶體模組106的緩衝區120中,並且,此指令組並不會要求將暫存資料420程式化(program)至儲存區140中。
具體來說,在本範例實施例中,記憶體管理電路202可是使用一個預程式化指令組來將暫存資料420從緩衝記憶體208中傳送至緩衝區120。例如,此預程式化指令組是由“寫入指令”欄位、“位址”欄位、“資料”欄位所組成,其中“寫入指令”欄位是用以指示可複寫式非揮發性記憶體模組106此指令為一寫入指令;“位址”欄位是記錄欲寫入資料的記憶體位址;並且“資料”欄位是記錄欲寫入之資料的內容。值得注意的是,在一般的資料存取中,一個寫入指令除了包括上述“寫入指令”欄位、“位址”欄位以及“資料”欄位以外,還會包括一個對應“寫入指令”欄位的”執行指令”欄位,其用以指示可複寫式非揮發性記憶體模組106開始將欲寫入的資料程式化至儲存區140中。而在本範例實施例中,記憶體管理電路202所使用的預程式化指令組並不包括對應“寫入指令”欄位的”執行指令”欄位。因此可複寫式非揮發性記憶體模組106在接收到此預程式化指令組以後,並不會將暫存資料420程式化至儲存區140。另一方面,由於可複寫式非揮發性記憶體模組106並不會將暫存資料420程式化至儲存區140,因此省去了執行程式化的時間。換句話說,記憶體控制器104可以快速將暫存資料420傳送至可複寫式非揮發性記憶體模組106,藉此讓儲存空間440變成閒置且可用的。
記憶體管理電路202在將暫存資料420傳送至緩衝區120以後,記憶體管理電路202會釋放緩衝記憶體208的儲存空間440,亦即記憶體管理電路202可將一新資料寫入至儲存空間440,其中,儲存空間440中之暫存資料420可被新資料覆寫。此時,記憶體管理電路202便可以利用儲存空間440來排序記錄在全域混亂表中的資訊。在記憶體管理電路完成全域混亂表的排序以後,記憶體管理電路202會將暫存資料420從可複寫式非揮發性記憶體模組160的緩衝區120中重新載入至緩衝記憶體208的儲存空間440。具體來說,記憶體管理電路202是使用一緩衝區讀取指令來將暫存資料420從可複寫式非揮發性記憶體模組160的緩衝區120讀取至緩衝記憶體208的儲存空間440。例如,此緩衝區讀取指令是由“讀取指令”欄位、“行位址”(column address)欄位、對應”讀取指令”欄位的“執行指令”欄位所組成。在此,“讀取指令”欄位是用以指示可複寫式非揮發性記憶體模組160此指令為一讀取指令欲讀取一資料;“行位址”欄位則用以記錄欲讀取資料的行位址;並且對應”讀取指令”欄位的“執行指令”欄位則用以指示可複寫式非揮發性記憶體模組160開始讀取資料。特別是,根據此緩衝區讀取指令,可複寫式非揮發性記憶體模組160僅會將緩衝區120的資料提供給記憶體管理電路202,而不會再從儲存區140讀取資料。基此,當接收到此緩衝區讀取指令以後,可複寫式非揮發性記憶體模組160便會從緩衝區120中對應上述讀取資料的記憶體位址中,將暫存資料420傳送給記憶體控制器104,並且記憶體管理電路202會將資料載入至緩衝記憶體208的儲存空間440。如此一來,便完成了暫時增加緩衝記憶體208的可用記憶體空間的程序。
在另一範例實施例中,在暫存資料420儲存在緩衝區120的期間,記憶體管理電路202還停止存取可複寫式非揮發性記憶體模組106的儲存區140中的資料。具體來說,由於在存取儲存區140時,所有的資料都會被暫存在緩衝區120中。因此,在暫存資料420儲存在緩衝區120的期間記憶體管理電路202停止存取儲存區140中的資料,由此避免儲存在緩衝區120的暫存資料420被覆寫而遺失。
值得注意的是,本範例實施例中記憶體控制器104在將暫存資料420傳送至緩衝區120後,使用儲存空間440來排序全域混亂表。然而,在其他範例實施例中,記憶體控制器104也可以使用儲存空間440來執行其他的程序,本發明並不限制儲存空間440的用途。舉例來說,記憶體控制器104還會判斷是否要執行一特定任務或判斷緩衝記憶體208的空間是否不足。例如,此特定任務為全域混亂表的排序任務,但本發明並不限制此特定任務的內容。如果要執行此特定任務,則記憶體控制器104會釋放儲存空間440來執行此特定任務。或者,當記憶體控制器104判斷緩衝記憶體208的空間不足時,便可以釋放儲存空間440。另一方面,記憶體控制器104也可以將緩衝記憶體208中的任何資料當做暫存資料420並傳送至緩衝區120,藉此暫時的增加緩衝記憶體208的可使用儲存空間。本發明也不限制暫存資料420的內容。或者是,記憶體控制器104可以將緩衝記憶體208中的任何一個區域(例如,變數暫存區404)的記憶體空間釋放。本發明也不限制所釋放的記憶體空間的位置。
圖5是根據一範例實施例所繪示的緩衝區管理方法的流程圖。
在步驟S502中,記憶體控制器104的記憶體管理電路202將暫存在緩衝記憶體208中的暫存資料傳送至可複寫式非揮發性記憶體模組106的緩衝區120中,其中暫存資料不會被程式化至可複寫式非揮發性記憶體模組106的儲存區140。在步驟S504中,記憶體管理電路202會釋放緩衝記憶體208中用以儲存上述暫存資料的儲存空間。之後,在步驟S506中,記憶體管理電路202會利用此儲存空間執行暫時性的運作。例如,執行上述排序全域混亂表的排序。最後,在步驟S508中,記憶體管理電路202會將暫存資料從可複寫式非揮發性記憶體模組106的緩衝區120重新載入至緩衝記憶體208的儲存空間。圖5中各步驟已詳細說明如上,在此便不再贅述。
綜上所述,本發明範例實施例所提出的緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置,可以將緩衝記憶體中的暫存資料利用一預程式化指令組傳送至緩衝區,並且此暫存資料並不會被程式化至可複寫式非揮發性記憶體模組的儲存區。如此一來,緩衝記憶體中原本用以儲存暫存資料的儲存空間便可以被釋放,用以執行記憶體控制器的其他程序。特別是,相較於將資料搬移至可複寫式非揮發性記憶體模組的儲存區,將暫存資料暫存至可複寫式非揮發性記憶體模組的緩衝區所需的時間較短,因此,緩衝記憶體的可用儲存空間可暫時且快速地被增加。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1214...記憶卡
1216...固態硬碟
1310...數位相機
1312...SD卡
1314...MMC卡
1316...記憶棒
1318...CF卡
1320...嵌入式儲存裝置
100...記憶體儲存裝置
102...連接器
104...記憶體控制器
106...可複寫式非揮發性記憶體模組
120...緩衝區
140...儲存區
160...記憶體晶粒
122...I/O控制介面
124...控制電路
202...記憶體管理電路
204...主機介面
206...記憶體介面
208...緩衝記憶體
402...映射表暫存區
404...變數暫存區
406...韌體碼暫存區
408...全域混亂表暫存區
410...存取資料暫存區
420...暫存資料
440...儲存空間
S502、S504、S506、S508...緩衝記憶體管理方法的步驟
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖1B是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2A是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖2B是根據一範例實施例所匯示的可複寫式非揮發性記憶體模組的方塊圖。
圖3是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
圖4是根據一範例實施例說明空出緩衝記憶體的部分記憶體空間的示意圖。
圖5是根據一範例實施例所繪示的緩衝區管理方法的流程圖。
S502、S504、S506、S508...緩衝記憶體管理方法的步驟

Claims (23)

  1. 一種緩衝記憶體管理方法,用於操作一記憶體儲存裝置的一緩衝記憶體,其中該記憶體儲存裝置包括一可複寫式非揮發性記憶體模組且該可複寫式非揮發性記憶體模組包括一緩衝區與一儲存區,該緩衝記憶體管理方法包括:用一預程式化指令組將一暫存資料從該緩衝記憶體中傳送至該緩衝區,其中根據該預程式化指令組,該可複寫式非揮發性記憶體模組不會將該暫存資料程式化至該儲存區;釋放該緩衝記憶體的一儲存空間,其中該儲存空間用以儲存該暫存資料;以及將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區重新載入至該緩衝記憶體的該儲存空間。
  2. 如申請專利範圍第1項所述之緩衝記憶體管理方法,其中釋放該緩衝記憶體的該儲存空間的步驟更包括:判斷是否要執行一特定任務或判斷該緩衝記憶體的空間是否不足;以及當要執行該特定任務或該緩衝記憶體的空間不足時,釋放該緩衝記憶體的該儲存空間。
  3. 如申請專利範圍第1項所述之緩衝記憶體管理方法,更包括:在將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區重新載入至該緩衝記憶體的該儲存空間之前,利用該儲存空間來排序記錄在一全域混亂表中的資訊。
  4. 如申請專利範圍第1項所述之緩衝記憶體管理方法,其中將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區中重新載入至該緩衝記憶體的該儲存空間的步驟包括:使用一緩衝區讀取指令將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區讀取至該緩衝記憶體的該儲存空間。
  5. 如申請專利範圍第1項所述之緩衝記憶體管理方法,更包括:在該暫存資料儲存在該緩衝區的期間,停止存取該可複寫式非揮發性記憶體模組的該儲存區中的資料。
  6. 如申請專利範圍第1項所述之緩衝記憶體管理方法,更包括:將該緩衝記憶體劃分為多個區域,該儲存空間為該些區域的其中之一。
  7. 如申請專利範圍第6項所述之緩衝記憶體管理方法,更包括:該些區域包括一映射表暫存區、一變數暫存區、一韌體碼暫存區、一全域混亂表暫存區、一存取資料暫存區與一剩餘區域。
  8. 一種記憶體控制器,用以控制一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括一緩衝區與一儲存區,該記憶體控制器包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;一緩衝記憶體;以及一記憶體管理電路,耦接至該主機介面、該記憶體介面與該緩衝記憶體,其中該記憶體管理電路使用一預程式化指令組將一暫存資料從該緩衝記憶體中傳送至該緩衝區,其中根據該預程式化指令,該可複寫式非揮發性記憶體模組並不會將該暫存資料程式化(program)至該儲存區,其中該記憶體管理電路更用以釋放該緩衝記憶體的一儲存空間,其中該儲存空間用以儲存該暫存資料,其中該記憶體管理電路更用以將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區重新載入至該緩衝記憶體的該儲存空間。
  9. 如申請專利範圍第8項所述之記憶體控制器,其中該記憶體管理電路更用以判斷是否要執行一特定任務或判斷該緩衝記憶體的空間是否不足,當要執行該特定任務或該緩衝記憶體的空間不足時,該記憶體管理電路釋放該緩衝記憶體的該儲存空間。
  10. 如申請專利範圍第8項所述之記憶體控制器,其中在將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區重新載入至該緩衝記憶體的該儲存空間之前,該記憶體管理電路利用該儲存空間來排序記錄在一全域混亂表中的資訊。
  11. 如申請專利範圍第8項所述之記憶體控制器,其中該記憶體管理電路使用一緩衝區讀取指令將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區讀取至該緩衝記憶體的該儲存空間。
  12. 如申請專利範圍第8項所述之記憶體控制器,其中在該暫存資料儲存在該緩衝區的期間,該記憶體管理電路停止存取該可複寫式非揮發性記憶體模組的該儲存區中的資料。
  13. 如申請專利範圍第8項所述之記憶體控制器,其中該記憶體管理電路更用以將該緩衝記憶體劃分為多個區域,該儲存空間為該些區域的其中之一。
  14. 如申請專利範圍第13項所述之記憶體控制器,其中該些區域包括一映射表暫存區、一變數暫存區、一韌體碼暫存區、一全域混亂表暫存區、一存取資料暫存區與一剩餘區域。
  15. 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括一緩衝區與一儲存區;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,並且包括一緩衝記憶體,其中該記憶體控制器使用一預程式化指令組將一暫存資料從該緩衝記憶體中傳送至該緩衝區,根據該預程式化指令組該可複寫式非揮發性記憶體模組不會將該暫存資料程式化至該儲存區,其中該記憶體控制器用以將暫存在該緩衝記憶體中的一暫存資料傳送至該可複寫式非揮發性記憶體模組的該緩衝區中,其中該暫存資料不會被程式化(program)至該儲存區,其中該記憶體控制器更用以釋放該緩衝記憶體的一儲存空間,其中該儲存空間用以儲存該暫存資料,其中該記憶體控制器更用以將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區重新載入至該緩衝記憶體的該儲存空間。
  16. 如申請專利範圍第15項所述之記憶體儲存裝置,其中該記憶體控制器更用以判斷是否要執行一特定任務或判斷該緩衝記憶體的空間是否不足,當要執行該特定任務或該緩衝記憶體的空間不足時,該記憶體控制器釋放該緩衝記憶體的該儲存空間
  17. 如申請專利範圍第15項所述之記憶體儲存裝置,其中在將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區重新載入至該緩衝記憶體的該儲存空間之前,該記憶體控制器利用該儲存空間來排序記錄在一全域混亂表中的資訊。
  18. 如申請專利範圍第15項所述之記憶體儲存裝置,其中該記憶體控制器使用一緩衝區讀取指令將該暫存資料從該可複寫式非揮發性記憶體模組的該緩衝區讀取至該緩衝記憶體的該儲存空間。
  19. 如申請專利範圍第15項所述之記憶體儲存裝置,其中在該暫存資料儲存在該緩衝區的期間,該記憶體控制器停止存取該可複寫式非揮發性記憶體模組的該儲存區中的資料。
  20. 如申請專利範圍第15項所述之記憶體儲存裝置,其中該記憶體控制器更用以將該緩衝記憶體劃分為多個區域,該儲存空間為該些區域的其中之一。
  21. 如申請專利範圍第20項所述之記憶體儲存裝置,其中該些區域包括一映射表暫存區、一變數暫存區、一韌體碼暫存區、一全域混亂表暫存區一存取資料暫存區與一剩餘區域。
  22. 如申請專利範圍第15項所述之記憶體儲存裝置,其中該可複寫式非揮發性記憶體模組還包括至少一記憶體晶片並且每一該些記憶體晶片包括多個記憶體晶粒,其中該緩衝區與該儲存區是被配置在相同的該記憶體晶片中。
  23. 如申請專利範圍第15項所述之記憶體儲存裝置,其中該可複寫式非揮發性記憶體模組還包括至少一記憶體晶片並且每一該些記憶體晶片包括多個記憶體晶粒,其中該緩衝區與該儲存區是被配置在相同的記憶體晶粒中。
TW101100822A 2012-01-09 2012-01-09 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 TWI523030B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101100822A TWI523030B (zh) 2012-01-09 2012-01-09 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置
US13/472,485 US9037781B2 (en) 2012-01-09 2012-05-16 Method for managing buffer memory, memory controllor, and memory storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101100822A TWI523030B (zh) 2012-01-09 2012-01-09 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201329999A true TW201329999A (zh) 2013-07-16
TWI523030B TWI523030B (zh) 2016-02-21

Family

ID=48744763

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101100822A TWI523030B (zh) 2012-01-09 2012-01-09 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US9037781B2 (zh)
TW (1) TWI523030B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI641948B (zh) * 2017-07-27 2018-11-21 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
TWI709857B (zh) * 2017-12-08 2020-11-11 日商東芝記憶體股份有限公司 記憶體系統及控制方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785545B2 (en) * 2013-07-15 2017-10-10 Cnex Labs, Inc. Method and apparatus for providing dual memory access to non-volatile memory
US20170168920A1 (en) * 2015-12-09 2017-06-15 Dspace Digital Signal Processing And Control Engineering Gmbh Transfer of payload data
TWI689816B (zh) * 2018-03-06 2020-04-01 群聯電子股份有限公司 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置
KR20200113989A (ko) * 2019-03-27 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템의 쓰기 동작을 제어하는 방법 및 장치
US11061616B2 (en) * 2019-05-17 2021-07-13 SK Hynix Inc. Memory device and method of operating the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000251035A (ja) 1999-02-26 2000-09-14 Hitachi Ltd メモリカード
KR101554159B1 (ko) 2008-10-08 2015-09-21 삼성전자주식회사 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템
TWI435215B (zh) * 2009-08-26 2014-04-21 Phison Electronics Corp 下達讀取指令與資料讀取方法、控制器與儲存系統
TWI443513B (zh) * 2011-08-05 2014-07-01 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與資料寫入方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI641948B (zh) * 2017-07-27 2018-11-21 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
TWI709857B (zh) * 2017-12-08 2020-11-11 日商東芝記憶體股份有限公司 記憶體系統及控制方法

Also Published As

Publication number Publication date
TWI523030B (zh) 2016-02-21
US9037781B2 (en) 2015-05-19
US20130179627A1 (en) 2013-07-11

Similar Documents

Publication Publication Date Title
US9176865B2 (en) Data writing method, memory controller, and memory storage device
TWI523030B (zh) 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI592799B (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
TWI479492B (zh) 記憶體儲存裝置、其記憶體控制器與資料寫入方法
US9177656B2 (en) Data writing method, memory storage device and memory controlling circuit unit
TWI607448B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI597730B (zh) 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
US20180059934A1 (en) Memory management method, memory control circuit unit and memory storage device
TWI479315B (zh) 記憶體儲存裝置、其記憶體控制器與資料寫入方法
CN104423888A (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
CN107544922B (zh) 数据写入方法、存储器控制电路单元及存储器存储装置
TWI650639B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI454922B (zh) 記憶體儲存裝置及其記憶體控制器與資料寫入方法
TW201508748A (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI785876B (zh) 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
TW202046113A (zh) 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
CN110837339A (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
CN103218308B (zh) 缓冲存储器管理方法、存储器控制器与存储器储存装置
TWI635495B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI553477B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI749279B (zh) 資料儲存裝置與資料處理方法
TWI603335B (zh) 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
TW201337553A (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置