TWI725102B - 資料儲存裝置及固態驅動器 - Google Patents
資料儲存裝置及固態驅動器 Download PDFInfo
- Publication number
- TWI725102B TWI725102B TW105144175A TW105144175A TWI725102B TW I725102 B TWI725102 B TW I725102B TW 105144175 A TW105144175 A TW 105144175A TW 105144175 A TW105144175 A TW 105144175A TW I725102 B TWI725102 B TW I725102B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- buffer
- area
- memory controller
- volatile memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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]
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
本發明係關於一種資料儲存裝置,其包括:非揮發性記憶體裝置,其連接到多個通道;以及控制器,其包括處理器、緩衝器和記憶體控制器,記憶體控制器分別連接到通道,其中不管緩衝器的狀態如何,處理器都回應於來自主機裝置的第一存取請求,將第一存取命令傳輸至第一記憶體控制器,並且其中第一記憶體控制器透過回應於第一存取命令確定緩衝器的狀態來控制第一非揮發性記憶體裝置的內部操作。
Description
本申請主張於2016年8月25日向韓國智慧財產權局提交的申請號為10-2016-0108419的韓國申請的優先權,該申請的全部內容透過引用併入本文。
各種實施例總體係關於一種資料儲存裝置,且更特別地,係關於一種包括非揮發性記憶體裝置的資料儲存裝置。
資料儲存裝置回應於寫入請求儲存由外部裝置提供的資料。資料儲存裝置還可回應於讀取請求將儲存的資料提供給外部裝置。使用資料儲存裝置的外部裝置的示例包括電腦、數位照相機、手機等。資料儲存裝置可在製造外部裝置期間嵌入外部裝置中,或者可單獨製造,然後連接到外部裝置。
各種實施例係關於包括控制器和多個非揮發性記憶體裝置的資料儲存裝置,用以使控制器中的處理器的負擔最小化以提高資料儲存裝置的操作性能。
在實施例中,資料儲存裝置可包括:至少一個非揮發性記憶體裝置,其可操作地連接到多個通道中的每一個;以及控制器,其包括處理器、緩衝器和多個記憶體控制器,該等記憶體控制器分別連接到通
道,其中不管緩衝器的狀態如何,處理器都回應於從主機裝置接收的第一存取請求將第一存取命令傳輸至第一記憶體控制器,並且其中第一記憶體控制器透過回應於第一存取命令確定緩衝器的狀態來控制第一非揮發性記憶體裝置的內部操作。
在實施例中,資料儲存裝置可包括:非揮發性記憶體裝置,其連接到多個通道;以及控制器,其包括緩衝器和記憶體控制器,緩衝器包括第一區域並且記憶體控制器分別連接到通道,其中記憶體控制器中的第一記憶體控制器透過回應於第一讀取命令確定第一區域的狀態來控制第一非揮發性記憶體裝置的讀取操作。
在實施例中,固態驅動器可包括:處理器、隨機存取記憶體(Random Access Memory,RAM)和儲存介質介面,該儲存介質介面包括經由通道可操作地連接到至少一個非揮發性記憶體裝置的至少一個記憶體控制器,其中不管RAM的狀態如何,處理器都回應於從主機裝置接收的第一存取請求將第一存取命令傳輸至至少一個記憶體控制器,並且其中至少一個記憶體控制器透過回應於第一存取命令確定RAM的狀態來控制至少一個非揮發性記憶體裝置的內部操作。
10:資料儲存裝置
100:控制器
110:主機介面
120:處理器
130:緩衝器
140:緩衝器管理器
210:控制邏輯
220:資料緩衝器
230:記憶胞陣列
1000:固態驅動器
1100:控制器
1110:處理器
1120:隨機存取記憶體
1130:唯讀記憶體
1140:錯誤校正電路
1150:主機介面
1160:儲存介質介面
1170:匯流排
1200:儲存介質
1500:主機裝置
2000:資料處理系統
2100:主處理器
2200:主記憶體裝置
2300:資料儲存裝置
2310:控制器
2320:儲存介質
2400:輸入/輸出裝置
2500:系統匯流排
2600:網路
2700:伺服器
SC:感測完成報告
SCMD:感測操作命令
CH1,CH2:通道
RDT:資料
WRQ:寫入請求
WDT:寫入資料
WCMD:寫入命令
TCMD:傳輸操作命令
WOCMD:寫入操作命令
MCT1,MCT2:記憶體控制器
NVM11,NVM12:非揮發性記憶體裝置
NVM21,NVM22:非揮發性記憶體裝置
S110,S120,S130:步驟
S140,S150,S160:步驟
S170:步驟
S210,S220,S230:步驟
S240,S250,S260:步驟
S270,S280,S290:步驟
S300,S310,S320:步驟
S330,S340,S350:步驟
S360,S370,S380:步驟
S390:步驟
S400,S410,S420:步驟
從下面參照附圖對本發明的具體實施例的詳細描述中,本發明的這些和其它特徵與優點對於本領域技術人員將變得顯而易見:圖1是示出根據本發明的實施例的資料儲存裝置的方塊圖。
圖2是示出在圖1的資料儲存裝置中採用的非揮發性記憶體裝置的方塊圖。
圖3是解釋圖1的資料儲存裝置處理從主機裝置接收的寫入請求的方法的示意圖。
圖4和圖5是解釋圖1的資料儲存裝置處理來自主機裝置的讀取請求的方法的示意圖。
圖6是示出根據本發明的實施例的固態驅動器的方塊圖。
圖7是示出應用了根據本發明的實施例的資料儲存裝置的資料處理系統的方塊圖。
在下文中,將透過本發明的示例性實施例並參照附圖來描述根據本發明的資料儲存裝置及其操作方法。然而,本發明可以不同的形式實施,並不應被解釋為僅限於本文所闡述的實施例。相反,提供這些實施例以足夠詳細地描述本發明,使得本發明所屬領域的技術人員能夠實施本發明的技術概念。
應當理解,本發明的實施例不限於附圖中所示的細節,附圖不一定按比例繪製,並且在一些情況下,可能已經誇大了比例以便更清楚地描繪本發明的某些特徵。雖然使用了特定術語,但是應當理解,所使用的術語僅用於描述具體實施例,並且不旨在限制本發明的範圍。
還應注意,在下面的描述中,為了有助於理解本發明而給出了具體細節,然而,可在沒有這些具體細節中的一些的情況下實施本發明。此
外,要注意的是,習知的結構和/或進程可僅作簡要描述或者根本不作描述,以避免不必要的習知細節模糊本發明。
還應注意,在一些情況下,如對於相關領域的技術人員顯而易見的是,除非另有特別說明,否則所描述的與一個實施例相關的元件(也被稱為特徵)可以單獨使用或與另一個實施例的其它元件組合使用。
在下文中,將參照附圖詳細描述本發明的各種實施例。
圖1示出根據本發明的實施例的資料儲存裝置10。
資料儲存裝置10可回應於來自主機裝置的存取請求即寫入請求和讀取請求分別儲存從主機裝置接收的寫入資料和將所儲存的資料傳輸至主機裝置。
資料儲存裝置10可被配置為國際個人電腦記憶卡協會(PCMCIA,Personal Computer Memory Card International Association)卡、標準快閃記憶體(CF,Compact Flash)卡、智慧媒體卡、記憶棒、各種多媒體卡(MMC、eMMC、RS-MMC及微型MMC)、各種安全數位卡(SD、迷你SD及微型SD)、通用快閃記憶體(UFS,Universal Flash Storage)以及固態驅動器(SSD,solid state drive)等。
資料儲存裝置10可包括控制器100和非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22。
控制器100可回應於從主機裝置傳輸的寫入請求將資料儲存在非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22中。控制器100還可回應於從主機裝置接收的讀取請求,讀取儲存在非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22中的資料,並將讀取資料輸出到主機裝置。
控制器100可包括主機介面110、處理器120、緩衝器130以及記憶體控制器MCT1和記憶體控制器MCT2。雖然圖1示出了分別連接到通道CH1和通道CH2的兩個記憶體控制器MCT1和MCT2,但是應當注意,記憶體控制器的數量不限於此。記憶體控制器的數量可根據通道的數量而改變。
主機介面110可與主機裝置通信。主機介面110可從主機裝置接收諸如寫入請求或讀取請求的請求,並且可將接收到的例如從主機裝置接收到的寫入請求和讀取請求的請求傳輸至處理器120。主機介面110可將從主機裝置接收的寫入資料傳輸至緩衝器130,並且還將從非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22讀取且儲存在緩衝器130中的讀取資料傳輸至主機裝置。主機介面110可以是任何合適的介面。
處理器120可回應於從主機介面110傳輸的存取請求,確定非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22中待被存取的非揮發性記憶體裝置,即目標非揮發性記憶體裝置。記憶體控制器MCT1和記憶體控制器MCT2中的連接到目標非揮發性記憶體裝置的記憶體控制器也將被稱為目標記憶體控制器。處理器120可回應於從主機介面110傳輸的存取請求,將例如寫入命令或讀取命令的存取命令傳輸至目標記憶體控制器。
不管緩衝器130的狀態如何,處理器120都可將存取命令傳輸至目標記憶體控制器。緩衝器130的狀態可由緩衝器管理器140確定。基於來自緩衝器管理器140的緩衝器130的狀態,目標記憶體控制器即記憶體控制器MCT1和記憶體控制器MCT2中的一個可確定是否將內部操作命令傳輸至目標非揮發性記憶體裝置。
緩衝器130可臨時儲存在主機裝置與非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22之間待傳輸的資料。雖然緩衝器130可以是諸如靜態隨機存取記憶體(SRAM,Static Random Access Memory)或動態隨機存取記憶體(DRAM,Dynamic Random Access Memory)的揮發性記憶體裝置,但是應注意,實施例不限於此。
緩衝器管理器140可確定緩衝器130的狀態。例如,當從主機裝置接收到寫入請求時,緩衝器管理器140可根據寫入資料是否已經完全從主機裝置傳輸至緩衝器130來確定緩衝器130的狀態。例如,當從主機裝置接收到讀取請求時,緩衝器管理器140可根據緩衝器130的預定區域是否可用,以及儲存在緩衝器130的預定區域中的資料是否無錯來確定緩衝器130的狀態。
記憶體控制器MCT1和記憶體控制器MCT2可分別連接到通道CH1和通道CH2。記憶體控制器MCT1和記憶體控制器MCT2中的每一個可從處理器120接收用於連接到相應通道的非揮發性記憶體裝置的存取命令,並且將接收的存取命令儲存在分別對應於非揮發性記憶體裝置的命令佇列(未示出)中。記憶體控制器MCT1和記憶體控制器MCT2中的每一個可回應於存取命令根據緩衝器管理器140來確定緩衝器130的狀態,並根據確定結果,將諸如寫入操作命令和讀取操作命令的內部操作命令傳輸至目標非揮發性記憶體裝置,從而控制目標非揮發性記憶體裝置的內部操作。
從處理器120接收寫入命令的目標記憶體控制器可確定寫入資料是否已經完全從主機裝置傳輸至緩衝器130,並且根據確定結果,透過寫入操作命令控制目標非揮發性記憶體裝置的寫入操作。當確定寫入資料已經完全傳輸至緩衝器130時,目標記憶體控制器可將寫入操作命令傳輸至目標非揮發性
記憶體裝置。根據一個實施例,當確定寫入資料尚未完全傳輸至緩衝器130時,目標記憶體控制器可不將寫入操作命令傳輸至目標非揮發性記憶體裝置,並且可連續地檢查寫入資料是否已經完全傳輸至緩衝器130。然後,當目標記憶體控制器確定寫入資料已經完全傳輸至緩衝器130時,目標記憶體控制器然後可將寫入操作命令傳輸至目標非揮發性記憶體裝置。目標非揮發性記憶體裝置可透過回應於從目標記憶體控制器接收的寫入操作命令執行寫入操作來儲存寫入資料。
根據另一實施例,當確定寫入資料尚未完全傳輸至緩衝器130但已經傳輸了預定資料尺寸時,目標記憶體控制器可將寫入操作命令傳輸至目標非揮發性記憶體裝置。因此,在整個寫入資料的尺寸非常大的情況下,只要預定尺寸的資料已經傳輸至緩衝器130,則在無需等待到整個寫入資料完全傳輸的情況下就可以開始寫入操作,因此可抑制寫入操作中的延遲。可設置資料的預定尺寸,以便優化資料儲存裝置10的至少一個性能特性。例如,可根據目標非揮發性記憶體裝置執行寫入操作的單位來設置資料的預定尺寸。
從處理器120接收讀取命令的目標記憶體控制器可確定緩衝器130的預定區域是否可用,並且根據確定結果,可透過讀取操作命令即感測操作命令和傳輸操作命令來控制目標非揮發性記憶體裝置的讀取操作。緩衝器130的預定區域可對應於來自主機裝置的讀取請求,並且可由主機裝置或處理器120指定用於處理讀取請求。當確定緩衝器130的預定區域可用時,目標記憶體控制器可將感測操作命令和傳輸操作命令傳輸至目標非揮發性記憶體裝置。目標非揮發性記憶體裝置可分別回應於感測操作命令和傳輸操作命令對請求讀取的目標資料執行感測操作並且對感測資料執行傳輸操作。因此,從目標非揮
發性記憶體裝置傳輸的資料可儲存在緩衝器130的預定區域中,並且然後可經由主機介面110從緩衝器傳輸至主機裝置。
同時,在緩衝器130的預定區域仍然處於被分配用於對應於先前的讀取命令的資料的狀態的情況下,將確定緩衝器130的預定區域不可用。當確定緩衝器130的預定區域不可用時,目標記憶體控制器可確定儲存在緩衝器130的預定區域中的資料是否無錯,並根據確定結果控制目標非揮發性記憶體裝置的感測操作。具體地,當確定儲存在緩衝器130的預定區域中的資料不是無錯時,目標記憶體控制器可連續檢查儲存在緩衝器130的預定區域中的資料是否無錯。當確定儲存在緩衝器130的預定區域中的資料無錯時,目標記憶體控制器可將感測操作命令傳輸至目標非揮發性記憶體裝置。也就是說,在儲存在緩衝器130的預定區域中的資料無錯的情況下,由於相應的無錯資料將立即輸出到主機裝置,所以目標記憶體控制器可控制目標非揮發性記憶體裝置開始讀取命令的感測操作。目標非揮發性記憶體裝置可回應於感測操作命令執行感測操作以感測請求讀取的目標資料。
然後,在執行目標非揮發性記憶體裝置的感測操作之後,目標記憶體控制器可確定緩衝器的預定區域是否可用,並根據確定結果控制目標非揮發性記憶體裝置的傳輸操作。具體地,當確定緩衝器130的預定區域不可用時,即當儲存在預定區域中的資料尚未輸出到主機裝置時,目標記憶體控制器可連續檢查緩衝器130的預定區域是否可用。當確定緩衝器130的預定區域可用時,即在儲存在預定區域中的資料被輸出到主機裝置之後,目標記憶體控制器可將傳輸操作命令傳輸至目標非揮發性記憶體裝置。
根據實施例,當確定儲存在緩衝器130的預定區域即第一區域中的資料不是無錯時,目標記憶體控制器可確定除了第一區域之外的緩衝器130的第二區域是否可用,並且根據確定結果如上所述地控制目標非揮發性記憶體裝置的讀取操作。換言之,當確定緩衝器130的第二區域可用時,目標記憶體控制器可依順序地將感測操作命令和傳輸操作命令傳輸至目標非揮發性記憶體裝置。當確定緩衝器130的第二區域不可用時,目標記憶體控制器可確定儲存在第二區域中的資料是否無錯,並且當確定儲存在第二區域中的資料無錯時,目標記憶體控制器可將感測操作命令傳輸至目標非揮發性記憶體裝置。在執行目標非揮發性記憶體裝置的感測操作之後,當確定緩衝器130的第二區域可用時,目標記憶體控制器可將傳輸操作命令傳輸至目標非揮發性記憶體裝置。目標記憶體控制器可向處理器120報告緩衝器130的第二區域已經用於處理讀取命令。因此,從目標非揮發性記憶體裝置傳輸的資料儲存在緩衝器130的第二區域中,並且處理器120可控制儲存在緩衝器130的第二區域中的資料輸出到主機裝置。
根據實施例,當確定已經執行感測操作的目標非揮發性記憶體裝置需要比當前的讀取命令更早地處理另一讀取命令時,處理器120可中止目標非揮發性記憶體裝置的感測操作。例如,如上所述,當例如第一資料的預先讀取並儲存在緩衝器130的預定區域中的資料無錯時,由於相應的資料將立即輸出到主機裝置,所以處理器120可將感測操作命令傳輸至目標非揮發性記憶體裝置。然而,此後,當確定資料是預先從目標非揮發性記憶體裝置讀取並儲存在緩衝器130的另一區域中之例如第二資料的資料不是無錯時,處理器120應當再次讀取第二資料。此時,當確定應當首先處理對第二資料的讀取操作時,
處理器120可中止預先執行的目標非揮發性記憶體裝置的感測操作,並且控制目標非揮發性記憶體裝置的讀取操作以提前讀取第二資料。
記憶體控制器MCT1和記憶體控制器MCT2中的每一個可回應於從處理器120傳輸的多個存取命令,其係根據緩衝器管理器140確定緩衝器130的狀態。具體地,記憶體控制器MCT1和記憶體控制器MCT2中的每一個可獨立於回應於第一存取命令確定緩衝器130的狀態而回應於第二存取命令確定緩衝器130的狀態,從而控制對應於第二存取命令的非揮發性記憶體裝置的內部操作。對應於第二存取命令的非揮發性記憶體裝置可以是對應於第一存取命令的非揮發性記憶體裝置,或者可以是另一個非揮發性記憶體裝置。不管接收第一存取命令和第二存取命令的順序如何,記憶體控制器MCT1和記憶體控制器MCT2中的每一個都可根據緩衝器130的狀態而處理第一存取命令和第二存取命令。
此外,記憶體控制器MCT1和記憶體控制器MCT2中的每一個可獨立於其它記憶體控制器確定緩衝器130的狀態,從而控制連接到相應通道的非揮發性記憶體裝置。
記憶體控制器MCT1和記憶體控制器MCT2中的每一個可對儲存在緩衝器130中的資料執行編碼操作,並將編碼資料傳輸至目標非揮發性記憶體裝置,並且可對從目標非揮發性記憶體裝置傳輸的資料執行解碼操作,並將解碼資料儲存在緩衝器130中。透過執行解碼操作,記憶體控制器MCT1和記憶體控制器MCT2中的每一個可通知緩衝器管理器(未示出)從目標非揮發性記憶體裝置傳輸的資料是否無錯。
非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22可透過各別的通道CH1和通道CH2連接到記憶體控制器MCT1和記憶體控制器MCT2。非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22中的每一個可根據相應的記憶體控制器的控制來執行內部操作,即寫入操作和讀取操作。讀取操作可包括如上所述的感測操作和傳輸操作。儘管圖1示出了兩個非揮發性記憶體裝置連接到兩個通道中的每一個,但應注意的是,在本實施例中的通道和非揮發性記憶體裝置的數量不限於此。
非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22中的每一個可由諸如NAND快閃記憶體或NOR快閃記憶體的快閃記憶體、鐵電隨機存取記憶體(FeRAM,Ferroelectrics Random Access Memory)、相變隨機存取記憶體(PCRAM,Phase-Change Random Access Memory)、磁阻隨機存取記憶體(MRAM,Magnetoresistive Random Access Memory)、電阻式隨機存取記憶體(ReRAM,Resistive Random Access Memory)等配置。在實施例中,非揮發性記憶體裝置NVM11、NVM12、NVM21及NVM22中的每一個是快閃記憶體。
圖2是示出圖1所示的非揮發性記憶體裝置NVM11的示例配置的方塊圖。由於非揮發性記憶體裝置NVM11可具有與其餘的非揮發性記憶體裝置NVM12至非揮發性記憶體裝置NVM22中的任何一個相同或基本相同的結構,所以在圖2中以非揮發性記憶體裝置NVM11作為示例進行解釋。
非揮發性記憶體裝置NVM11可包括控制邏輯210、資料緩衝器220以及記憶胞陣列230。
控制邏輯210可回應於透過通道CH1從記憶體控制器MCT1接收的諸如寫入操作命令和讀取操作命令的內部操作命令控制記憶胞陣列230和資
料緩衝器220。控制邏輯210可回應於寫入操作命令,將透過通道CH1傳輸的寫入資料儲存在資料緩衝器220中,並且將來自資料緩衝器220的寫入資料傳遞至記憶胞陣列230。
控制邏輯210可回應於讀取操作命令的感測操作命令,感測儲存在記憶胞陣列230中的資料,並將感測資料儲存在資料緩衝器220中,並且回應於讀取操作命令的傳輸操作命令將儲存在資料緩衝器220中的資料傳輸至記憶體控制器MCT1。
資料緩衝器220可臨時儲存在記憶體控制器MCT1和記憶胞陣列230之間的資料。例如,在寫入操作中,資料緩衝器220可臨時儲存經由通道CH1從記憶體控制器MCT1接收的寫入資料。此外,在讀取操作中,在控制邏輯210能夠將讀取資料傳輸至控制器100的緩衝器130之前,資料緩衝器220可臨時儲存從記憶胞陣列230讀取的讀取資料。
記憶胞陣列230可包括用於儲存資料的多個記憶胞。記憶胞陣列可以是二維(2D,two dimension)或三維(3D,three dimension)結構。
根據實施例,記憶體控制器MCT1和記憶體控制器MCT2可檢查緩衝器130的狀態,並且即使在檢查緩衝器130的狀態之前,即在未檢查緩衝器130的狀態的情況下,當從主機裝置接收存取請求時,處理器120也可立即將存取命令傳輸至記憶體控制器MCT1和記憶體控制器MCT2。因此,可減少處理器120的負擔,並且可提高資料儲存裝置10的操作性能。記憶體控制器MCT1和記憶體控制器MCT2可回應於多個存取命令獨立地檢查緩衝器130的狀態,從而進一步提高命令處理速度。
圖3是解釋圖1的資料儲存裝置10處理從主機裝置接收的寫入請求的方法的示意圖。為了便於說明,在圖3中將省略對圖1所示的主機介面110的操作的描述。在下面的描述中,進一步假定目標記憶體控制器是記憶體控制器MCT1,並且目標非揮發性記憶體裝置是非揮發性記憶體裝置NVM11。
在步驟S110中,處理器120可從主機裝置接收寫入請求WRQ。
在步驟S120中,緩衝器130可從主機裝置接收寫入資料WDT。
在步驟S130中,不管緩衝器130的狀態如何,即不管將寫入資料傳輸至緩衝器130是否已經完成,處理器120都可回應於寫入請求WRQ而將寫入命令WCMD傳輸至目標記憶體控制器MCT1。
然後,在接收到寫入命令WCMD之後並且回應於寫入命令WCMD,目標記憶體控制器MCT1可在步驟S140中確定寫入資料WDT是否已經完全傳輸至緩衝器130。當確定寫入資料WDT尚未完全傳輸至緩衝器130(步驟S140中為“否”)時,目標記憶體控制器MCT1可連續檢查寫入資料WDT是否已經完全傳輸至緩衝器130,即重複步驟S140直到確定已完全傳輸(步驟S140中為“是”)。當確定寫入資料WDT已經完全傳輸至緩衝器130(步驟S140中為“是”)時,進程可繼續進行到步驟S150。
在步驟S150中,目標記憶體控制器MCT1然後可從緩衝器130獲得寫入資料WDT。
在步驟S160中,在已經從緩衝器130獲得寫入資料WDT之後,目標記憶體控制器MCT1然後可以將寫入操作命令WOCMD與寫入資料WDT一起傳輸至目標非揮發性記憶體裝置NVM11。
在步驟S170中,目標非揮發性記憶體裝置NVM11可回應於從目標記憶體控制器MCT1接收的寫入操作命令WOCMD,對寫入資料WDT執行寫入操作。
圖4和圖5是解釋圖1的資料儲存裝置10處理來自主機裝置的讀取請求的方法的示意圖。為了便於說明,在圖4和圖5中將省略對圖1所示的主機介面110的操作的描述。
參照圖4,在步驟S210中,處理器120可從主機裝置接收用於非揮發性記憶體裝置NVM11的讀取請求RRQ。
在步驟S220中,不管緩衝器130的狀態如何,處理器120都可回應於讀取請求RRQ而將讀取命令RCMD傳輸至目標記憶體控制器MCT1。
在步驟S230中,目標記憶體控制器MCT1可回應於讀取命令RCMD而確定緩衝器130的預定區域是否可用。緩衝器130的預定區域可由主機裝置或處理器120指定。如圖4所示,目標記憶體控制器MCT1可確定緩衝器130的預定區域可用(步驟S230中為“是”)。
然後,在步驟S240中,目標記憶體控制器MCT1可將感測操作命令SCMD傳輸至目標非揮發性記憶體裝置NVM11。
在步驟S250中,目標非揮發性記憶體裝置NVM11可回應於感測操作命令SCMD而對儲存在記憶胞陣列230中的資料執行感測操作,並將感測資料儲存在資料緩衝器220中。
在步驟S260中,目標非揮發性記憶體裝置NVM11可將感測完成報告SC傳輸至目標記憶體控制器MCT1。
在步驟S270中,目標記憶體控制器MCT1可將傳輸操作命令TCMD傳輸至目標非揮發性記憶體裝置NVM11。
在步驟S280中,在接收到傳輸操作命令TCMD時,目標非揮發性記憶體裝置NVM11可回應於傳輸操作命令TCMD,將儲存在資料緩衝器220中的讀取的資料RDT傳輸至目標記憶體控制器MCT1。
在步驟S290中,目標記憶體控制器MCT1可將從目標非揮發性記憶體裝置NVM11傳輸的資料RDT儲存在緩衝器130的預定區域中。
在步驟S300中,可將儲存在緩衝器130的預定區域中的資料輸出到主機裝置。
參照圖5,步驟S310和步驟S320可與圖4中的步驟S210和步驟S220相同。
然而,在步驟S330中,目標記憶體控制器MCT1可確定緩衝器130的預定區域不可用(步驟S330中為“否”),在這種情況下,目標記憶體控制器將繼續進行到步驟S340。
在步驟S340中,目標記憶體控制器MCT1可確定儲存在緩衝器130的預定區域中的資料是否無錯。當確定儲存在緩衝器130的預定區域中的資料不是無錯(步驟S340中為“否”)時,目標記憶體控制器MCT1可連續檢查儲存在緩衝器130的預定區域中的資料是否無錯,即重複步驟S340直到做出緩衝器130的預定區域無錯的確定。當在後續重複的步驟S340中,確定儲存在緩衝器130的預定區域中的資料無錯(步驟S340中為“是”)時,該進程然後可繼續進行到步驟S350。
在步驟S350中,目標記憶體控制器MCT1可將感測操作命令SCMD傳輸至目標非揮發性記憶體裝置NVM11。也就是說,由於無錯資料可被立即輸出到主機裝置,所以緩衝器130的預定區域可立即改變為可用狀態。因此,目標記憶體控制器MCT1可回應於感測操作命令SCMD而控制目標非揮發性記憶體裝置NVM11以開始感測操作。
在步驟S360中,目標非揮發性記憶體裝置NVM11可回應於感測操作命令SCMD而對儲存在記憶胞陣列230中的資料執行感測操作,並將感測資料儲存在資料緩衝器220中。
在步驟S370中,目標非揮發性記憶體裝置NVM11可將感測完成報告SC傳輸至目標記憶體控制器MCT1。
在步驟S380中,目標記憶體控制器MCT1可確定緩衝器130的預定區域是否可用。當確定緩衝器130的預定區域不可用(步驟S380中為“否”)時,目標記憶體控制器MCT1可連續檢查緩衝器130的預定區域是否可用,即可重複步驟S380直到做出緩衝器130的預定區域可用的確定。在儲存在緩衝器130的預定區域中的資料被輸出到主機裝置的情況下,緩衝器130的預定區域可改變為可用狀態。因此,當在後續重複的步驟S380中確定緩衝器130的預定區域可用(步驟S380中為“是”)時,進程可繼續進行到步驟S390。
在步驟S390中,目標記憶體控制器MCT1可將傳輸操作命令TCMD傳輸至目標非揮發性記憶體裝置NVM11。
在步驟S400中,目標非揮發性記憶體裝置NVM11可回應於傳輸操作命令TCMD將儲存在資料緩衝器220中的資料RDT傳輸至目標記憶體控制器MCT1。
步驟S410和步驟S420可與圖4中的步驟S290和步驟S300相同。
儘管在圖5中示出了步驟S380在步驟S370之後執行,但是應當注意,步驟S380可在步驟S350之後立即執行。
圖6是示出根據本發明的實施例的固態驅動器(SSD)1000的方塊圖。
SSD 1000可包括可操作地連接到儲存介質1200的控制器1100。
控制器1100可控制主機裝置1500和儲存介質1200之間的資料交換。控制器1100可包括透過匯流排1170連接的處理器1110、隨機存取記憶體(RAM)1120、唯讀記憶體(ROM,Read Only Memory)1130、錯誤校正電路(ECC,Error correction circuit)1140、主機介面1150和儲存介質介面1160。
處理器1110可回應於從主機裝置1500接收的請求控制控制器1100的操作。處理器1110可回應於從主機裝置1500接收的寫入請求而將資料儲存在儲存介質1200中。處理器1110可回應於來自主機裝置1500的讀取請求,從儲存介質1200中讀取儲存的資料。通常,處理器可回應於從主機裝置1500接收的資料處理請求來控制主機裝置1500和儲存介質1200之間的資料交換。為了更有效地管理儲存介質1200,處理器1110可控制SSD 1000的諸如合併操作、損耗均衡操作等的內部操作。
處理器1110可以是圖1中的處理器120,或者可以包括圖1中的處理器120。不管RAM 1120的狀態如何,處理器1110都可回應於從主機裝置1500傳輸的存取請求而將存取命令傳輸至可以包括在儲存介質介面1160中的目標記憶體控制器MCT1至目標記憶體控制器MCTn。
RAM 1120可儲存待由處理器1110使用的程式和程式資料。RAM 1120可在將從主機介面1150傳輸的資料傳遞至儲存介質1200之前臨時儲存這些資料,並且可在將從儲存介質1200傳輸的資料傳遞至主機裝置1500之前臨時儲存這些資料。RAM 1120可以是圖1中的緩衝器130或可以包括圖1中的緩衝器130。
ROM 1130可儲存待由處理器1110讀取的程式碼。程式碼可包括待由處理器1110處理的命令,使得處理器1110可控制控制器1100的內部單元。
ECC 1140可對待儲存在儲存介質1200中的資料進行編碼,並且可對從儲存介質1200讀取的資料進行解碼。ECC 1140可根據ECC演算法檢測並校正資料中出現的錯誤。
主機介面1150可與主機裝置1500交換資料處理請求和資料。主機介面1150可包括圖1中的主機介面110。
儲存介質介面1160可將控制信號和資料傳輸至儲存介質1200。儲存介質介面1160可從儲存介質1200接收資料。儲存介質介面1160可透過多個通道CH0至通道CHn連接到儲存介質1200。
儲存介質介面1160可包括與圖1中的記憶體控制器MCT1和記憶體控制器MCT2等同的多個記憶體控制器MCT0至記憶體控制器MCTn。在實施例中,多個記憶體控制器MCT0至記憶體控制器MCTn可對應於多個通道CH0至通道CHn。儲存介質介面1160可回應於從處理器1110傳輸的存取命令來確定RAM 1120的狀態,並且根據確定結果將內部操作命令傳輸至目標非揮發性記憶體裝置,從而控制目標非揮發性記憶體裝置的內部操作。
儲存介質1200可包括多個非揮發性記憶體裝置NVM0至非揮發性記憶體裝置NVMn。一個或多個非揮發性記憶體裝置可以可操作地連接到每個通道CH0到通道CHn,並且經由各別的通道連接到多個記憶體控制器。多個非揮發性記憶體裝置NVM0至非揮發性記憶體裝置NVMn中的每一個可根據控制器1100的控制而執行寫入操作和讀取操作。
圖7是示出應用了根據本發明的實施例的資料儲存裝置的資料處理系統2000的方塊圖。
資料處理系統2000可包括電腦、筆記型電腦、上網本、智慧型電話、數位電視、數位照相機、導航儀等。資料處理系統2000可包括主處理器2100、主記憶體裝置2200、資料儲存裝置2300和輸入/輸出裝置2400。資料處理系統2000的內部單元可透過系統匯流排2500交換資料、控制信號等。
主處理器2100可控制資料處理系統2000的操作。主處理器2100可以是中央處理單元,例如微處理器。主處理器2100可執行主記憶體裝置2200上的諸如作業系統、應用、裝置驅動程式等的軟體。
主記憶體裝置2200可儲存待由主處理器2100使用的程式及程式資料。主記憶體裝置2200可臨時儲存待傳輸至資料儲存裝置2300和輸入/輸出裝置2400的資料。
資料儲存裝置2300可包括控制器2310和儲存介質2320。資料儲存裝置2300可以與圖1中的資料儲存裝置10相同或基本相同的方式被配置並操作。
輸入/輸出裝置2400可包括鍵盤、掃描器、觸控式螢幕、螢幕監視器、印表機、滑鼠等,這些輸入/輸出裝置能夠與使用者交換資料,諸如從使用者接收用於控制資料處理系統2000的命令或將處理結果提供給用戶。
根據實施例,資料處理系統2000可透過諸如區域網路(Local Area Network,LAN)、廣域網路(Wide Area Network,WAN)、無線網路等的網路2600與至少一個伺服器2700通信。資料處理系統2000可包括用於存取網路2600的網路介面(未示出)。
儘管上面已經描述了各種實施例,但是本發明所屬領域的技術人員將理解,所描述的實施例僅是本發明的幾個示例。因此,本文所描述的資料儲存裝置及其操作方法不應僅限於所描述的實施例。對於本發明所屬領域的技術人員來說將顯而易見的是,在不脫離如申請專利範圍所限定的本發明的精神和範圍的情況下,可以做出各種其它改變和修改。
10:資料儲存裝置
100:控制器
110:主機介面
120:處理器
130:緩衝器
140:緩衝器管理器
CH1,CH2:通道
MCT1,MCT2:記憶體控制器
NVM11,NVM12:非揮發性記憶體裝置
NVM21,NVM22:非揮發性記憶體裝置
Claims (20)
- 一種資料儲存裝置,其包括:至少一個非揮發性記憶體裝置,其可操作地連接到多個通道中的每一個;以及控制器,其包括處理器、第一緩衝器以及多個記憶體控制器,該等記憶體控制器分別連接到該等通道,其中該第一緩衝器包括對應於來自主機裝置的讀取請求的第一區域,其中不管該第一區域的狀態如何,該處理器都回應於該讀取請求將讀取命令傳輸至第一記憶體控制器,其中,該第一記憶體控制器回應於該讀取命令,控制第一非揮發性記憶體裝置對要儲存在該第一區域的目標資料的感測操作,並延遲傳輸操作,該傳輸操作為將感測資料從該第一非揮發性記憶體裝置的資料緩衝器傳輸至該第一緩衝器的該第一區域,當確定該第一區域用以回應於先前的讀取命令而儲存從該至少一非揮發性記憶體裝置讀取的資料時,該資料為無錯,以及其中,該第一非揮發性記憶體裝置包括記憶胞陣列以及該資料緩衝器,並以執行該感測操作來感測儲存在該記憶胞陣列的該目標資料,且將該感測資料儲存於該資料緩衝器,直到執行該傳輸操作為止。
- 如請求項1所述的資料儲存裝置,其中不管寫入資料是否完全從該主機裝置傳輸至該緩衝器,該處理器都回應於來自該主機裝置的寫入請求將寫入命令傳輸至該第一記憶體控制器。
- 如請求項2所述的資料儲存裝置,其中該第一記憶體控制器回應於該寫入命令確定該寫入資料是否完全傳輸至該緩衝器,並且當確定該寫入資料完全傳輸至該緩衝器時,控制該第一非揮發性記憶體裝置對該寫入資料的寫入操作。
- 如請求項1所述的資料儲存裝置,其中該第一記憶體控制器回應於該讀取命令確定該第一區域是否可用,並且當確定該第一區域可用時,控制該第一非揮發性記憶體裝置的讀取操作。
- 如請求項1所述的資料儲存裝置,其中該第一記憶體控制器回應於該讀取命令確定該第一區域是否可用,當確定該第一區域不可用時,確定儲存在該第一區域中的該資料是否無錯,並且當確定該資料無錯時,控制該第一非揮發性記憶體裝置對對應於該讀取命令的該目標資料的該感測操作。
- 如請求項5所述的資料儲存裝置,其中,在控制該感測操作之後,當確定該第一區域可用時,該第一記憶體控制器控制該第一非揮發性記憶體裝置對該感測資料的該傳輸操作。
- 如請求項6所述的資料儲存裝置,其中,在控制該感測操作之後,當確定該第一區域不可用時,該第一記憶體控制器繼續檢查 該第一區域是否可用,其中該第一非揮發性記憶體裝置持續保留該感測資料直到該第一區域為可用。
- 如請求項5所述的資料儲存裝置,其中該緩衝器進一步包括第二區域,並且其中當確定該資料不是無錯時,該第一記憶體控制器確定該第二區域是否可用,並且當確定該第二區域可用時,控制該第一非揮發性記憶體裝置的讀取操作。
- 如請求項5所述的資料儲存裝置,其中當確定該第一非揮發性記憶體裝置需要比該讀取命令更早地處理另一讀取命令時,該第一記憶體控制器中止該感測操作。
- 如請求項1所述的資料儲存裝置,其中不管該緩衝器的狀態如何,該處理器都回應於來自該主機裝置的第一存取請求及第二存取請求將第一存取命令及第二存取命令傳輸至該第一記憶體控制器,並且其中該第一記憶體控制器獨立於回應於該第一存取命令確定該緩衝器的狀態而透過回應於該第二存取命令確定該緩衝器的狀態來控制對應於該第一存取命令的非揮發性記憶體裝置的內部操作以及控制對應於該第二存取命令的非揮發性記憶體裝置的內部操作。
- 如請求項1所述的資料儲存裝置,其中不管該緩衝器的狀態如何,該處理器都回應於來自該主機裝置的第一存取請求將第一存取命令傳輸至該第一記憶體控制器 且回應於來自該主機裝置的第二存取請求將第二存取命令傳輸至第二記憶體控制器,其中該第一記憶體控制器回應於該第一存取命令確定該緩衝器的狀態來控制該第一非揮發性記憶體裝置的內部操作,以及其中該第二記憶體控制器獨立於該第一記憶體控制器而透過回應於該第二存取命令確定該緩衝器的狀態來控制第二非揮發性記憶體裝置的內部操作。
- 一種資料儲存裝置,其包括:非揮發性記憶體裝置,其連接到多個通道;以及控制器,其包括第一緩衝器和記憶體控制器,該緩衝器包括第一區域,該記憶體控制器分別連接到該等通道,其中該記憶體控制器中的第一記憶體控制器回應於第一讀取命令控制第一非揮發性記憶體裝置對要儲存在該第一區域的目標資料的感測操作,並延遲傳輸操作,該傳輸操作為將感測資料從該第一非揮發性記憶體裝置的資料緩衝器傳輸至該第一緩衝器的該第一區域,當確定該第一區域用以儲存回應於先前的讀取命令而從該非揮發性記憶體裝置讀取的資料時,該資料為無錯,其中該第一非揮發性記憶體裝置包括記憶胞陣列以及該資料緩衝器,並以執行該感測操作來感測儲存在該記憶胞陣列的該目標資料,且將該感測資料儲存於該資料緩衝器,直到執行該傳輸操作為止。
- 如請求項12所述的資料儲存裝置,其中當確定該第一區域可用時,該第一記憶體控制器控制讀取操作,並且將從該第一非揮發性記憶體裝置傳輸的資料儲存在該第一區域中。
- 如請求項12所述的資料儲存裝置,其中當確定該第一區域不可用時,該第一記憶體控制器確定儲存在該第一區域中的該資料是否無錯。
- 如請求項14所述的資料儲存裝置,其中,在控制該感測操作之後,當確定該第一區域可用時,該第一記憶體控制器控制該第一非揮發性記憶體裝置對該感測資料的該傳輸操作,並將從該第一非揮發性記憶體裝置傳輸的資料儲存在該第一區域中。
- 如請求項14所述的資料儲存裝置,其中該緩衝器進一步包括第二區域,並且其中該第一記憶體控制器當確定該資料不是無錯時確定該第二區域是否可用,當確定該第二區域可用時控制該讀取操作,並將從該第一非揮發性記憶體裝置傳輸的資料儲存在該第二區域中。
- 如請求項12所述的資料儲存裝置,其中該緩衝器進一步包括第二區域,並且其中該第一記憶體控制器透過獨立於確定該第一區域的狀態而回應於第二讀取命令確定該第二區域的狀態來控制對應於該第二讀取命令的非揮發性記憶體裝置的讀取操作。
- 如請求項17所述的資料儲存裝置,其中不管接收該第一讀取命令和該第二讀取命令的順序,該第一記憶體控制器處理該第一讀取命令和該第二讀取命令。
- 如請求項12所述的資料儲存裝置,其中該緩衝器進一步包括第二區域,並且其中該記憶體控制器中第二記憶體控制器獨立於該第一記憶體控制器而透過回應於第二讀取命令確定該第二區域的狀態來控制第二非揮發性記憶體裝置的讀取操作。
- 一種固態驅動器,其包括處理器、隨機存取記憶體以及儲存介質介面,該儲存介質介面包括經由通道可操作地連接到至少一個非揮發性記憶體裝置的至少一個記憶體控制器,其中該隨機存取記憶體包括對應來自主機裝置的讀取請求的第一區域,其中不管該第一區域的狀態如何,該處理器都回應於該讀取請求而將讀取命令傳輸至該至少一個記憶體控制器,並且其中該至少一個記憶體控制器回應於該讀取命令控制該至少一記憶體控制器對要儲存在該第一區域的目標資料的感測操作,並延遲傳輸操作,該傳輸操作為將感測資料從該至少一非揮發性記憶體裝置的資料緩衝器傳輸至該隨機存取記憶體的該第一區域,當確定該第一區域用以儲存回應於先前的讀取命令而從該至少一非揮發性記憶體裝置讀取的資料時,該資料為無錯, 其中該至少一非揮發性記憶體裝置包括記憶胞陣列以及該資料緩衝器,並以執行該感測操作來感測儲存在該記憶胞陣列的該目標資料,且將該感測資料儲存於該資料緩衝器,直到執行該傳輸操作為止。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??10-2016-0108419 | 2016-08-25 | ||
KR10-2016-0108419 | 2016-08-25 | ||
KR1020160108419A KR102558947B1 (ko) | 2016-08-25 | 2016-08-25 | 데이터 저장 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201807562A TW201807562A (zh) | 2018-03-01 |
TWI725102B true TWI725102B (zh) | 2021-04-21 |
Family
ID=61242541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105144175A TWI725102B (zh) | 2016-08-25 | 2016-12-30 | 資料儲存裝置及固態驅動器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10359943B2 (zh) |
KR (1) | KR102558947B1 (zh) |
CN (1) | CN107783729B (zh) |
TW (1) | TWI725102B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10425260B2 (en) * | 2017-08-07 | 2019-09-24 | Micron Technology, Inc. | Multi-level signaling in memory with wide system interface |
KR102605205B1 (ko) * | 2018-07-25 | 2023-11-24 | 에스케이하이닉스 주식회사 | 메모리 장치 및 프로세싱 시스템 |
US10901654B2 (en) * | 2018-10-30 | 2021-01-26 | International Business Machines Corporation | Buffer credit management in a data storage system |
KR102659832B1 (ko) * | 2019-03-05 | 2024-04-22 | 삼성전자주식회사 | 데이터 저장 장치 및 시스템 |
CN109992205B (zh) * | 2019-03-27 | 2020-06-02 | 无锡海斯凯尔医学技术有限公司 | 数据存储的装置、方法及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200917256A (en) * | 2007-10-04 | 2009-04-16 | Super Talent Electronics Inc | Using various flash memory cells to build USB data flash cards with multiple partitions and autorun function |
US20090172260A1 (en) * | 2007-12-27 | 2009-07-02 | Pliant Technology, Inc. | Flash memory controller and system including data pipelines incorporating multiple buffers |
US20110072196A1 (en) * | 2009-09-23 | 2011-03-24 | Lsi Corporation | Cache Synchronization for Solid State Disks |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435752A (en) * | 1973-11-07 | 1984-03-06 | Texas Instruments Incorporated | Allocation of rotating memory device storage locations |
US6928521B1 (en) * | 2000-08-01 | 2005-08-09 | International Business Machines Corporation | Method, system, and data structures for using metadata in updating data in a storage device |
US8386727B2 (en) * | 2001-12-31 | 2013-02-26 | Hewlett-Packard Development Company, L.P. | Supporting interleaved read/write operations from/to multiple target devices |
JP3933027B2 (ja) * | 2002-10-17 | 2007-06-20 | 日本電気株式会社 | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 |
KR100516694B1 (ko) * | 2003-04-02 | 2005-09-22 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
US8180931B2 (en) * | 2004-01-20 | 2012-05-15 | Super Talent Electronics, Inc. | USB-attached-SCSI flash-memory system with additional command, status, and control pipes to a smart-storage switch |
US8521955B2 (en) * | 2005-09-13 | 2013-08-27 | Lsi Corporation | Aligned data storage for network attached media streaming systems |
EP2487794A3 (en) * | 2006-08-22 | 2013-02-13 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
US8904098B2 (en) * | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
US8120990B2 (en) * | 2008-02-04 | 2012-02-21 | Mosaid Technologies Incorporated | Flexible memory operations in NAND flash devices |
KR101093620B1 (ko) | 2009-06-29 | 2011-12-15 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리를 실장한 메모리 장치 및 그의 리드 오퍼레이션 방법 |
JP4643729B2 (ja) * | 2009-07-09 | 2011-03-02 | 株式会社東芝 | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム |
KR20110072196A (ko) * | 2009-12-22 | 2011-06-29 | 대상 주식회사 | 육수의 제조방법 |
JP2011182369A (ja) * | 2010-03-04 | 2011-09-15 | Ricoh Co Ltd | データ転送装置、データ転送方法、データ転送プログラム及び記録媒体 |
EP3467832B1 (en) * | 2010-12-17 | 2020-05-20 | Everspin Technologies, Inc. | Memory controller and method for interleaving dram and mram accesses |
KR101772951B1 (ko) * | 2011-03-10 | 2017-09-13 | 삼성전자주식회사 | 불 휘발성 메모리 장치 및 그것의 읽기 방법 |
EP2761481A4 (en) * | 2011-09-30 | 2015-06-17 | Intel Corp | PRESENTATION OF DIRECT ACCESS STORAGE DEVICE IN LOGIC READER MODEL |
KR20130040486A (ko) * | 2011-10-14 | 2013-04-24 | 삼성전자주식회사 | 저장 장치 및 그것을 이용하는 사용자 장치 |
US8966327B1 (en) * | 2012-06-21 | 2015-02-24 | Inphi Corporation | Protocol checking logic circuit for memory system reliability |
KR101932920B1 (ko) * | 2012-09-14 | 2019-03-18 | 삼성전자 주식회사 | 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법 |
KR20140093855A (ko) * | 2013-01-18 | 2014-07-29 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 제어 방법 |
KR20140146275A (ko) * | 2013-06-14 | 2014-12-26 | 삼성전자주식회사 | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
US9459676B2 (en) * | 2013-10-28 | 2016-10-04 | International Business Machines Corporation | Data storage device control with power hazard mode |
KR102166762B1 (ko) * | 2013-12-26 | 2020-10-16 | 에스케이하이닉스 주식회사 | 메모리 및 이를 포함하는 메모리 시스템 |
CN104750425B (zh) * | 2013-12-30 | 2018-12-18 | 国民技术股份有限公司 | 一种存储系统及其非易失性存储器的控制方法 |
US9348518B2 (en) * | 2014-07-02 | 2016-05-24 | International Business Machines Corporation | Buffered automated flash controller connected directly to processor memory bus |
US20160070647A1 (en) * | 2014-09-09 | 2016-03-10 | Kabushiki Kaisha Toshiba | Memory system |
CN105653199B (zh) * | 2014-11-14 | 2018-12-14 | 群联电子股份有限公司 | 数据读取方法、存储器存储装置及存储器控制电路单元 |
-
2016
- 2016-08-25 KR KR1020160108419A patent/KR102558947B1/ko active IP Right Grant
- 2016-12-08 US US15/372,564 patent/US10359943B2/en active Active
- 2016-12-30 TW TW105144175A patent/TWI725102B/zh active
-
2017
- 2017-01-20 CN CN201710045983.4A patent/CN107783729B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200917256A (en) * | 2007-10-04 | 2009-04-16 | Super Talent Electronics Inc | Using various flash memory cells to build USB data flash cards with multiple partitions and autorun function |
US20090172260A1 (en) * | 2007-12-27 | 2009-07-02 | Pliant Technology, Inc. | Flash memory controller and system including data pipelines incorporating multiple buffers |
US20110072196A1 (en) * | 2009-09-23 | 2011-03-24 | Lsi Corporation | Cache Synchronization for Solid State Disks |
Also Published As
Publication number | Publication date |
---|---|
TW201807562A (zh) | 2018-03-01 |
US20180059935A1 (en) | 2018-03-01 |
KR102558947B1 (ko) | 2023-07-25 |
CN107783729B (zh) | 2021-06-18 |
KR20180023311A (ko) | 2018-03-07 |
US10359943B2 (en) | 2019-07-23 |
CN107783729A (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11854596B2 (en) | Data storage device and operating method thereof | |
TWI725102B (zh) | 資料儲存裝置及固態驅動器 | |
TWI703436B (zh) | 資料儲存裝置及其操作方法 | |
CN107122317B (zh) | 数据存储装置 | |
US10909031B2 (en) | Memory system and operating method thereof | |
US10268540B2 (en) | Data storage device and operating method thereof | |
US9898199B2 (en) | Data storage device and operating method thereof | |
US10838653B2 (en) | Electronic device and operating method thereof | |
KR102107723B1 (ko) | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 | |
US11294814B2 (en) | Memory system having a memory controller and a memory device having a page buffer | |
US11567685B2 (en) | Storage controller and storage device including the same | |
US10585822B2 (en) | Operation method of host system including storage device and operation method of storage device controller | |
KR20160025292A (ko) | 데이터 저장 장치, 그것을 포함하는 데이터 처리 시스템 및 그것의 동작 방법 | |
US10698819B2 (en) | Memory system and operating method thereof | |
US10795594B2 (en) | Storage device | |
US20190354483A1 (en) | Controller and memory system including the same | |
US20190278704A1 (en) | Memory system, operating method thereof and electronic apparatus | |
KR20170139730A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN109542336B (zh) | 存储设备及其操作方法 | |
US11961559B2 (en) | Storage device and operating method of storage device | |
US20240020252A1 (en) | Computing system and operating method thereof | |
US20240038317A1 (en) | Data coding device, memory controller, and storage device | |
US20230305743A1 (en) | Memory controller and memory system including the same | |
US10628322B2 (en) | Memory system and operating method thereof |