TW201719374A - 資料儲存裝置與資料儲存方法 - Google Patents
資料儲存裝置與資料儲存方法 Download PDFInfo
- Publication number
- TW201719374A TW201719374A TW104138203A TW104138203A TW201719374A TW 201719374 A TW201719374 A TW 201719374A TW 104138203 A TW104138203 A TW 104138203A TW 104138203 A TW104138203 A TW 104138203A TW 201719374 A TW201719374 A TW 201719374A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- data storage
- storage device
- host
- accesses
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種資料儲存裝置,用以儲存至少一資料。資料儲存裝置包括一記憶體以及一控制器。記憶體包括複數個區塊,並且等複數區塊的每一者分別具有不同的實體位址。控制器耦接記憶體,用以分別對應等實體位址至複數個邏輯位址。控制器在接收到一轉換要求指令後,依據轉換要求指令將一特定邏輯位址從對應一第一實體位址,轉換為對應一第二實體位址。
Description
本發明係關於一種資料儲存裝置與資料儲存方法,特別係關於一種轉換邏輯位址與實體位址的對應關係之資料儲存裝置與資料儲存方法。
隨著資料儲存裝置的科技在近幾年快速地成長,許多手持式資料儲存裝置,如符合SD/MMC規格、CF規格、MS規格與XD規格的記憶卡、固態硬碟以及內嵌式記憶體(embedded Multi Media Card,eMMC)已經廣泛地被應用在多種用途上。因此,在這些資料儲存裝置上,有效的存取控制也變成一個重要的議題。
然而,對於非揮發性資料儲存裝置而言,使用者可能會頻繁的讀取位於特定實體位址上的資料,而造成非揮發性資料儲存裝置的損壞,導致無法正確讀取上述特定實體位址上的資料。因此,需要一種有效的資料儲存裝置與資料儲存方法,能夠防止因為頻繁讀取特定實體位址上的資料而造成的損壞,延長資料儲存裝置的使用年限,並且確保資料存取的正確性。
為了解決上述問題,本發明提出一種資料儲存裝置與資料儲存方法,能夠記錄、統計與分析主機存取資料的存
取次數。藉由存取次數是否大於臨界值,找出頻繁存取的特定資料之邏輯位址,並且將該邏輯位址對應至另一個不同的實體位址。因此,本發明能夠有效防止因過度存取同一資料而損害記憶體,並且維護資料存取的正確性。
本發明之一實施例提供了一種資料儲存裝置,用以儲存至少一資料。資料儲存裝置包括一記憶體以及一控制器。記憶體包括複數個區塊,並且等複數區塊的每一者分別具有不同的實體位址。控制器耦接記憶體,用以分別對應等實體位址至複數個邏輯位址。控制器在接收到一轉換要求指令後,依據轉換要求指令將一特定邏輯位址從對應一第一實體位址,轉換為對應一第二實體位址。
在一實施例中,轉換要求指令係由主機所產生。主機分析等資料的存取次數,以決定需要進行轉換的特定邏輯位址。主機係以檔案、資料大小、及/或叢集(cluster)為單位而記錄等資料,並且統計檔案、資料大小、及/或叢集之存取次數。當等資料中的至少一資料的存取次數大於一臨界值時,主機決定至少一資料所對應的邏輯位址為特定邏輯位址。臨界值係決定於記憶體之種類及/或資料儲存裝置的使用環境。在特定邏輯位址轉換為對應第二實體位址後,控制器傳送一轉換完成指令至耦接控制器之一主機。
本發明之另一實施例提供了一種資料儲存方法,應用於一主機以及儲存至少一資料之一資料儲存裝置。資料儲存方法包括分別對應複數個實體位址至複數個邏輯位址;以及在接收到一轉換要求指令後,依據轉換要求指令將一特定邏輯
位址從對應一第一實體位址,轉換為對應一第二實體位址;在轉換特定邏輯位址為對應第二實體位址後,傳送一轉換完成指令至主機。
100‧‧‧資料儲存裝置
120‧‧‧控制器
140‧‧‧記憶體
14A-14N‧‧‧區塊
200‧‧‧主機
220‧‧‧處理器
240‧‧‧儲存模組
第1圖係顯示根據本發明一實施例所述之資料儲存裝置與主機之示意圖;第2圖係顯示根據本發明一實施例所述之資料儲存方法之流程圖;第3圖係顯示根據本發明一實施例所述之資料儲存方法之流程圖。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置100與主機200之示意圖。在一實施例中,資料儲存裝置100包括控制器120與記憶體140,並且資料儲存裝置100耦接主機200以傳送資料與指令或接收資料與指令。記憶體140可以為非揮發性記憶體,例如反集閘快閃記憶體(NAND Flash)。主機200可以為手機、平板電腦、筆記型電腦、導航機或車載系統等。如第1圖所示,主機200包括一處理器220以及一儲存模組
240。舉例而言,儲存模組240係用以記錄主機200所存取(亦即寫入與讀取)的資料,處理器220依據儲存模組240所儲存的資料來分析主機200的存取次數。
如第1圖所示,記憶體140包括複數個區塊140A~140N。詳細而言,區塊140A~140N中的每一者更包括複數個頁面。控制器120在對記憶體140執行寫入或儲存動作時,是藉由控制記憶體140以記憶頁為單位來執行寫入或程式化的運作。控制器120藉由控制記憶體110以叢集(cluster)為單位執行讀取運作的方式來對記憶體140執行讀取運作。此外,控制器120耦接記憶體140以相互傳送資料與指令或接收資料與指令。進一步而言,控制器120可包括具有韌體碼之一微控制器以及唯讀記憶體(ROM),並且微控制器執行韌體碼以操作或是存取記憶體140。
對於記憶體140而言,其區塊14A~14N的每一者皆具有不同的實體位址。換言之,區塊14A~14N的每一者都具有一個實體位址,而區塊14A~14N的每一者的實體位址都是不同的。當資料儲存裝置100執行一寫入運作時,控制器120決定記憶體140的一實體位址以寫入或儲存資料。此外,控制器120則分別對應上述複數個實體位址至複數個邏輯位址。因此,對於主機200而言,主機200係藉由邏輯位址,亦即邏輯區塊位址(Logical Block Address,LBA),來讀取或寫入資料儲存裝置100所儲存於某個邏輯位址的資料。
舉例來說,資料儲存裝置100係使用於導航系統或是汽車的車載系統。當使用者使用導航系統或車載系統時,可
能會頻繁載入與讀取資料儲存裝置100所儲存的某些特定檔案,例如使用者的居住城市的地圖。此時,主機200會要求讀取特定邏輯位址上的特定檔案,然後控制器120在依據邏輯位址與實體位址的對應關係,讀取上述特定邏輯位址所對應的實體位址(例如第一實體位址)上的特定檔案。換言之,記憶體140的第一實體位址會被頻繁地讀取。
在一實施例中,控制器120在接收到一轉換要求指令後,會依據該轉換要求指令將一特定邏輯位址從對應第一實體位址,轉換為對應不同於上述第一實體位址之第二實體位址。值得注意的是,轉換要求指令可由主機200或是資料儲存裝置100所產生。詳細而言,上述轉換要求指令係關於一邏輯區塊位址LBA,用以指示需要轉換的特定邏輯位址。因為記憶體140的第一實體位址被頻繁地讀取,可能導致記憶體140受到損害,造成第一實體位址上的特定檔案無法被正確讀取。藉由本發明所提供的資料儲存方法,能夠將特定邏輯位址從對應第一實體位址轉換為對應另一個第二實體位址,防止過度讀取第一實體位址而導致資料的讀取錯誤。
此外,當特定邏輯位址轉換為對應第二實體位址後,控制器120傳送一轉換完成指令至耦接控制器120之主機200。轉換完成指令為一種讀取類型的指令,讓主機200在讀取轉換完成指令後,獲得對於資料儲存裝置100已轉換實體位置之資訊。再者,轉換完成指令也可包括轉換後的第二實體位址,讓主機200能夠得知資料儲存裝置100已將特定邏輯位址對應第二實體位址。因此,當主機200接收轉換完成指令後,就能
夠繼續頻繁讀取上述特定檔案。因為特定檔案已經儲存於不同於原本第一實體位址的另一個第二實體位址,所以主機200能夠繼續頻繁讀取特定檔案,而不會對記憶體140造成損害。
在另一實施例中,主機200記錄並且分析資料儲存裝置100之複數資料的存取次數,以決定需要進行轉換的特定邏輯位址。當上述資料中的至少一資料的存取次數大於一臨界值時,主機200決定該至少一資料所對應的邏輯位址為特定邏輯位址。詳細而言,主機200的儲存模組240可記錄主機200所存取的複數筆資料,然後處理器220統計儲存模組240之資料的存取次數,並且分析是否有資料的存取次數大於臨界值。舉例而言,處理器220可包含數位訊號處理器(digital signal processing,DSP)、微處理器(microcontroller,MCU)、一單一中央處理單元(central-processing unit,CPU)或者是關連於平行運算環境(parallel processing environment)之複數平行處理單元,用以執行作業系統、模組以及應用程式。儲存模組240可包括隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read Only Memory,ROM)、快閃記憶體(Flash)、或磁性記憶體等。如果存取次數大於臨界值,表示主機200頻繁存取某一特定資料,可能造成資料儲存裝置100的某一個實體位址的區塊發生損毀。藉由統計與分析主機200存取資料的次數,能夠進一步主動防止資料儲存裝置100因過度存取同一資料所造成的損害,能夠正確無誤地存取資料。
值得注意的是,上述臨界值係決定於記憶體140之種類及/或資料儲存裝置100的使用環境。舉例來說,記憶體140
主要可以分成兩類,包括單層單元(Single Level Cell,SLC)記憶體以及多層單元(Multiple Level Cell,MLC)記憶體。驅動MLC記憶體的電壓大於驅動SLC記憶體的電壓,並且MLC記憶體的儲存密度可以達到SLC記憶體的儲存密度的兩倍以上。因此,當記憶體140為MLC記憶體時的臨界值,會大於當記憶體140為SLC記憶體時的臨界值。舉例而言,MLC記憶體的臨界值約為1500~2000次,SLC記憶體的臨界值約為500~1000次。此外,資料儲存裝置100的使用環境也是決定臨界值的因素之一,上述使用環境包含資料儲存裝置100的所在位置之溫度、濕度、壓力的高低大小及其變化程度。舉例而言,如果資料儲存裝置100會使用於熱帶或是寒帶地區等極端溫度的環境、或是溫度變化較劇烈的環境,則資料儲存裝置100比較容易因為頻繁存取而發生損毀。因此,當資料儲存裝置100使用於較為極端或是變化劇烈的環境,其臨界值會比較低。當資料儲存裝置100使用於較為溫和或是變化和緩的環境,其臨界值會比較高。
此外,在另一實施例中,主機200的儲存裝置240係以檔案、資料大小、及/或叢集(cluster)為單位,記錄存取資料儲存裝置100之複數資料的存取次數。處理器220統計儲存裝置240所儲存之檔案、資料大小、及/或叢集之存取次數,並且分析上述存取次數是否大於臨界值。當上述資料中的至少一資料的存取次數大於臨界值,主機200會產生轉換要求指令。詳細而言,當主機200需要存取某個特定檔案時,主機200可以指定對應該特定檔案所需要存取的LBA及其資料大小。藉由紀錄
並且分析對於所存取的LBA的存取次數,就能夠找出頻繁存取的特定LBA,然後進行邏輯位址與實體位址之轉換等方法來更新(refresh)該特定LBA。
主機200可藉由OS的設定檔或是紀錄檔,以表格化的方式來記錄與管理資料儲存裝置100之資料的存取次數。舉例而言,處理器220以檔案為記錄單位,統計每個檔案的存取次數。例如A城市的地圖檔案讀取了10次,B城市的地圖檔案讀取了50次。此外,主機200也能以資料大小為單位而加以記錄。舉例而言,例如LBA0被存取了150次,LBA100被存取了1000次。主機200也能以cluster為單位而加以記錄,例如cluster0被存取了49次,cluster10被存取了80次。由於檔案可能具有各種不同的大小,如果只以檔案為單位加以記錄,可能無法完全統計出每個LBA的存取次數。因此,本發明提供了以資料大小或是cluster作為單位來進行統計,能夠更有效率的找出頻繁讀取的LBA,進而防止資料儲存裝置100的損壞。
一般而言,主機200除了能夠統計LBA的存取次數外,還能夠得知未來是否會繼續頻繁存取某個特定的LBA。因此由主機200來統計並且分析LBA的存取次數,能夠有效找出頻繁讀取的LBA。另一方面,對於資料儲存裝置100而言,控制器120要管理與監控記憶體140的運作,例如邏輯位址與實體位址的對應關係、資料的平均寫入、監測抹除次數等。對於控制器120而言,很難統計每個LBA的存取次數並找出頻繁存取的特定LBA。此外,資料存取裝置100也難以預測主機200未來是否會頻繁讀取某個特定的LBA。因此,藉由主機200來統計
與分析存取次數、找出頻繁存取的特定LBA,能夠分擔控制器120的運作負擔,保護資料儲存裝置100免於損壞並且運行更加順暢。
第2圖係顯示根據本發明一實施例所述之由主機200傳送轉換要求指令的資料儲存方法之流程圖。在步驟S202中,主機200以檔案、資料大小、及/或叢集為單位而記錄存取資料儲存裝置100的複數個資料,並且統計檔案、資料大小、及/或叢集之存取次數。在步驟S204,主機200判斷是否至少一資料的存取次數大於臨界值。如果沒有資料的存取次數大於臨界值,則回到步驟S202。如果至少一資料的存取次數大於臨界值,則執行步驟S206,主機200決定該至少一資料所對應的邏輯位址為特定邏輯位址。然後在步驟S208中,主機200傳送關於該特定邏輯位址之轉換要求指令至資料儲存裝置100。在步驟S210中,資料儲存裝置100依據轉換要求指令將特定邏輯位址從對應第一實體位址,轉換為對應第二實體位址。在步驟S212中,資料儲存裝置100傳送一轉換完成指令至主機200。
值得注意的是,當主機200無法統計存取次數以及找出頻繁存取的特定LBA時,則由資料儲存裝置100來進行上述操作。在一實施例中,資料儲存裝置100之控制器120分析記憶體140之實體位址的存取次數。當上述實體位址中的至少一實體位址的存取次數大於臨界值時,控制器120決定該至少一實體位址為需要被轉換的第一實體位址。然後,資料儲存裝置100產生轉換要求指令,將存取次數大於臨界值的特定邏輯位址,從對應第一實體位址轉換為對應第二實體位址。換言之,
當上述實體位址中的至少一實體位址的存取次數大於臨界值時,資料儲存裝置100會產生轉換要求指令。在完成對應第二實體位址之後,資料儲存裝置100傳送一轉換完成指令至主機200,通知該特定邏輯位址已完成更新。因此,當主機200偵測到上述特定邏輯位址因為頻繁讀取而需要更新時,因為主機200已經收到轉換完成指令,就不需要發出轉換要求指令給資料儲存裝置100進行再次更新。
第3圖係顯示根據本發明一實施例所述之由資料儲存裝置100傳送轉換要求指令的資料儲存方法之流程圖。在步驟S302中,資料儲存裝置100記錄並分析複數個實體位址的存取次數。在步驟S304,資料儲存裝置100判斷是否至少一資料的存取次數大於臨界值。如果沒有資料的存取次數大於臨界值,則回到步驟S302。如果至少一資料的存取次數大於臨界值,則執行步驟S306,資料儲存裝置100決定該至少一實體位址為需要被轉換的第一實體位址。然後在步驟S308中,資料儲存裝置100產生關於該特定邏輯位址之轉換要求指令。在步驟S310中,資料儲存裝置100依據轉換要求指令將特定邏輯位址從對應第一實體位址,轉換為對應第二實體位址。在步驟S312中,資料儲存裝置100傳送一轉換完成指令至主機200。
在本說明書以及申請專利範圍中的序數,例如「第一」、「第二」、「第三」等等,彼此之間並沒有順序上的先後關係,其僅用於標示區分兩個具有相同名字之不同元件。本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (17)
- 一種資料儲存裝置,用以儲存至少一資料,包括:一記憶體,包括複數個區塊,並且該等複數區塊的每一者分別具有不同的實體位址;以及一控制器,耦接該記憶體,用以分別對應該等實體位址至複數個邏輯位址,其中該控制器在接收到一轉換要求指令後,依據該轉換要求指令將一特定邏輯位址從對應一第一實體位址,轉換為對應一第二實體位址。
- 如申請專利範圍第1項所述之資料儲存裝置,其中在該特定邏輯位址轉換為對應該第二實體位址後,該控制器傳送一轉換完成指令至耦接該控制器之一主機。
- 如申請專利範圍第2項所述之資料儲存裝置,其中當該等資料中的至少一資料的存取次數大於一臨界值時,該主機產生該轉換要求指令。
- 如申請專利範圍第3項所述之資料儲存裝置,其中該主機分析該等資料的存取次數,以決定需要進行轉換的該特定邏輯位址。
- 如申請專利範圍第4項所述之資料儲存裝置,其中該主機係以檔案、資料大小、及/或叢集(cluster)為單位而記錄該等資料,並且統計該檔案、該資料大小、及/或該叢集之存取次數。
- 如申請專利範圍第4項所述之資料儲存裝置,其中當該等資料中的至少一資料的存取次數大於一臨界值時,該主機決定該至少一資料所對應的邏輯位址為該特定邏輯位址。
- 如申請專利範圍第6項所述之資料儲存裝置,其中該臨界值係決定於該記憶體之種類及/或該資料儲存裝置的使用環境。
- 如申請專利範圍第2項所述之資料儲存裝置,其中當該等實體位址中的至少一實體位址的存取次數大於一臨界值時,該資料儲存裝置產生該轉換要求指令。
- 如申請專利範圍第8項所述之資料儲存裝置,其中該控制器分析該等實體位址的存取次數,當該等實體位址中的至少一實體位址的存取次數大於一臨界值時,該控制器決定該至少一實體位址為需要被轉換的該第一實體位址。
- 如申請專利範圍第9項所述之資料儲存裝置,其中該臨界值係決定於該記憶體之種類及/或該資料儲存裝置的使用環境。
- 一種資料儲存方法,應用於一主機以及儲存至少一資料之一資料儲存裝置,包括:分別對應複數個實體位址至複數個邏輯位址;以及在接收到一轉換要求指令後,依據該轉換要求指令將一特定邏輯位址從對應一第一實體位址,轉換為對應一第二實體位址。
- 如申請專利範圍第11項所述之資料儲存方法,更包括在轉換該特定邏輯位址為對應該第二實體位址後,傳送一轉換完成指令至該主機。
- 如申請專利範圍第12項所述之資料儲存方法,其中當該等資料中的至少一資料的存取次數大於一臨界值時,藉由該 主機產生該轉換要求指令。
- 如申請專利範圍第13項所述之資料儲存方法,更包括藉由該主機分析該等資料的存取次數,以決定需要進行轉換的該特定邏輯位址。
- 如申請專利範圍第14項所述之資料儲存方法,更包括藉由該主機以檔案、資料大小、及/或叢集(cluster)為單位而記錄該等資料,並且統計該檔案、該資料大小、及/或該叢集之存取次數。
- 如申請專利範圍第14項所述之資料儲存方法,更包括當該等資料中的至少一資料的存取次數大於一臨界值時,藉由該主機決定該至少一資料所對應的邏輯位址為該特定邏輯位址。
- 如申請專利範圍第16項所述之資料儲存方法,其中該臨界值係決定於該資料儲存裝置之種類及/或使用環境。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW104138203A TWI601059B (zh) | 2015-11-19 | 2015-11-19 | 資料儲存裝置與資料儲存方法 |
| CN201610220051.4A CN106775440A (zh) | 2015-11-19 | 2016-04-11 | 数据储存装置与数据储存方法 |
| US15/264,196 US10223285B2 (en) | 2015-11-19 | 2016-09-13 | Data storage device and data storage method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW104138203A TWI601059B (zh) | 2015-11-19 | 2015-11-19 | 資料儲存裝置與資料儲存方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201719374A true TW201719374A (zh) | 2017-06-01 |
| TWI601059B TWI601059B (zh) | 2017-10-01 |
Family
ID=58720784
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104138203A TWI601059B (zh) | 2015-11-19 | 2015-11-19 | 資料儲存裝置與資料儲存方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10223285B2 (zh) |
| CN (1) | CN106775440A (zh) |
| TW (1) | TWI601059B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI670595B (zh) * | 2017-09-26 | 2019-09-01 | 慧榮科技股份有限公司 | 主動錯誤更正失敗處理方法 |
| US11016841B2 (en) | 2017-09-26 | 2021-05-25 | Silicon Motion, Inc. | Methods and apparatuses for proactive ECC failure handling |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107025066A (zh) * | 2016-09-14 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 在基于闪存的存储介质中写入存储数据的方法和装置 |
| JP6779821B2 (ja) * | 2017-03-24 | 2020-11-04 | キオクシア株式会社 | メモリシステム及びデータの読み出し方法 |
| KR102808981B1 (ko) * | 2019-01-31 | 2025-05-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
| US20220318015A1 (en) * | 2021-03-31 | 2022-10-06 | Advanced Micro Devices, Inc. | Enforcing data placement requirements via address bit swapping |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7321951B2 (en) * | 2003-11-17 | 2008-01-22 | Micron Technology, Inc. | Method for testing flash memory power loss recovery |
| JP4965877B2 (ja) * | 2005-04-07 | 2012-07-04 | キヤノン株式会社 | データ保管装置、データ保管方法及びそのプログラム |
| US20080201520A1 (en) * | 2007-02-03 | 2008-08-21 | Stec, Inc. | Flash firmware management |
| US7895421B2 (en) * | 2007-07-12 | 2011-02-22 | Globalfoundries Inc. | Mechanism for using performance counters to identify reasons and delay times for instructions that are stalled during retirement |
| JP4292225B2 (ja) * | 2007-12-17 | 2009-07-08 | 株式会社東芝 | 情報記録装置および情報記録方法 |
| US7937521B2 (en) * | 2008-01-29 | 2011-05-03 | Cadence Design Systems, Inc. | Read disturbance management in a non-volatile memory system |
| KR101517761B1 (ko) * | 2008-07-30 | 2015-05-06 | 시게이트 테크놀로지 엘엘씨 | 데이터 저장 위치 관리 방법 및 이를 데이터 저장 시스템 |
| US8590037B2 (en) * | 2008-12-23 | 2013-11-19 | Sandisk Technologies Inc. | Managing host application privileges |
| TWI427476B (zh) * | 2009-02-24 | 2014-02-21 | Silicon Motion Inc | 快閃記憶體的存取方法及快閃記憶體裝置 |
| US8806144B2 (en) * | 2009-05-12 | 2014-08-12 | Stec, Inc. | Flash storage device with read cache |
| US7818525B1 (en) * | 2009-08-12 | 2010-10-19 | Texas Memory Systems, Inc. | Efficient reduction of read disturb errors in NAND FLASH memory |
| CN102841852B (zh) * | 2011-06-24 | 2015-06-17 | 华为技术有限公司 | 磨损均衡方法、存储装置及信息系统 |
| TW201305624A (zh) * | 2011-07-27 | 2013-02-01 | Hon Hai Prec Ind Co Ltd | 導光板修復方法 |
| TWI461913B (zh) * | 2011-11-30 | 2014-11-21 | Silicon Motion Inc | 快閃記憶裝置及其資料讀取方法 |
| CN103365786B (zh) * | 2012-04-01 | 2016-12-14 | 国民技术股份有限公司 | 数据存储方法、装置和系统 |
| TWI563383B (en) * | 2012-04-25 | 2016-12-21 | Phison Electronics Corp | Memory formatting method, memory controller and memory storage apparatus |
| US20140189211A1 (en) * | 2012-12-31 | 2014-07-03 | Sandisk Enterprise Ip Llc | Remapping Blocks in a Storage Device |
| KR102025180B1 (ko) * | 2013-08-08 | 2019-09-26 | 삼성전자주식회사 | 스토리지 시스템 및 그것의 쓰기 방법 |
| CN104679480A (zh) * | 2013-11-27 | 2015-06-03 | 上海芯豪微电子有限公司 | 一种指令集转换系统和方法 |
| KR20160027805A (ko) * | 2014-09-02 | 2016-03-10 | 삼성전자주식회사 | 비휘발성 메모리 장치를 위한 가비지 컬렉션 방법 |
| US20160118132A1 (en) * | 2014-10-27 | 2016-04-28 | Sandisk Enterprise Ip Llc | Low Impact Read Disturb Handling |
| US11385797B2 (en) * | 2015-10-05 | 2022-07-12 | Micron Technology, Inc. | Solid state storage device with variable logical capacity based on memory lifecycle |
-
2015
- 2015-11-19 TW TW104138203A patent/TWI601059B/zh active
-
2016
- 2016-04-11 CN CN201610220051.4A patent/CN106775440A/zh active Pending
- 2016-09-13 US US15/264,196 patent/US10223285B2/en active Active
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI670595B (zh) * | 2017-09-26 | 2019-09-01 | 慧榮科技股份有限公司 | 主動錯誤更正失敗處理方法 |
| US11016841B2 (en) | 2017-09-26 | 2021-05-25 | Silicon Motion, Inc. | Methods and apparatuses for proactive ECC failure handling |
Also Published As
| Publication number | Publication date |
|---|---|
| TWI601059B (zh) | 2017-10-01 |
| US20170147504A1 (en) | 2017-05-25 |
| US10223285B2 (en) | 2019-03-05 |
| CN106775440A (zh) | 2017-05-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI601059B (zh) | 資料儲存裝置與資料儲存方法 | |
| KR102691851B1 (ko) | 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법 | |
| US9021187B2 (en) | Logical block address remapping | |
| US9448946B2 (en) | Data storage system with stale data mechanism and method of operation thereof | |
| US8489805B2 (en) | Memory devices operated within a communication protocol standard timeout requirement | |
| US8606970B2 (en) | Data writing method for non-volatile memory, and controller and storage system using the same | |
| US8902671B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
| US9971514B2 (en) | Dynamic logical groups for mapping flash memory | |
| TWI421869B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
| US9235501B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
| CN110928807A (zh) | 用于检查存储器系统中的有效数据的设备和方法 | |
| US11714574B2 (en) | Managing memory command engine using command sequence analysis | |
| US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
| US20140013030A1 (en) | Memory storage device, memory controller thereof, and method for writing data thereof | |
| KR102595233B1 (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
| CN107797934A (zh) | 处理去分配命令的方法与存储设备 | |
| CN102890617B (zh) | 存储器控制方法、存储器控制器与存储器储存装置 | |
| US10180788B2 (en) | Data storage device having internal tagging capabilities | |
| US11307786B2 (en) | Data storage devices and data processing methods | |
| US8775711B2 (en) | Solid-state disk, and user system comprising same | |
| TWI673646B (zh) | 資料儲存裝置與資料儲存方法 | |
| CN103377149B (zh) | 保护数据的方法、存储器控制器与存储器储存装置 | |
| CN102456401B (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
| TWI820473B (zh) | 瞬間斷電回復處理方法及裝置以及電腦程式產品 |