TWI479502B - 固態碟片控制器及其資料處理方法 - Google Patents
固態碟片控制器及其資料處理方法 Download PDFInfo
- Publication number
- TWI479502B TWI479502B TW097126165A TW97126165A TWI479502B TW I479502 B TWI479502 B TW I479502B TW 097126165 A TW097126165 A TW 097126165A TW 97126165 A TW97126165 A TW 97126165A TW I479502 B TWI479502 B TW I479502B
- Authority
- TW
- Taiwan
- Prior art keywords
- magnetic
- bit map
- zone bit
- read
- map value
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Read Only Memory (AREA)
Description
本發明是有關於資料儲存元件控制技術,以及特別是有關於固態碟片控制器及其資料處理方法。
習知地,例如電腦系統的電子系統使用磁碟(magnetic disk)來作為資料儲存元件。然而,隨著半導體技術的發展,固態碟片(solid state disk,SSD)已取代磁碟越來越多地應用於電腦系統與可攜式裝置,這種固態碟片是使用基於非揮發性記憶體(non-volatile memory)的電性可抹除可程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)(例如,NAND式電性可抹除可程式化唯讀記憶體或NOR式電性可抹除可程式化唯讀記憶體)來作為資料儲存元件。
由於固態碟片不包含硬碟機(hard disk drive,HDD)中必備的像馬達(motor)之類的機械驅動元件,所以固態碟片在操作時很少產生熱與噪音。此外,固態碟片具有快速存取率、高整合度(integration)以及對抗外部碰撞的穩定性,因此已成為充當資料儲存元件的較佳選擇。此外,固態碟片的資料傳送率遠遠大於硬碟機的資料傳送率。
當固態碟片被用作資料儲存元件時,控制器控制著主機(host)與基於非揮發性記憶體的電性可抹除可程式化唯讀記憶體之間的資料傳送。此控制器是在處理每頁資料時在韌體(firmware)的控制下傳送資料到非揮發性記憶
體以及從非揮發性記憶體接收資料,這會降低固態碟片的效能。
本發明的一些實施例提供一種具有最佳效能的固態碟片控制器以及其資料處理方法。
本發明的一些實施例也提供一種資料處理方法以及裝置不用介入韌體而使用硬體來執行交錯操作(interleaving operation)。
根據本發明的一些實施例,提供固態碟片控制器的一種資料處理方法,包括:在讀出操作中,讀取指標(pointer)所指示的揮發性記憶體(volatile memory)之記憶區中所儲存的磁區位元映射值(sector bit map value);以及根據此磁區位元映射值來選擇性地讀取,構成外部非揮發性記憶體之一頁面(page)的多個磁區中的至少一個磁區。
根據本發明的其他實施例,提供固態碟片控制器的一種資料處理方法,包括:在讀出操作中,根據指標所指示的揮發性記憶體之第一記憶區中所儲存的第一磁區位元映射值,來選擇性地讀取構成第一非揮發性記憶體之第一頁面的多個磁區中的至少一個磁區;以及根據揮發性記憶體之第二記憶區中所儲存的第二磁區位元映射值,來選擇性地讀取構成第二非揮發性記憶體之第二頁面的多個磁區中的至少一個磁區。
此資料處理方法可更包括將讀出命令傳送到連接至第一非揮發性記憶體與第二非揮發性記憶體的通道
(channel)以執行交錯的讀出操作。
根據第一磁區位元映射值來選擇性地讀取至少一個磁區可包括:讀取儲存在第一記憶區中的第一磁區位元映射值;以及分析此第一磁區位元映射值,且根據分析的結果來選擇性地讀取構成第一頁面的多個磁區中的至少一個磁區,以回應於至少一個第一隨機資料輸出命令。
根據第二磁區位元映射值來選擇性地讀取至少一個磁區可包括:讀取儲存在第二記憶區中的第二磁區位元映射值;以及分析此第二磁區位元映射值,且根據分析的結果來選擇性地讀取構成第二頁面的多個磁區中的至少一個磁區,以回應於至少一個第二隨機資料輸出命令。
根據本發明的另一些實施例,固態碟片控制器的一種資料處理方法包括:在程式操作中,讀取指標所指示的揮發性記憶體之記憶區中所儲存的磁區位元映射值;以及根據磁區位元映射值,來選擇性地將主機所輸出到外部非揮發性記憶體之一頁面的至少一個磁區的資料程式化(programming)。
在其他實施例中,一種固態碟片控制器包括:揮發性記憶體,包含儲存磁區位元映射值的記憶區;以及記憶體控制器。在讀操作中,此記憶體控制器根據指標所指示的記憶區中儲存的磁區位元映射值,來選擇性地讀取構成外部非揮發性記憶體之一頁面的多個磁區中的至少一個磁區。
此記憶體控制器可包括第一暫存器(register)、第二
暫存器以及狀態機(state machine),其中第一暫存器經配置以儲存指標。狀態機可根據指標來從記憶區中讀取磁區位元映射值,且將此磁區位元映射值儲存到第二暫存器中,分析儲存在第二暫存器中的磁區位元映射值,以及根據分析的結果來從外部非揮發性記憶體中讀取多個磁區中的至少一個磁區,以回應於至少一個隨機資料輸出命令。
在另一些實施例中,一種固態碟片控制器包括:揮發性記憶體,包含儲存磁區位元映射值的記憶區;以及記憶體控制器。在程式操作中,此記憶體控制器根據指標所指示的記憶區中所儲存的磁區位元映射值,來選擇性地將主機所輸出到外部非揮發性記憶體之一頁面的至少一個磁區的資料程式化。
在另一些實施例中,一種固態碟片控制器包括:揮發性記憶體,包含儲存第一磁區位元映射值的第一記憶區與儲存第二磁區位元映射值的第二記憶區;以及記憶體控制器。在讀操作中,此記憶體控制器根據指標所指示的第一記憶區所儲存的第一磁區位元映射值,來選擇性地讀取構成第一外部非揮發性記憶體之第一頁面的多個磁區中的至少一個磁區;以及根據第二記憶區中所儲存的第二磁區位元映射值,來選擇性地讀取構成第二外部非揮發性記憶體之第二頁面的多個磁區中的至少一個磁區。
在另一些實施例中,一種資料儲存元件包括非揮發性記憶體、固態碟片控制器以及連接在非揮發性記憶體與固態碟片控制器之間的通道。固態碟片控制器包括揮發性記
憶體與記憶體控制器,其中揮發性記憶體包含儲存磁區位元映射值的記憶區。在讀操作中,記憶體控制器根據指標所指示的記憶區中所儲存的磁區位元映射值,來選擇性地讀取構成外部非揮發性記憶體之一頁面的多個磁區中的至少一個磁區。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
下面將參照所附圖式來更詳細地描述本發明,本發明的實施例繪示於這些圖式中。但是本發明也可繪示為許多其他的形態,而不應局限於本說明書所列舉之實施例。確切地說,提供這些實施例是為了使揭露的內容更透徹更完整,且將本發明的範圍充分地傳遞給本領域中具有通常知識者。在圖式中,為了清楚起見,層與區的尺寸與相對尺寸可能被放大。相同的數字代表相同的元件。
容易理解的是,當提到一元件“連接”或“耦接”到另一元件時,此元件可直接連接或耦接到另一元件,也可存在著介入元件。相反地,當提到一元件“直接連接”或“直接耦接”到另一元件時,則不存在介入元件。如本說明書中所使用的術語“與/或”包括一個或多個相關列舉項的任意及全部組合,且可簡化為“/”。
容易理解的是,儘管本說明書中可使用術語“第一”、“第二”等來描述各種元件,但是這些元件不應被這些術語
限制。這些術語只是用來區分一個元件與另一個元件。例如,在不脫離本說明書之教示的前提下,第一訊號可稱為第二訊號,同樣地,第二訊號也可稱為第一訊號。
本說明書中使用的術語只是為了描述特殊實施例,而非意圖限制本發明。如本說明書中使用的單數形式“一”、“一種”及“所述”也應包括複數形式,除非本文另行明確表示。更容易理解的是,當本說明書中使用術語“包括”與/或“包含”時,表示存在著所述特徵、區域、整體、步驟、操作、元件與/或構件,但並不排除存在或增加一個或多個其他特徵、區域、整體、步驟、操作、元件、構件與/或其族群。
除非另行規定,否則本說明書中使用的全部術語(包括科學技術術語)與本發明所屬之領域中具有通常知識者通常理解的含義相同。更容易理解的是,如通用字典中所界定的那些術語應當按照先前技術與/或本申請書中這些術語的含義來翻譯,而不應翻譯得理想化或過於正式,除非本說明書中有此明確規定。
圖1是依據本發明之一實施例的包含固態碟片控制器30的系統10的方塊圖。請參照圖1,系統10(可以是電腦系統或移動裝置)包括主機20、固態碟片控制器30以及非揮發性記憶元件50。固態碟片包括非揮發性記憶元件50,或者包括固態碟片控制器30與非揮發性記憶元件50。
主機20是經由主機介面(I/F)49與系統匯流排BUS來將操作命令(例如,讀命令、程式化命令或抹除命令)
與位址(address)傳送至固態碟片控制器30。可選擇的是,主機20可經由主機介面(I/F)49來將操作命令與位址直接傳送至固態碟片控制器30。固態碟片控制器30包括揮發性記憶體31、記憶體控制器(或快閃記憶體(flash memory)控制器)39、緩衝記憶體47以及主機介面49。
揮發性記憶體31是藉由動態隨機存取記憶體(dynamic random access memory,DRAM)或靜態隨機存取記憶體(static random access memory,SRAM)來實施的,且包括多個記憶區33、35及37,每個記憶區是用來儲存磁區位元映射值。儲存在記憶區33、35及37中的磁區位元映射值,可使用特殊的硬體或韌體來進行程式化或設定。
記憶體控制器39包括:第一暫存器(或磁區位元映射指標暫存器)41,用來儲存磁區位元映射指標;第二暫存器(或磁區位元映射暫存器)43,用來儲存根據磁區位元映射指標而從揮發性記憶體31輸出的磁區位元映射值;以及狀態機45。狀態機45經由多條通道51、57、63及69當中的至少一條對應的通道,利用命令閂鎖致能(command latch enable,CLE)訊號、晶片致能(chip enable,CE)訊號、寫致能(write enable,WE)訊號、位址閂鎖致能(address latch enable,ALE)訊號、讀/忙線(read/busy,R/B)輸出訊號以及讀致能(read enable,RE)訊號之類的多個控制訊號來將資料DATA寫入非揮發性記憶元件50或從非揮發性記憶元件50中讀取資料DATA。
狀態機45從非揮發性記憶元件50讀取的資料DATA,可經由系統匯流排BUS而臨時儲存在緩衝記憶體47中。緩衝記憶體47臨時儲存主機20與非揮發性記憶元件50之間傳送的資料DATA。主機介面49傳送資料DATA到主機20,以及從主機20接收資料DATA。主機介面49可採用串列(serial)先進技術附件(advanced technology attachment,ATA)協定、並行(parallel)先進技術附件協定或其他通訊協定。
固態碟片控制器30與非揮發性記憶元件50,是經由多條通道51、57、63及69當中的至少一條通道來傳送資料DATA。兩個晶片53與55、晶片59與61、晶片65與67或晶片71與73可連接到每條通道51、57、63及69。但是,連接到每條通道51、57、63及69的晶片的數量也可以是一個或兩個以上。
每個晶片53、55、59、61、65、67、71及73包括頁面緩衝器(page buffer)(未繪示)以及包含多個記憶胞(memory cell)的記憶胞陣列(未繪示)。每個記憶胞可藉由快閃電性可抹除可程式化唯讀記憶體來實施。此快閃電性可抹除可程式化唯讀記憶體可藉由單層胞(single level cell,SLC)或多層胞(multi level cell,MLC)來實施。
圖2是圖1所示之固態碟片控制器30的資料處理方法流程圖。圖3A與圖3B是用來解釋圖1所示之固態碟片控制器30之隨機資料輸出操作的圖式。在這裡,tR表示從記憶胞陣列中的記憶胞到頁面緩衝器的資料遞送時間。
請參照圖1至圖3B,隨機資料輸出操作是藉由讀取構成第一晶片53之第一頁面的“n”個磁區(其中“n”是自然數,例如“8”)當中的具有磁區位元映射值“1”的至少一個磁區來執行,其中第一晶片53是連接至第一通道51。在這裡,單個磁區可具有“m”個位元組(其中“m”是自然數,例如512或1024)。
在隨機資料輸出操作中,狀態機45產生多個控制訊號,即命令閂鎖致能(CLE)訊號、晶片致能(CE)訊號、寫致能(WE)訊號、位址閂鎖致能(ALE)訊號、讀/忙線(R/B)輸出訊號以及讀致能(RE)訊號,目的是讀取儲存在第一晶片53之第一頁面中的資料DATA,以回應於從主機20輸出的讀命令READ,其中第一晶片53是連接至第一通道51。第一晶片53分析這些控制訊號,且執行讀命令READ。
在操作S10(圖2)中,狀態機45讀取儲存在第一暫存器41中的磁區位元映射指標,讀取此磁區位元映射指標所指示的揮發性記憶體31之第一記憶區33中儲存的磁區位元映射值(例如,01100010),以及將此磁區位元映射值儲存到第二暫存器43中。例如,在磁區位元映射值(例如,01100010)中,“1”表示有效磁區,而“0”表示無效磁區,或反之。
在操作S20(圖2)中,如圖3A所示,狀態機45讀取並分析儲存在第二暫存器43中的磁區位元映射值(例如,01100010),隨後輸出磁區位址與隨機資料輸出命令,
目的是隨後根據分析的結果來從第一頁面(或第一晶片53之頁面緩衝器)中讀取磁區2、磁區6及磁區7。換言之,根據隨機資料輸出操作,狀態機45只從第一晶片53之第一頁面或頁面緩衝器中讀取儲存在第二暫存器43中的磁區位元映射值(例如,01100010)當中的具有磁區位元映射值“1”的磁區(例如,磁區2、磁區6及磁區7)。
狀態機45可經由系統匯流排BUS來將所讀取的磁區2、磁區6及磁區7傳送到緩衝記憶體47,目的是將這些磁區儲存在緩衝記憶體47中。可選擇的是,狀態機45可將所讀取的磁區2、磁區6及磁區7直接傳送到緩衝記憶體47。因此,固態碟片控制器30不是從頁面中讀取全部的磁區,而是根據磁區位元映射值來選擇性地從頁面中只讀取至少一個有效磁區,從而具有改良的效能。
圖4是圖1所示之固態碟片控制器30所執行的硬體交錯讀操作的流程圖。圖5A與圖5B是用來解釋圖1所示之固態碟片控制器30所執行的硬體交錯讀操作的隨機資料輸出操作的圖式。請參照圖1、圖4以及圖5A與圖5B,隨機資料輸出操作是以交錯方式來執行“只讀取構成第一晶片53之第一頁面的n個磁區當中的具有磁區位元映射值‘1’的磁區”與“只讀取構成第五晶片55之第二頁面的n個磁區當中的具有磁區位元映射值‘1’的磁區”的操作,其中第一晶片53是連接到第一通道51,第五晶片55是連接到第一通道51。
此時,在操作S11(圖4)中,狀態機45輸出多個控
制訊號(即,命令閂鎖致能(CLE)訊號、晶片致能(CE)訊號、寫致能(WE)訊號、位址閂鎖致能(ALE)訊號、讀/忙線(R/B)輸出訊號以及讀致能(RE)訊號)給第一通道51,以讀取儲存在第一晶片53之第一頁面中的資料以及儲存在第五晶片55之第二頁面中的資料,以回應於從主機20輸出的讀命令READ(圖5A)。
然後,在操作S21(圖4)中,如圖5A所示,狀態機45讀取儲存在第一暫存器41中的磁區位元映射指標,讀取此磁區位元映射指標所指示的揮發性記憶體31之第一記憶區33中儲存的第一磁區位元映射值(例如,01100010),將第一磁區位元映射值儲存到第二暫存器43中,以及根據儲存在第二暫存器43中的第一磁區位元映射值(即,01100010)來讀取構成第一晶片53之第一頁面的n個磁區當中的磁區2、磁區6及磁區7。換言之,在隨機資料輸出操作中,狀態機45只從第一晶片53之第一頁面(圖5B)或頁面緩衝器中讀取儲存在第二暫存器43中的磁區位元映射值(01100010)當中的具有磁區位元映射值“1”的磁區(即,磁區2、磁區6及磁區7)。狀態機45可直接或經由系統匯流排BUS來傳送所讀取的磁區2、磁區6及磁區7至緩衝記憶體47,以將這些磁區儲存到緩衝記憶體47中。
對第一頁面執行的隨機資料輸出操作終止後,在操作S31(圖4)中,如圖5A所示,狀態機45讀取儲存在揮發性記憶體31之第二記憶區35中的第二磁區位元映射值(例
如,10101000),將第二磁區位元映射值儲存到第二暫存器43中,以及根據儲存在第二暫存器43中的第二磁區位元映射值(即,10101000)來從第五晶片55之第二頁面(圖5B)或頁面緩衝器中讀取構成第五晶片55之第二頁面的n個磁區當中的磁區12、磁區14及磁區16。第二記憶區35可以是將指示第一記憶區33的磁區位元映射指標增大的記憶區。換言之,在隨機資料輸出操作中,狀態機45只從第五晶片55之第二頁面或頁面緩衝器中讀取儲存在第二暫存器43中的磁區位元映射值(10101000)當中的具有磁區位元映射值“1”的磁區(即,磁區12、磁區14及磁區16)。狀態機45可直接或經由系統匯流排BUS來傳送所讀取的磁區12、磁區14及磁區16至緩衝記憶體47,以將這些磁區儲存到緩衝記憶體47中。
因此,在交錯的讀操作中,依據本發明之一些實施例的固態碟片控制器30不必介入韌體就能夠自動讀取儲存在揮發性記憶體31之多個記憶區之每個記憶區中的磁區位元映射值,以及從特定的頁面中選擇性地只讀取至少一個磁區,從而具有改良的效能。為了敘述得清楚,以上描述的是讀操作,但是依據本發明之一些實施例的使用指標的資料處理方法也可應用於寫操作或程式操作。
例如,在寫操作(或程式操作)中,狀態機45讀取儲存在第一暫存器41中的磁區位元映射指標,讀取此磁區位元映射指標所指示的揮發性記憶體31之第一記憶區33中儲存的磁區位元映射值(例如,01100010),以及將此磁
區位元映射值(即,01100010)儲存到第二暫存器43中。接著,狀態機45讀取並分析儲存在第二暫存器43中的磁區位元映射值(01100010),以及根據分析的結果(例如,分析每個磁區位元映射值是“1”還是“0”的結果)經由通道51來選擇性地只將主機20所輸出的資料中的磁區2、磁區6及磁區7寫入(或程式化)第一晶片53。
此外,在交錯操作中,狀態機45可只將具有磁區位元映射值“1”的至少一個磁區寫入或程式化到連接至第一通道51的第一晶片53之第一頁面,以及只將具有磁區位元映射值“1”的至少一個磁區寫入或程式化到連接至第一通道51的第五晶片55之第二頁面。
例如,狀態機45讀取儲存在第一暫存器41中的磁區位元映射指標,以回應於從主機20輸出的寫命令或程式命令。接著,狀態機45讀取此磁區位元映射指標所指示的揮發性記憶體31之第一記憶區33中儲存的第一磁區位元映射值(例如,01100010),將第一磁區位元映射值儲存到第二暫存器43中,以及根據儲存在第二暫存器43中的第一磁區位元映射值(即,01100010),來選擇性地將從主機20輸出的資料的磁區2、磁區6及磁區7寫入第一晶片53之第一頁面。對第一頁面的寫操作或程式操作執行完之後,狀態機45讀取儲存在揮發性記憶體31之第二記憶區35中的第二磁區位元映射值(例如,10101000),將第二磁區位元映射值儲存到第二暫存器43中,以及根據儲存在第二暫存器43中的第二磁區位元映射值(即,10101000)
來選擇性地將從主機20輸出的資料的磁區12、磁區14及磁區16寫入第五晶片55之第二頁面。
因此,在交錯的寫操作或程式操作中,依據本發明之一些實施例的固態碟片控制器30,不用介入韌體就能夠自動讀取儲存在揮發性記憶體31之多個記憶區之每個記憶區中的磁區位元映射值,以及根據此磁區位元映射值來選擇性地只將主機所輸出的資料中的至少一個磁區寫入或程式化到特定的頁面。因為固態碟片控制器30不必將全部資料寫入或程式化到特定的頁面,所以此固態碟片控制器30的效能提高。
根據本發明,在交錯的讀操作中,固態碟片控制器不用介入韌體就能夠自動讀取儲存在揮發性記憶體之多個記憶區之每個記憶區中的磁區位元映射值,以及選擇性地從特定的頁面中只讀取至少一個磁區,從而具有改良的效能。此外,固態碟片控制器不用介入韌體就能夠自動讀取儲存在揮發性記憶體之多個記憶區之每個記憶區中的磁區位元映射值,以及根據此磁區位元映射值來只將主機所輸出的資料中的至少一個磁區寫入或程式化到特定的頁面,從而具有改良的效能。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10‧‧‧系統
20‧‧‧主機
30‧‧‧固態碟片控制器
31‧‧‧揮發性記憶體
33、35、37‧‧‧記憶區
39‧‧‧記憶體控制器
41、43‧‧‧暫存器
45‧‧‧狀態機
47‧‧‧緩衝記憶體
49‧‧‧主機介面
50‧‧‧非揮發性記憶元件
51、57、63、69‧‧‧通道
53、55、59、61、65、67、71、73‧‧‧晶片
BUS‧‧‧匯流排
CLE、CE、WE、ALE、R/B、RE‧‧‧控制訊號
DATA‧‧‧資料
READ‧‧‧命令
S10、S20、S11、S21、S31‧‧‧操作步驟
tR‧‧‧資料遞送時間
圖1是依據本發明之一些實施例的包含固態碟片控制器的系統的方塊圖。
圖2是圖1所示之固態碟片控制器的資料處理方法流程圖。
圖3A與圖3B是用來解釋圖1所示之固態碟片控制器之隨機資料輸出操作的圖式。
圖4是圖1所示之固態碟片控制器所執行的硬體交錯讀操作的流程圖。
圖5A與圖5B是用來解釋圖1所示之固態碟片控制器所執行的硬體交錯讀操作的隨機資料輸出操作的圖式。
10‧‧‧系統
20‧‧‧主機
30‧‧‧固態碟片控制器
31‧‧‧揮發性記憶體
33、35、37‧‧‧記憶區
39‧‧‧記憶體控制器
41、43‧‧‧暫存器
45‧‧‧狀態機
47‧‧‧緩衝記憶體
49‧‧‧主機介面
50‧‧‧非揮發性記憶元件
51、57、63、69‧‧‧通道
53、55、59、61、65、67、71、73‧‧‧晶片
BUS‧‧‧系統匯流排
CLE、CE、WE、ALE、R/B、RE‧‧‧控制訊號
DATA‧‧‧資料
Claims (15)
- 一種固態碟片控制器的資料處理方法,包括:利用狀態機讀取儲存於第一暫存器的磁區位元映射指標;利用所述狀態機讀取揮發性記憶體之第一記憶區中儲存的磁區位元映射值,其中所述磁區位元映射值是藉由所述磁區位元映射指標來指示的且所述磁區位元映射值指示構成外部非揮發性記憶體之一頁面的哪一個磁區被讀取或不被讀取;將由所述第一記憶區讀取的所述磁區位元映射值儲存於第二暫存器;將所述磁區位元映射值由所述第二暫存器提供至所述狀態機;以及利用所述狀態機根據所述磁區位元映射值,來讀取所述頁面的至少一個所述磁區的資料,但不是所有所述磁區的資料。
- 如申請專利範圍第1項所述之固態碟片控制器的資料處理方法,其中讀取是回應於至少一個隨機資料輸出命令而執行。
- 如申請專利範圍第1項所述之固態碟片控制器的資料處理方法,更包括將由至少一個所述磁區讀取的資料,儲存到緩衝記憶體中。
- 如申請專利範圍第1項所述之固態碟片控制器的資料處理方法,其中每個所述位元磁區映射值為二進制值, 其中第一二進制值指示所述頁面的磁區被讀取,第二二進制值指示所述頁面的磁區不被讀取。
- 如申請專利範圍第1項所述之固態碟片控制器的資料處理方法,更包括:在寫操作中,讀取所述揮發性記憶體之第二記憶區中儲存的磁區位元映射值;以及根據由所述第二記憶區讀取的所述磁區位元映射值,寫入資料至所述非揮發性記憶體之一頁面的所述磁區。
- 一種固態碟片控制器的資料處理方法,包括:利用狀態機讀取儲存於第一暫存器的磁區位元映射指標;利用所述狀態機讀取揮發性記憶體之第一記憶區中儲存的第一磁區位元映射值,其中所述第一磁區位元映射值是藉由所述磁區位元映射指標來指示的,且所述第一磁區位元映射值指示構成第一非揮發性記憶體之第一頁面的哪一個磁區被讀取或不被讀取;將由所述第一記憶區讀取的所述第一磁區位元映射值儲存於第二暫存器;將所述第一磁區位元映射值由所述第二暫存器提供至所述狀態機;利用所述狀態機根據所述第一磁區位元映射值,來選擇性地讀取構成所述第一非揮發性記憶體之所述第一頁面的多個磁區中的至少一個所述磁區的資料,但不是所有所述磁區的資料;以及 利用所述狀態機根據所述揮發性記憶體之第二記憶區中儲存的第二磁區位元映射值,來選擇性地讀取構成第二非揮發性記憶體之第二頁面的多個磁區中的至少一個所述磁區的資料,其中所述第一磁區位元映射值及第二磁區位元映射值是藉由所述狀態機進行讀取,並不受控於韌體。
- 如申請專利範圍第6項所述之固態碟片控制器的資料處理方法,更包括傳送讀命令給連接至所述第一非揮發性記憶體與所述第二非揮發性記憶體的通道,以執行交錯的讀操作。
- 如申請專利範圍第6項所述之固態碟片控制器的資料處理方法,其中根據所述第一磁區位元映射值來選擇性地讀取包括:讀取儲存在所述第一記憶區中的所述第一磁區位元映射值;以及分析所述第一磁區位元映射值,且根據所述分析的結果來選擇性地讀取構成所述第一頁面的多個所述磁區中的至少一個所述磁區,但不是所有所述磁區,以回應於至少一個第一隨機資料輸出命令。
- 如申請專利範圍第8項所述之固態碟片控制器的資料處理方法,其中根據第二磁區位元映射值來選擇性地讀取包括:讀取儲存在所述第二記憶區中的所述第二磁區位元映射值;以及 分析所述第二磁區位元映射值,且根據所述分析的結果來選擇性地讀取構成所述第二頁面的多個所述磁區中的至少一個所述磁區,以回應於至少一個第二隨機資料輸出命令。
- 一種固態碟片控制器的資料處理方法,包括:利用狀態機讀取儲存於第一暫存器的磁區位元映射指標;利用所述狀態機讀取揮發性記憶體之記憶區中儲存的磁區位元映射值,其中所述磁區位元映射值是藉由所述磁區位元映射指標來指示的;將由所述記憶區讀取的所述磁區位元映射值儲存於第二暫存器;將所述磁區位元映射值由所述第二暫存器提供至所述狀態機;以及利用所述狀態機根據所述磁區位元映射值,將主機所輸出的資料選擇性地程式化構成外部非揮發性記憶體之一頁面的多個磁區中的至少一個所述磁區,但不是所有所述磁區。
- 一種固態碟片控制器,包括:揮發性記憶體,包含儲存磁區位元映射值的記憶區;以及記憶體控制器,包括第一暫存器、第二暫存器以及狀態機,第一暫存器經配置以儲存指標且狀態機經配置讀取儲存於所述第一暫存器的所述指標,並讀取儲存於所述揮 發性記憶體的所述磁區位元映射值,其中所述磁區位元映射值是藉由指標來指示的,且將所讀取的所述磁區位元映射值儲存到所述第二暫存器中,所述第二暫存器經配置以接收及儲存所讀取的所述磁區位元映射值,且所述狀態機經配置以讀取及分析儲存在所述第二暫存器中的所述磁區位元映射值以輸出磁區位址及隨機資料輸出命令來根據所述第二暫存器中儲存的所述磁區位元映射值的所述分析讀取構成外部非揮發性記憶體之一頁面的多個磁區中的至少一個所述磁區,但不是全部所述磁區。
- 一種固態碟片控制器,包括:揮發性記憶體,包含儲存磁區位元映射值的記憶區;以及記憶體控制器,經配置以利用狀態機讀取第一暫存器中儲存的磁區位元映射指標,利用所述狀態機讀取所述記憶區中儲存的所述磁區位元映射值,其中所述磁區位元映射值是藉由所述磁區位元映射指標來指示的,且將由所述記憶區讀取的所述磁區位元映射值儲存於第二暫存器,將所述磁區位元映射值由所述第二暫存器提供至所述狀態機,且根據所述磁區位元映射值,來利用所述狀態機將主機所輸出的資料選擇性地程式化構成外部非揮發性記憶體之一頁面的多個磁區中的至少一個所述磁區,但不是所有所述磁區。
- 一種固態碟片控制器,包括:揮發性記憶體,包含儲存第一磁區位元映射值的第一 記憶區與儲存第二磁區位元映射值的第二記憶區;以及記憶體控制器,經配置以利用狀態機讀取儲存在第一暫存器的磁區位元映射指標,利用狀態機讀取儲存在所述第一記憶區的所述第一磁區位元映射值,其中所述第一磁區位元映射值是由所述磁區位元映射指標所指示的,且所述第一磁區位元映射值指示構成第一外部非揮發性記憶體之第一頁面的哪一個磁區被讀取或不被讀取,將所述第一磁區位元映射值儲存於第二暫存器,將所述第一磁區位元映射值由所述第二暫存器提供至所述狀態機,並利用所述狀態機根據所述第一磁區位元映射值,來選擇性地讀取所述第一外部非揮發性記憶體之所述第一頁面的多個磁區中的至少一個所述磁區,但不是所有所述磁區,以及利用所述狀態機根據所述第二記憶區中儲存的所述第二磁區位元映射值,來選擇性地讀取構成第二外部非揮發性記憶體之第二頁面的多個磁區中的至少一個磁區,其中所述記憶體控制器不受控於韌體來讀取所述第一磁區位元映射值及所述第二磁區位元映射值。
- 如申請專利範圍第13項所述之固態碟片控制器,其中當所述讀操作是交錯的讀操作時,所述記憶體控制器輸出讀命令給連接至所述第一外部非揮發性記憶體與所述第二外部非揮發性記憶體的通道。
- 一種資料儲存元件,包括:非揮發性記憶體;固態碟片控制器;以及 通道,連接在所述非揮發性記憶體與所述固態碟片控制器之間,其中所述固態碟片控制器包括:揮發性記憶體,包含儲存磁區位元映射值的記憶區;以及記憶體控制器,經配置以利用狀態機讀取儲存於第一暫存器的磁區位元映射指標,利用所述狀態機讀取所述揮發性記憶體的所述記憶區中儲存的磁區位元映射值,其中所述磁區位元映射值是藉由所述磁區位元映射指標來指示的,且所述磁區位元映射值指示構成所述非揮發性記憶體一頁面的哪一個磁區被讀取或不被讀取,將由所述記憶區讀取的所述磁區位元映射值儲存於第二暫存器,將所述磁區位元映射值由所述第二暫存器提供至所述狀態機,且利用所述狀態機根據所述磁區位元映射值,來選擇性地讀取所述頁面的多個磁區中的至少一個所述磁區,但不是所有所述磁區。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070071998A KR101424782B1 (ko) | 2007-07-19 | 2007-07-19 | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200905696A TW200905696A (en) | 2009-02-01 |
TWI479502B true TWI479502B (zh) | 2015-04-01 |
Family
ID=40176125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097126165A TWI479502B (zh) | 2007-07-19 | 2008-07-10 | 固態碟片控制器及其資料處理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8738842B2 (zh) |
JP (1) | JP5368735B2 (zh) |
KR (1) | KR101424782B1 (zh) |
CN (1) | CN101349963B (zh) |
DE (1) | DE102008033518B4 (zh) |
TW (1) | TWI479502B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101070511B1 (ko) * | 2009-03-20 | 2011-10-05 | (주)인디링스 | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 |
WO2011007989A2 (en) * | 2009-07-13 | 2011-01-20 | Lg Electronics Inc. | Disk drive |
US8164936B2 (en) * | 2009-10-14 | 2012-04-24 | Seagate Technology Llc | Switched memory devices |
US9229809B2 (en) | 2011-09-11 | 2016-01-05 | Microsoft Technology Licensing Llc | Nonvolatile media journaling of verified data sets |
US8456972B2 (en) * | 2011-09-12 | 2013-06-04 | Microsoft Corporation | Efficient access to storage devices with usage bitmaps |
CN103377130A (zh) * | 2012-04-13 | 2013-10-30 | 日立(中国)研究开发有限公司 | 数据存储设备以及相应的数据存储方法 |
CN106155578A (zh) * | 2015-04-27 | 2016-11-23 | 四川效率源信息安全技术有限责任公司 | 手机闪存芯片数据重组的方法 |
KR102465321B1 (ko) | 2016-03-02 | 2022-11-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
KR102535104B1 (ko) * | 2018-03-19 | 2023-05-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20190128392A (ko) * | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN110262753A (zh) * | 2019-05-30 | 2019-09-20 | 合肥致存微电子有限责任公司 | 一种加快命令响应的方法、***以及ssd |
CN114063933B (zh) * | 2021-12-02 | 2022-06-28 | 深圳市宝佳乐电子科技有限公司 | 区块管理方法、存储器控制器和存储器存储装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956743A (en) * | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
US20060075395A1 (en) * | 2004-10-01 | 2006-04-06 | Lee Charles C | Flash card system |
US20060152981A1 (en) * | 2005-01-11 | 2006-07-13 | Ryu Dong-Ryul | Solid state disk controller apparatus |
US7089379B1 (en) * | 2002-06-28 | 2006-08-08 | Emc Corporation | Large high bandwidth memory system |
TWI278851B (en) * | 2003-02-25 | 2007-04-11 | Lg Electronics Inc | Recording medium having data structure for managing at least a data area of the recording medium and recording and reproducing methods and apparatuses |
US7228393B2 (en) * | 2004-06-14 | 2007-06-05 | Dialog Semiconductor Gmbh | Memory interleaving |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6481028A (en) * | 1987-09-22 | 1989-03-27 | Fanuc Ltd | Data memory system |
JPH0628261A (ja) | 1992-04-17 | 1994-02-04 | Hitachi Ltd | データ転送方法及び装置 |
JPH07262059A (ja) | 1994-03-25 | 1995-10-13 | Sony Corp | ファイル管理方法 |
JPH07319636A (ja) | 1994-05-27 | 1995-12-08 | Fuji Xerox Co Ltd | 磁気ディスクのデータ格納制御装置 |
JPH0877099A (ja) * | 1994-09-02 | 1996-03-22 | Fuji Xerox Co Ltd | Dmaコントローラ |
GB2291990A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
JP3063669B2 (ja) | 1997-04-04 | 2000-07-12 | 三菱電機株式会社 | 情報処理システム |
JP3849241B2 (ja) * | 1997-08-11 | 2006-11-22 | ソニー株式会社 | 記憶装置 |
JP2000285017A (ja) * | 1999-03-31 | 2000-10-13 | Seiko Epson Corp | 記憶装置 |
US7394661B2 (en) | 2004-06-30 | 2008-07-01 | Super Talent Electronics, Inc. | System and method for providing a flash memory assembly |
US7318117B2 (en) * | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US20050114587A1 (en) | 2003-11-22 | 2005-05-26 | Super Talent Electronics Inc. | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines |
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
JP3923715B2 (ja) * | 2000-09-29 | 2007-06-06 | 株式会社東芝 | メモリカード |
KR100528482B1 (ko) * | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 |
JP4665510B2 (ja) * | 2004-12-20 | 2011-04-06 | ソニー株式会社 | 暗号化データ記録装置 |
-
2007
- 2007-07-19 KR KR1020070071998A patent/KR101424782B1/ko active IP Right Grant
-
2008
- 2008-06-16 JP JP2008156807A patent/JP5368735B2/ja active Active
- 2008-06-26 US US12/147,067 patent/US8738842B2/en active Active
- 2008-07-10 TW TW097126165A patent/TWI479502B/zh active
- 2008-07-14 DE DE102008033518.5A patent/DE102008033518B4/de active Active
- 2008-07-15 CN CN2008101361001A patent/CN101349963B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956743A (en) * | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
US7089379B1 (en) * | 2002-06-28 | 2006-08-08 | Emc Corporation | Large high bandwidth memory system |
TWI278851B (en) * | 2003-02-25 | 2007-04-11 | Lg Electronics Inc | Recording medium having data structure for managing at least a data area of the recording medium and recording and reproducing methods and apparatuses |
US7228393B2 (en) * | 2004-06-14 | 2007-06-05 | Dialog Semiconductor Gmbh | Memory interleaving |
US20060075395A1 (en) * | 2004-10-01 | 2006-04-06 | Lee Charles C | Flash card system |
US20060152981A1 (en) * | 2005-01-11 | 2006-07-13 | Ryu Dong-Ryul | Solid state disk controller apparatus |
Non-Patent Citations (1)
Title |
---|
Jesung Kim, et al.," A space-efficient flash translation layer for CompactFlash systems", IEEE Transactions on Consumer Electronics, May 2002 * |
Also Published As
Publication number | Publication date |
---|---|
KR20090008766A (ko) | 2009-01-22 |
US20090024791A1 (en) | 2009-01-22 |
US8738842B2 (en) | 2014-05-27 |
JP2009026301A (ja) | 2009-02-05 |
TW200905696A (en) | 2009-02-01 |
JP5368735B2 (ja) | 2013-12-18 |
CN101349963A (zh) | 2009-01-21 |
KR101424782B1 (ko) | 2014-08-04 |
CN101349963B (zh) | 2013-03-06 |
DE102008033518A1 (de) | 2009-02-05 |
DE102008033518B4 (de) | 2021-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI479502B (zh) | 固態碟片控制器及其資料處理方法 | |
CN107957959B (zh) | 具有文件级安全擦除的存储器***及其操作方法 | |
TW201826127A (zh) | 數據儲存設備及其操作方法 | |
TW201716980A (zh) | 資料儲存設備及其操作方法 | |
US8489805B2 (en) | Memory devices operated within a communication protocol standard timeout requirement | |
KR102233400B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
JP2008524748A (ja) | メモリシステムにおけるデータ再配置 | |
US11307803B2 (en) | Storage device for suspending program operation and performing read operation and operating method thereof | |
US10061695B2 (en) | Memory system and operating method thereof | |
KR20190102781A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN109815160A (zh) | 最后写入页搜索 | |
KR102637478B1 (ko) | 오픈 채널 솔리드 스테이트 드라이브, 이를 포함하는 비휘발성 메모리 시스템 및 오픈 채널 솔리드 스테이트 드라이브의 파워 로스 프로텍션 방법 | |
CN114625673A (zh) | 存储装置及其操作方法 | |
US11461238B2 (en) | Storage device, memory controller, and method for fetching write commands from submission queues to perform full page writes | |
US11243715B2 (en) | Memory controller and operating method thereof | |
KR20210147696A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20180089742A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20230350578A1 (en) | Method of writing data in nonvolatile memory device and nonvolatile memory device performing the same | |
CN107219998B (zh) | 数据存储装置及其操作方法 | |
KR20210060867A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11836370B2 (en) | Storage device and operating method thereof | |
US11294596B2 (en) | Memory controller and operating method thereof | |
CN111414314B (zh) | 数据存储装置、其操作方法及其控制器 | |
KR20190041082A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20190061942A (ko) | 데이터 저장 장치 및 그것의 동작 방법 |