TW202314473A - 編碼裝置、儲存裝置和儲存裝置的操作方法 - Google Patents
編碼裝置、儲存裝置和儲存裝置的操作方法 Download PDFInfo
- Publication number
- TW202314473A TW202314473A TW111128357A TW111128357A TW202314473A TW 202314473 A TW202314473 A TW 202314473A TW 111128357 A TW111128357 A TW 111128357A TW 111128357 A TW111128357 A TW 111128357A TW 202314473 A TW202314473 A TW 202314473A
- Authority
- TW
- Taiwan
- Prior art keywords
- data blocks
- data
- compressed data
- compressed
- 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/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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0661—Format or protocol conversion arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6058—Saving memory space in the encoder or decoder
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本發明係關於編碼裝置、儲存裝置和儲存裝置的操作方法。一種儲存裝置可以包括:記憶體裝置,其用於從包括在從記憶體裝置的外部接收的資料中的位元中提取具有第一邏輯值的位元,產生複數個壓縮資料塊,所述複數個壓縮資料塊包括具有第一邏輯值的位元和表示具有第一邏輯值的位元在資料中的位置的位置資訊,並且回應於資料輸出命令而輸出複數個壓縮資料塊;以及記憶體控制器,其用於從記憶體裝置接收複數個壓縮資料塊,並且基於包括在複數個壓縮資料塊中的具有第一邏輯值的位元和位置資訊來恢復資料。
Description
本發明總體係關於一種電子裝置,更具體地,係關於一種儲存裝置和該儲存裝置的操作方法。
記憶體系統是在主機裝置(例如,電腦或智慧型手機)的控制下儲存資料的裝置。儲存裝置可以包括用於儲存資料的記憶體裝置和用於控制記憶體裝置的記憶體控制器。記憶體裝置分為揮發性記憶體裝置和非揮發性記憶體裝置。
揮發性記憶體裝置是僅當供電時儲存資料並且當供電中斷時儲存的資料消失的記憶體裝置。揮發性記憶體裝置可以包括靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)等。
非揮發性記憶體裝置是即使當供電中斷時資料也不會消失的記憶體裝置。非揮發性記憶體裝置可以包括唯讀記憶體(ROM)、可程式ROM (PROM)、可抹除可程式ROM(EPROM)、電可抹除ROM(EEROM)、快閃記憶體等。
從記憶體裝置讀取的資料可以透過輸入/輸出通道移動。當讀取資料的量大於透過輸入/輸出通道移動的資料的量時,會出現瓶頸現象。為了解决該瓶頸現象,有必要增加輸入/輸出通道的數量或者藉由壓縮讀取資料來減少資料的量。
相關申請案的交叉引用:
本申請請求於2021年7月28日提交至韓國智慧財產局的韓國申請第10-2021-0099126號以及於2022年5月27日提交至韓國智慧財產局的韓國申請第10-2022-0065679號之優先權,其整體透過引用併入本文。
根據本發明的一個實施例,提供了一種儲存裝置,該儲存裝置包括:記憶體裝置,其被配置為從包括在從記憶體裝置的外部接收的資料中的位元中提取具有第一邏輯值的位元,產生複數個壓縮資料塊,該複數個壓縮資料塊包括具有第一邏輯值的位元和表示具有第一邏輯值的位元在資料中的位置的位置資訊,並且回應於資料輸出命令而輸出複數個壓縮資料塊;以及記憶體控制器,其被配置為從記憶體裝置接收複數個壓縮資料塊,並且基於包括在複數個壓縮資料塊中的具有第一邏輯值的位元和位置資訊來恢復資料。
根據本發明的另一實施例,提供了一種操作儲存裝置的方法,該方法包括:從透過一個通道發送/接收資料的複數個記憶體區域接收複數個資料塊;將複數個資料中的每一個劃分為複數個部分資料塊;從包括在複數個部分資料塊中的每一個中的位元中提取具有第一邏輯值的位元,並且產生複數個壓縮資料塊,複數個壓縮資料塊包括具有第一邏輯值的位元和表示具有第一邏輯值的位元在部分資料中的位置的位置資訊;回應於資料輸出命令而輸出複數個壓縮資料塊;以及基於輸出複數個壓縮資料塊的順序、包括在複數個壓縮資料塊中的具有第一邏輯值的位元和位置資訊來恢復複數個資料塊。
本文公開的具體的結構描述和功能描述僅為示例性的,以用於描述根據本發明的構思的實施例之目的。根據本發明的構思的實施例可以以各種形式實現,並且不應被解釋為限於本文闡述的特定實施例。
實施例提供一種儲存裝置和該儲存裝置的操作方法,其能夠藉由產生表示讀取資料中包括的位元中的特定位元的值和位置的壓縮資料來減少輸入/輸出資料的量。
根據本發明的另一實施例,提供一種記憶體裝置,該記憶體裝置包括:資料接收器,其被配置為從透過一個通道發送/接收資料的複數個記憶體區域讀取複數個讀取資料;資料壓縮器,其被配置為從複數個讀取資料中的每一個產生複數個壓縮資料;以及資料輸出單元,其被配置為回應於資料輸出命令而透過通道同時輸出所述複數個壓縮資料。
根據本發明的又一實施例,提供一種編碼裝置,其被配置為從包括在從外部接收的資料中的位元中提取具有第一邏輯值的位元,並且產生複數個壓縮資料,該複數個壓縮資料包括具有第一邏輯值的位元和表示具有第一邏輯值的位元在資料中的位置的第一位置資訊。
圖1是顯示根據本發明的一個實施例的包括記憶體裝置的儲存裝置的圖。
參照圖1,儲存裝置50可以包括記憶體裝置100和用於控制記憶體裝置100的操作的記憶體控制器200。儲存裝置50可以是用於在主機的控制下儲存資料的裝置,主機例如為行動電話、智慧型手機、MP3播放器、筆記型電腦、桌上型電腦、遊戲機、電視、平板PC或車載資訊娛樂系統。
記憶體裝置100可以儲存資料。記憶體裝置100可以在記憶體控制器200的控制下操作。記憶體裝置100可以包括記憶體單元陣列(圖未示),記憶體單元陣列包括用於儲存資料的複數個記憶體單元。
記憶體單元陣列(圖未示)可以包括複數個記憶體區塊。每個記憶體區塊可以包括複數個記憶體單元。一個記憶體區塊可以包括複數個頁。在一個實施例中,頁可以是用於將資料儲存在記憶體裝置100中或者讀取儲存在記憶體裝置100中的資料的單位。記憶體區塊可以是用於抹除資料的單位。
記憶體裝置100可以從記憶體控制器200接收命令和位址,並且訪問記憶體單元陣列中由位址選擇的區域。記憶體裝置100可以對由位址選擇的區域執行由命令指示的操作。例如,記憶體裝置100可以執行寫入操作(程式操作)、讀取操作和抹除操作。在程式操作中,記憶體裝置100可以將資料程式在由位址選擇的區域中。在讀取操作中,記憶體裝置100可以從由位址選擇的區域中讀取資料。在抹除操作中,記憶體裝置100可以抹除儲存在由位址選擇的區域中的資料。
記憶體控制器200可以控制儲存裝置50的整體操作。記憶體控制器200可以從主機接收寫入資料和邏輯塊位址(LBA),並且將LBA轉換成物理塊位址(PBA),PBA表示記憶體裝置100中包括的要儲存資料的記憶體單元的位址。在本說明書中,LBA和“邏輯位址”可以以相同的含義使用。在本說明書中,PBA和“物理位址”可以以相同的含義使用。
記憶體控制器200可以回應於來自主機的請求而控制記憶體裝置100執行程式操作、讀取操作、抹除操作等。在程式操作中,記憶體控制器200可以向記憶體裝置100提供程式命令、PBA和資料。在讀取操作中,記憶體控制器200可以向記憶體裝置100提供讀取命令和PBA。在抹除操作中,記憶體控制器200可以向記憶體裝置100提供抹除命令和PBA。
在一個實施例中,記憶體控制器200可以控制至少兩個記憶體裝置100。記憶體控制器200可以根據交錯方案來控制記憶體裝置,以提高操作性能。交錯方案可以是用於將對至少兩個記憶體裝置100的操作控制為彼此重疊的方案。可替代地,交錯方案可以是至少兩個記憶體裝置100彼此平行操作的方案。
在本發明的一個實施例中,儲存裝置50可以包括用於輸出藉由壓縮讀取資料獲得的複數個壓縮資料的記憶體裝置100和用於基於複數個壓縮資料恢復讀取資料的記憶體控制器200。
記憶體裝置100可以從包括在從選定記憶體單元讀取的讀取資料中的位元中提取具有第一邏輯值的位元。記憶體裝置100可以產生複數個壓縮資料,該複數個壓縮資料包括表示具有第一邏輯值的位元在讀取資料中的位置的位置資訊。記憶體裝置100可以回應於資料輸出命令而輸出複數個壓縮資料。
記憶體控制器200可以從記憶體裝置100接收複數個壓縮資料。記憶體控制器200可以基於複數個壓縮資料中包括的位置資訊和具有第一邏輯值的位元來恢復讀取資料。
記憶體裝置100可以將讀取資料劃分為複數個部分資料(partial data)。記憶體裝置100可以在複數個部分資料中的每一個中產生複數個壓縮資料。記憶體裝置100可以根據複數個部分資料在讀取資料中的位置的順序,輸出在複數個部分資料中的每一個中產生的複數個壓縮資料。
記憶體裝置100可以基於複數個壓縮資料的大小來確定複數個部分資料中的每一個的大小。複數個壓縮資料中的每一個可以包括表示位置資訊的位元和表示第一邏輯值的位元。
記憶體裝置100可以基於預定壓縮比來確定針對複數個部分資料中的每一個分配的複數個壓縮資料的數量,並且產生對應於該數量的壓縮資料。例如,當壓縮比是1:4時,記憶體裝置100可以針對一個部分資料產生四個壓縮資料。即使當部分資料中存在額外的具有第一邏輯值的位元的位置時,記憶體裝置100也可以僅產生對應於所確定的數量的壓縮資料。本文針對參數使用的詞語“預定”(例如,預定壓縮比、預定位置和預定映射順序等)表示在將該參數用於程序或演算法之前確定參數的值。對於一些實施例,在程序或演算法開始之前確定參數的值。在其它實施例中,在程序或演算法期間但是在參數用於程序或演算法之前確定參數的值。
記憶體控制器200可以基於輸出複數個壓縮資料的順序確定藉由複數個壓縮資料恢復的複數個部分資料的順序。記憶體控制器200可以根據所確定的順序恢復讀取資料。也就是說,輸出壓縮資料的順序可以成為表示部分資料的位置的資訊。
記憶體控制器200可以按照基於壓縮資料中包括的位置資訊而確定的位置來恢復包括具有第一邏輯值的位元的複數個部分資料。記憶體控制器200可以根據接收複數個壓縮資料的順序來確定複數個部分資料的順序,並且藉由基於所確定的順序連接恢復的部分資料來恢復壓縮前的讀取資料。
在本發明的一個實施例中,記憶體裝置100可以包括複數個記憶體區域。記憶體區域可以是能夠獨立執行操作的單位。例如,記憶體裝置100可以包括2、4或8個記憶體區域。複數個記憶體區域可以同時獨立地執行程式操作、讀取操作和抹除操作。在本發明的一個實施例中,記憶體區域可以稱為平面。
記憶體裝置100可以包括:資料接收器181,其用於從透過一個通道發送/接收資料的複數個記憶體區域接收複數個資料;資料壓縮器182,其用於從複數個讀取資料中的每一個產生複數個壓縮資料;以及資料輸出單元183,其用於回應於資料輸出命令而透過所述通道同時輸出複數個壓縮資料。資料接收器181可以從外部接收複數個資料。在一個實施例中,從外部接收的資料可以從記憶體控制器200、編碼裝置170、資料壓縮器182、記憶體裝置100或儲存裝置50的外部接收。資料接收器181可以執行從複數個記憶體區域讀取複數個讀取資料的讀取操作。
資料輸出單元183可以透過資料線同時接收複數個壓縮資料。資料輸出單元183可以在一個輸出周期中根據與複數個記憶體區域相關聯的映射順序而輸出複數個壓縮資料。
資料壓縮器182可以執行在複數個讀取資料中的每一個中包括的位元中提取具有第一邏輯值的位元的取樣操作。資料壓縮器182可以產生複數個壓縮資料,該複數個壓縮資料包括具有第一邏輯值的位元和表示具有第一邏輯值的位元在複數個讀取資料中的每一個中的位置的位置資訊。
資料壓縮器182可以將複數個讀取資料劃分為複數個部分資料。資料壓縮器182可以在複數個部分資料中的每一個中產生複數個壓縮資料。資料壓縮器182可以根據複數個部分資料在複數個讀取資料中的每一個中的位置的順序,將複數個部分資料發送到資料輸出單元183。
資料壓縮器182可以將複數個部分資料中的每一個的大小確定為位元的數量,該位元的數量藉由公式M*(2^N)計算,以提供作為M*(2^N)個位元的複數個部分資料。複數個壓縮資料中的每一個可以包括表示位置資訊的N位元和表示第一邏輯值的M位元。在一個實施例中,N可以是自然數。在一個實施例中,M可以是自然數。
資料壓縮器182可以基於預定壓縮比確定從複數個部分資料產生的複數個壓縮資料的數量。資料壓縮器182可以產生對應於所確定的數量的壓縮資料。
在本發明的一個實施例中,資料接收器181可以基於預定壓縮比確定讀取的複數個記憶體區域的數量。透過通道輸出的壓縮資料的總量可以等於能夠透過通道輸出的資料的總量。
在本發明的另一實施例中,資料壓縮器182可以基於資料接收器181從中讀取了讀取資料的複數個記憶體區域的數量來確定資料壓縮比。例如,當記憶體區域的數量為4時,資料壓縮器182可以將壓縮比確定為1:4。資料壓縮器182可以基於1:4的壓縮比將一個讀取資料的大小壓縮到1/4,並且產生四個壓縮資料。資料輸出單元183可以根據預定映射順序而在一個輸出周期期間輸出產生的四個壓縮資料。
在本發明的一個實施例中,資料壓縮器182可以包括用於壓縮讀取資料的編碼裝置170。編碼裝置170可以在包括在從外部接收的讀取資料中的位元中提取具有第一邏輯值的位元。編碼裝置170可以產生複數個壓縮資料,該複數個壓縮資料包括具有第一邏輯值的位元和表示具有第一邏輯值的位元在讀取資料中的位置的第一位置資訊。在一個實施例中,從外部接收的讀取資料可以是從記憶體控制器200、編碼裝置170、資料壓縮器182、記憶體裝置100或儲存裝置50的外部接收的讀取資料。
編碼裝置170可以將讀取資料劃分為複數個部分資料。編碼裝置170可在複數個部分資料中的每一個中藉由使用兩個或更多個位元作為單位而執行取樣。編碼裝置170可以檢測包括具有第一邏輯值的位元的位元組(bit group)。編碼裝置170可以根據具有第一邏輯值的位元的數量來確定用於對部分資料進行取樣的位元單位(bit unit)。例如,當具有第一邏輯值的位元的數量大於編碼裝置170能夠產生的壓縮資料的數量時,可以增大用於取樣的位元單位。位元組中包括的位元的數量可以對應於位元單位的增大而增加。壓縮資料中包括的表示位置資訊的位元的數量可以對應於位元的數量的增加而減少。
編碼裝置170可以產生表示複數個部分資料中的每一個中的位元組的位置的第二位置資訊和包括位元組的取樣資料的複數個壓縮資料。編碼裝置170可以將複數個部分資料中的每一個的大小確定為M*(2^N)位元。第二位置資訊可以用N位元表示,並且取樣資料可以用M位元表示。在一個實施例中,N可以是自然數。在一個實施例中,M可以是自然數。
在本發明的一個實施例中,編碼裝置170可以從複數個記憶體區域接收複數個讀取資料。編碼裝置170可以基於複數個記憶體區域的數量來確定壓縮比。編碼裝置170可以基於所確定的壓縮比,從複數個讀取資料中的每一個產生複數個壓縮資料。
圖2是圖示根據本發明的一個實施例的產生壓縮資料的方法的圖。
參照圖2,可以對原始資料進行編碼,從而產生壓縮資料。為了便於描述,原始資料可以具有128位元,並且一個壓縮資料具有等於位元的數量的大小(例如,8位元的大小)。
可以以兩個位元為單位對原始資料進行取樣。壓縮資料的8位元中的高6位元可以是表示具有第一邏輯值的位元的位置的位置資訊。壓縮資料的低2位元可以是表示具有第一邏輯值的位元的取樣資料的資訊。
在本發明的一個實施例中,第一邏輯值可以是1。在圖2中,第九位元、第十一位元、第二十八位元、第一百一十四位元和第一百一十五位元具有第一邏輯值。因為以兩個位元為單位對原始資料進行取樣,所以可以提取第四位元組L4、第五位元組L5、第十四位元組L14和第五十七位元組L57。編碼裝置170可以基於第四位元組L4、第五位元組L5、第十四位元組L14和第五十七位元組L57產生壓縮資料。
例如,第四位元組L4在原始資料中的位置可以表示為000100,並且第四位元組L4的取樣資料可以表示為10。也就是說,表示第四位元組L4的壓縮資料可以是二進位數00010010。類似地,也可以對第五位元組L5、第十四位元組L14和第五十七位元組L57進行編碼,以將其表示為二進位數。
圖2所示的原始資料可以是藉由劃分讀取資料獲得的部分資料。部分資料的大小可以是M*(2^N)位元。位置資訊可以用N位元表示,並且取樣資料可以用M位元表示。在圖2中,作為一個實施例顯示了位址資訊位元數N為6、取樣資料的位元數M為2並且壓縮資料的位元數K為8的情况。然而,這僅僅是一個實施例,並且部分資料的大小、位置資訊的大小和取樣資料的大小可以變化。
圖3是顯示根據本發明的一個實施例的儲存裝置的操作方法的圖。
參照圖3,可以對原始資料進行編碼,從而可以產生複數個壓縮資料。壓縮資料310可以透過輸入/輸出通道IO輸出。記憶體控制器可以接收複數個壓縮資料310,並且基於複數個壓縮資料310恢復原始資料。
原始資料可以是從記憶體單元讀取的讀取資料。在本發明的一個實施例中,記憶體裝置可以從複數個記憶體區域讀取複數個讀取資料。原始資料可以是藉由劃分讀取資料而獲得的複數個部分資料中的一個。在圖3中,原始資料可以是藉由劃分從第零記憶體區域讀取的讀取資料而獲得的部分資料中的一個。
可以檢測部分資料中包括的位元中具有第一邏輯值的位元,並且可以產生複數個壓縮資料。在本發明的一個實施例中,壓縮資料可以用二進位數表示,或者用十六進位數表示。在本說明書中,資料不根據資料的表達方式而改變,並且為了便於表述,可以對資料的表達方式進行組合。例如,當壓縮資料用二進位數表示時,壓縮資料可以是00010010。當壓縮資料用十六進位數表示時,壓縮資料可以是12。這裡,數字後的h可以是表示十六進位數的符號。
產生的壓縮資料310可以回應於輸出命令(Data out CMD)透過輸入/輸出通道IO輸出。在輸入/輸出通道IO中預先確定輸出資料的順序。例如,產生的壓縮資料310可以被包括在平面0中。輸入/輸出通道IO可以輸出包括在平面0中的資料,並且然後輸出包括在平面1中的資料。包括在平面2和平面3中的資料也可以順序輸出。可以連續輸出從相同記憶體區域產生的壓縮資料。在本發明的另一個實施例中,可以在一個輸出周期期間輸出從不同記憶體區域產生的壓縮資料。
記憶體控制器可以基於輸出複數個壓縮資料的順序來確定藉由複數個壓縮資料恢復的複數個部分資料的順序。記憶體控制器可以根據所確定的順序恢復讀取資料。輸出複數個壓縮資料的順序可表示產生壓縮資料的記憶體區域和原始資料中的大致位置。
記憶體控制器可以基於壓縮資料中包括的位置資訊來確定具有第一邏輯值的位元在部分資料中的位置,並且基於壓縮資料中包括的取樣資料來確定位元組的資料值。例如,壓縮資料00010010可以表示第四位元組的資料值為01。壓縮資料的高6位元可以表示位置資訊,並且壓縮資料的低2位元可以表示取樣資料。
圖4是顯示根據本發明的一個實施例的發送壓縮資料的方法的圖。
參照圖4,顯示了透過輸入/輸出通道發送未壓縮資料的情况410和透過輸入/輸出通道發送壓縮資料的情况420。編碼裝置可以包括複數個編碼器。複數個編碼器可以分別對應於複數個記憶體區域。
例如,在發送未壓縮資料的情况410下,可以將第一資料至第四資料發送到輸入/輸出通道IO。第一資料至第四資料可以具有相同的大小。記憶體裝置中包括的輸入/輸出通道IO可以對接收的第一資料至第四資料執行處理操作。輸入/輸出通道IO可以處理總共四個資料塊(data chunk)。
為了藉由壓縮讀取資料來提高輸入/輸出通道IO的性能,對原始資料進行壓縮,並且藉由僅使用壓縮資料來進行資料輸出。當壓縮資料和偽資料(dummy data)一起輸出時,輸入/輸出性能可能不會提高。
在本發明的一個實施例中,編碼裝置170可以包括第一編碼器、第二編碼器、第三編碼器和第四編碼器。每個編碼器可以接收四個資料塊,並且將四個資料塊壓縮為一個壓縮資料塊。例如,第一編碼器可以藉由壓縮第一資料至第四資料來產生第一壓縮資料。第二編碼器可藉由壓縮第五資料至第八資料來產生第二壓縮資料。第三編碼器可藉由壓縮第九資料至第十二資料來產生第三壓縮資料。第四編碼器可藉由壓縮第十三資料至第十六資料來產生第四壓縮資料。
編碼裝置170可以產生第一壓縮資料至第四壓縮資料,並且將第一壓縮資料至第四壓縮資料發送到輸入/輸出通道IO。輸入/輸出通道IO可以對接收的第一壓縮資料至第四壓縮資料執行處理操作。輸入/輸出通道IO可以根據預定映射順序來輸出接收的第一壓縮資料至第四壓縮資料。
壓縮資料的大小可以等於發送到編碼器的資料的大小。至於由輸入/輸出通道IO處理的資料量,處理未壓縮資料的情况和處理壓縮資料的情况可以相同。在壓縮和發送資料時,發送的資料的量可以增加,同時輸入/輸出通道IO的資料處理量不變。
在圖4中,在複數個編碼器中產生的壓縮資料的量增加,使得輸入/輸出通道IO能夠輸出壓縮資料而非偽資料。例如,編碼裝置170可以包括四個編碼器,並且四個編碼器中的每一個可以產生以1:4壓縮的壓縮資料。因此,可以輸出的資料量是在未壓縮的情况下輸出讀取資料時的資料量的四倍。具體地,與在發送未壓縮資料的情况410中將第一資料至第四資料發送到輸入/輸出通道IO相比,在發送壓縮資料的情况420中可以將第一資料至第十六資料發送到輸入/輸出通道。
在本發明的一個實施例中,編碼裝置170可以包括分別對應於從中讀取了讀取資料的複數個記憶體區域的編碼器。可以根據記憶體裝置中包括的複數個記憶體區域的數量來確定最大壓縮比。例如,當記憶體裝置包括8個記憶體區域時,編碼裝置170可以包括8個編碼器,並且由編碼裝置170產生的壓縮資料的壓縮比可以是1:8。
圖5是顯示根據本發明的一個實施例的壓縮和發送從複數個記憶體區域讀取的複數個讀取資料的方法的圖。
參照圖5,從四個記憶體區域讀取的原始資料可以分別透過四個編碼器而產生為壓縮資料,並且壓縮資料可以被發送到管鎖存器(pipe latch)。在圖5中,箭頭的粗細(thickness)可以表示資料的量。例如,圖5中的箭頭越粗,則被指示為從一個元件發送到另一個元件的資料的量越大。從各個記憶體區域輸出的資料的量是能夠透過通道輸出的資料總量,並且可以表示為100%。
當假設編碼器的壓縮比為1:4時,從編碼器輸出的壓縮資料量可以表示為25%。因為從每個編碼器輸出25%的量,所以發送到管鎖存器的壓縮資料的總量可以變成100%。
根據本發明的實施例,可以增加輸出的原始資料的總量,而不改變能夠輸出到輸入/輸出通道的資料總量。在一個實施例中,由於輸出的原始資料的總量增加,因此能夠防止或減少輸入/輸出通道中瓶頸現象的發生。
在圖5中,可以從記憶體單元陣列110中包括的第一記憶體區域、第二記憶體區域、第三記憶體區域和第四記憶體區域分別輸出讀取資料。頁緩衝器組130可以包括第一頁緩衝器、第二頁緩衝器、第三頁緩衝器和第四頁緩衝器。第一頁緩衝器可以將從第一記憶體區域輸出的資料發送到第一編碼器。編碼裝置170可以包括第一編碼器、第二編碼器、第三編碼器和第四編碼器。第一編碼器可以將接收的讀取資料劃分為部分資料,並且從部分資料中提取具有第一邏輯值的位元,從而產生複數個壓縮資料。
類似地,從其它記憶體區域輸出的讀取資料可以分別透過頁緩衝器發送到編碼器,並且每個編碼器可以產生複數個壓縮資料。
複數個產生的壓縮資料可以儲存在管鎖存器中,並且透過資料輸出單元輸出。
在本發明的一個實施例中,從編碼裝置170輸出的壓縮資料可以根據預定映射順序而輸出。例如,壓縮資料可以按照從第一編碼器到第四編碼器的順序而輸出。管鎖存器可以按照接收順序儲存壓縮資料。儲存在管鎖存器中的壓縮資料自身可以表示關於原始資料的位置的資訊。
在本發明的另一實施例中,可以發送在第一編碼器中產生的壓縮資料的一部分和在第二編碼器至第四編碼器中產生的壓縮資料的一部分,並且可以將其它壓縮資料發送到管鎖存器。在發送/接收資料之前,可以預先傳輸關於輸出壓縮資料的映射順序的資訊。
從編碼器輸出的壓縮資料的順序可以根據記憶體區域的位置而變化。儲存在管鎖存器中的壓縮資料的位置可以表示關於原始資料的物理位址的資訊。在編碼器中產生的壓縮資料中的每個可以包括關於壓縮資料的編碼器的資訊或關於儲存原始資料的記憶體區域的資訊。
圖6是顯示根據本發明的一個實施例的混合和發送編碼資料的方法的圖。
參照圖6,藉由對原始資料進行編碼而獲得的壓縮資料可以在與其它壓縮資料混合(Random Dout)的同時進行發送。產生壓縮資料的程序可以與參照圖2和圖3描述的程序相同。
在本發明的一個實施例中,可以劃分壓縮資料以透過輸入/輸出通道IO對其進行發送。例如,表示為二進位數00010010的第一壓縮資料610可以表示為十六進位數12。可以將第一壓縮資料610劃分為待發送的高位元和低位元620。可以預先確定發送第一壓縮資料的高位元和低位元620的位置。例如,可以在第一輸出組第一(1st)630的第零位置P01輸出第一壓縮資料610的低位元。以這種方式,可以在第二輸出組第二(2nd)的第零位置P01輸出第一壓縮資料610的高位元。類似地,壓縮資料的高位元和低位元可以包括在不同的輸出組中。如本文所用,波浪線“~”表示組件的範圍。例如,“第4~第8”表示圖6所示的第四輸出組、第五輸出組、第六輸出組、第七輸出組和第八輸出組。
儘管在圖6中僅顯示了第一壓縮資料610,但是像第一壓縮資料610一樣,第二壓縮資料640、第三壓縮資料650和第四壓縮資料660可以被包括在輸出組中。例如,可以在第一輸出組第一630的第一位置P23輸出第二壓縮資料640的低位元,並且可以在第二輸出組第二的第一位置P23輸出第二壓縮資料640的高位元。第三壓縮資料650和第四壓縮資料660也可以被劃分為高位元和低位元以被包括在輸出組中。具體地,可以在第三輸出組第三的第零位置P01和第一位置P23輸出第三壓縮資料650的低位元和第四壓縮資料660的低位元,並且可以在第四輸出組第四的第零位置P01和第一位置P23輸出第三壓縮資料650的高位元和第四壓縮資料660的高位元。
根據預定映射順序,輸入/輸出通道IO的輸出組可以包括對應於複數個記憶體區域的壓縮資料的一部分。例如,第一輸出組第一630可以在第零位置P01和第一位置P23處包括對應於第零記憶體區域的壓縮資料的一部分,並且在第二位置和第三位置處包括對應於第一記憶體區域的壓縮資料的一部分。第一輸出組第一630可以在第四位置和第五位置處包括對應於第二記憶體區域的壓縮資料的一部分,並且在第六位置和第七位置處包括對應於第三記憶體區域的壓縮資料的一部分。類似地,其它輸出組可以在預定位置處包括對應於第零記憶體區域、第一記憶體區域、第二記憶體區域和第三記憶體區域的壓縮資料的部分。
圖6所示的混合編碼資料的方法僅僅是一個實施例,可以藉由使用各種方法來混合編碼資料。混合編碼資料的方法可以根據記憶體區域的數量、資料壓縮比和壓縮資料的數量而變化。
圖7是顯示根據本發明的一個實施例的儲存裝置的操作方法的流程圖。
參照圖7,儲存裝置可以產生對應於從複數個記憶體區域讀取的每個讀取資料的複數個壓縮資料,並且接收回應於資料輸出命令而輸出的複數個壓縮資料,從而將複數個壓縮資料恢復為原始資料。在一個實施例中,由於壓縮資料透過輸入/輸出通道進行發送,因此能夠提高發送效率,並且能夠防止或減少輸入/輸出通道的瓶頸現象的發生。
在步驟S710中,資料接收器可以從透過一個通道發送/接收資料的複數個記憶體區域讀取複數個讀取資料。可以基於記憶體裝置中包括的複數個記憶體區域的數量確定最大壓縮比。
在步驟S720中,資料壓縮器可以將複數個讀取資料中的每一個劃分為複數個部分資料。資料壓縮器可以基於要產生的壓縮資料的大小確定部分資料的大小。在本發明的另一實施例中,資料壓縮器可以根據複數個記憶體區域提供不同大小的部分資料。
在步驟S730中,資料壓縮器可以基於部分資料產生複數個壓縮資料。資料壓縮器可以從包括在複數個部分資料中的每一個中的位元中提取具有第一邏輯值的位元。資料壓縮器可以產生複數個壓縮資料,該複數個壓縮資料包括具有第一邏輯值的位元和表示具有第一邏輯值的位元的位置的位置資訊。
在步驟S740中,資料輸出單元可回應於資料輸出命令而輸出複數個壓縮資料。可以從外部主機接收資料輸出命令。資料輸出單元可以透過一個通道同時輸出複數個壓縮資料。在本發明的一個實施例中,資料輸出單元可以在一個輸出周期中根據與複數個記憶體區域相關聯的映射順序而輸出複數個壓縮資料。本文使用的關於程序的詞語“同時”表示程序在重疊的時間區間內發生。例如,如果第一程序在第一時間區間上發生並且第二程序在第二時間區間上同時發生,則第一時間區間和第二時間區間至少部分地相互重疊,以使得存在第一程序和第二程序都發生的時間。
在步驟S750中,記憶體控制器可以基於複數個接收的壓縮資料恢復複數個讀取資料。記憶體控制器可以基於輸出複數個壓縮資料的順序、複數個壓縮資料中包括的具有第一邏輯值的位元和位置資訊來恢復原始資料。
記憶體控制器可以基於預定映射順序對壓縮資料進行排序。記憶體控制器可以基於輸出複數個壓縮資料的順序確定藉由複數個壓縮資料恢復的複數個部分資料的順序。記憶體控制器可以根據所確定的順序連接所恢復的部分資料,從而恢復讀取資料。
儲存裝置的操作方法可以對應於圖1至圖6所示的描述。
圖8是顯示圖1所示的記憶體裝置的圖。
參照圖8,記憶體裝置100可以包括記憶體單元陣列110、位址解碼器120、頁緩衝器組130、控制邏輯140、電壓產生器150、電流感測電路160和編碼裝置170。位址解碼器120、頁緩衝器組130、電壓產生器150和電流感測電路160可以被稱為由控制邏輯140控制的周邊電路。控制邏輯140可以實現為硬體、軟體或硬體和軟體的組合。例如,控制邏輯140可以是根據演算法操作的控制邏輯電路和/或執行控制邏輯代碼的處理器。
記憶體單元陣列110可以包括複數個記憶體區塊BLK1至BLKz。複數個記憶體區塊BLK1至BLKz可以透過字元線WL連接到位址解碼器120。複數個記憶體區塊BLK1至BLKz可以透過位元線BL1至BLm連接到頁緩衝器組130。複數個記憶體區塊BLK1至BLKz中的每一個可以包括複數個記憶體單元。在一個實施例中,複數個記憶體單元可以是非揮發性記憶體單元,並且由具有垂直通道結構的非揮發性記憶體單元構成。記憶體單元陣列110可以被配置為具有二維結構的記憶體單元陣列。在一些實施例中,記憶體單元陣列110可以被配置為具有三維結構的記憶體單元陣列。同時,記憶體單元陣列110中包括的複數個記憶體單元中的每一個可以儲存至少1位元資料。在一個實施例中,記憶體單元陣列110中包括的複數個記憶體單元中的每一個可以是儲存1位元資料的單層單元(SLC)。在另一實施例中,記憶體單元陣列110中包括的複數個記憶體單元中的每一個可以是儲存2位元資料的多層單元(MLC)。在又一實施例中,記憶體單元陣列110中包括的複數個記憶體單元中的每一個可以是儲存3位元資料的三層單元(TLC)。在又一實施例中,記憶體單元陣列110中包括的複數個記憶體單元中的每一個可以是儲存4位元資料的四層單元(QLC)。在一些實施例中,記憶體單元陣列110可以包括各自儲存5位元或更多位元資料的複數個記憶體單元。
位址解碼器120可以透過字元線WL連接到記憶體單元陣列110。位址解碼器120可以在控制邏輯140的控制下工作。位址解碼器120可以透過記憶體裝置100中的輸入/輸出通道接收位址。
位址解碼器120可以對接收到的位址中的塊位址進行解碼。位址解碼器120可以根據解碼的塊位址選擇至少一個記憶體區塊。此外,在讀取操作期間的讀取電壓施加操作中,位址解碼器120可以將由電壓產生器150產生的讀取電壓Vread施加到選定記憶體區塊的選定字元線,並且將通過電壓Vpass施加到其它未選字元線。此外,在程式驗證操作中,位址解碼器120可以將由電壓產生器150產生的驗證電壓施加到選定記憶體區塊的選定字元線,並且將通過電壓Vpass施加到其它未選字元線。
位址解碼器120可以對接收到的位址中的列位址進行解碼。位址解碼器120可以將解碼的列位址發送到頁緩衝器組130。
可以以頁為單位執行記憶體裝置100的讀取操作和程式操作。在對讀取操作和程式操作的請求中接收的位址可以包括塊位址、行位址和列位址。位址解碼器120可以根據塊位址和行位址選擇一個記憶體區塊和一條字元線。列位址可以由位址解碼器120解碼,以提供給頁緩衝器組130。在本說明書中,可以將連接到一條字元線的記憶體單元指定為“物理頁”
頁緩衝器組130可以包括複數個頁緩衝器PB1至PBm。頁緩衝器組130可以在讀取操作中作為“讀取電路”進行操作,並且在寫入操作中作為“寫入電路”進行操作。複數個頁緩衝器PB1至PBm可以透過位元線BL1至BLm連接到記憶體單元陣列110。為了在讀取操作和程式驗證操作中感測記憶體單元的閾值電壓,複數個頁緩衝器PB1至PBm可以在向連接到記憶體單元的位元線連續提供感測電流的同時,透過感測節點感測根據對應記憶體單元的程式狀態的流動的電流量的變化,並且鎖存電流量的變化作為感測資料。頁緩衝器組130回應於從控制邏輯140輸出的頁緩衝器控制訊號而進行操作。在本說明書中,寫入電路的寫入操作可以用作與對選定記憶體單元的程式操作相同的含義。
在讀取操作中,頁緩衝器組130可以藉由感測記憶體單元的資料來臨時儲存讀取資料,並且然後將資料DATA輸出到記憶體裝置100的編碼裝置170。
編碼裝置170可以在透過輸入/輸出通道輸出資料之前壓縮讀取資料。壓縮的讀取資料可以透過輸入/輸出通道輸出。
控制邏輯140可以連接到位址解碼器120、頁緩衝器組130、電壓產生器150和電流感測電路160。控制邏輯140可以透過記憶體裝置100的輸入/輸出通道接收命令CMD和控制訊號CTRL。控制邏輯140可以回應於控制訊號CTRL而控制記憶體裝置100的整體操作。此外,控制邏輯140可以輸出用於調整複數個頁緩衝器PB1至PBm的感測節點預充電電位位準的控制訊號。控制邏輯140可以控制頁緩衝器組130,以執行記憶體單元陣列110的讀取操作。
同時,控制邏輯140可以回應於從電流感測電路160接收的通過訊號PASS或失敗訊號FAIL而確定對特定目標程式狀態的驗證操作是通過還是失敗。
電壓產生器150回應於從控制邏輯140輸出的控制訊號而在讀取操作中產生讀取電壓Vread和通過電壓Vpass。為了產生具有各種電壓位準的複數個電壓,電壓產生器150可以包括用於接收內部電源電壓的複數個泵電容器。電壓產生器150可以藉由在控制邏輯140的控制下選擇性地啟動複數個泵電容器來產生複數個電壓。
感測電路160可以在驗證操作中回應於從控制邏輯140接收的允許位元VRY_BIT<#>而產生參考電流和參考電壓。藉由將產生的參考電壓與從頁緩衝器組130中包括的頁緩衝器PB1至PBm接收的感測電壓VPB進行比較,或者藉由將產生的參考電流與從頁緩衝器組130中包括的頁緩衝器PB1至PBm接收的感測電流進行比較,感測電路160可以輸出通過訊號PASS或失敗訊號FAIL。
位址解碼器120、頁緩衝器組130、電壓產生器150和電流感測電路160可以用作用於對記憶體單元陣列110執行讀取操作、寫入操作和抹除操作的“周邊電路”。周邊電路可以在控制邏輯140的控制下對記憶體單元陣列110執行讀取操作、寫入操作和抹除操作。
圖9是例如顯示根據本發明的一個實施例的包括固態驅動器的資料處理系統的圖。
參照圖9,資料處理系統2000包括主機裝置2100和SSD 2200。
SSD 2200可以包括控制器2210、緩衝記憶體裝置 2220、非揮發性記憶體2231至223n、電源2240、訊號連接器2250和電源連接器2260。
控制器2210可以控制SSD 2200的整體操作。
緩衝記憶體裝置2220可以臨時儲存要儲存在非揮發性記憶體2231至223n中的資料。此外,緩衝記憶體裝置2220可以臨時儲存從非揮發性記憶體2231至223n讀取的資料。在控制器2210的控制下,可以將臨時儲存在緩衝記憶體裝置2220中的資料發送到主機裝置2100或非揮發性記憶體2231至223n。
非揮發性記憶體2231至223n可以用作SSD 2200的儲存媒介。非揮發性記憶體2231至223n中的每一個可以透過複數個通道CH1至CHn連接到控制器2210。一個或更多個非揮發性記憶體可以連接到一個通道。連接到一個通道的非揮發性記憶體可以連接到相同的訊號匯流排和相同的資料匯流排。
在本發明的一個實施例中,非揮發性記憶體2231至223n可以產生藉由對讀取資料進行編碼和壓縮而獲得的複數個壓縮資料。複數個產生的壓縮資料可以儲存在緩衝記憶體裝置2220中以供輸出。
電源2240可以向SSD 2200的內部提供透過電源連接器2260輸入的電力PWR。電源2240可以包括輔助電源2241。當突然斷電時,輔助電源2241可以供電使得SSD 2200能夠正常終止。輔助電源2241可以包括能夠充入電力PWR的大容量電容器。
控制器2210可以透過訊號連接器2250與主機裝置2100交換訊號SGL。訊號SGL可以包括命令、位址、資料等。根據主機裝置2100和SSD 2200之間的介面方法,訊號連接器2250可以被配置為各種類型的連接器。
圖10是例如顯示根據本發明的一個實施例的包括資料儲存裝置的資料處理系統的圖。
參照圖10,資料處理系統3000可以包括主機裝置3100和資料儲存裝置3200。
主機裝置3100可以配置為諸如印刷電路板之板的形式。儘管圖中未顯示,但是主機裝置3100可以包括用於執行主機裝置之功能的內部功能塊。
主機裝置3100可以包括連接端子3110(例如,插座、插槽或連接器)。資料儲存裝置3200可以安裝在連接端子3110上或連接端子3110中。
資料儲存裝置3200可以配置為諸如印刷電路板之板的形式。資料儲存裝置3200可以稱為儲存模組或儲存卡。資料儲存裝置3200可以包括控制器3210、緩衝記憶體裝置3220、非揮發性記憶體3231和3232、電源管理積體電路(PMIC)3240和連接端子3250。
在本發明的一個實施例中,資料儲存裝置3200可以藉由劃分從非揮發性記憶體3231和3232讀取的資料來產生部分資料,並且產生複數個壓縮資料,該複數個壓縮資料包括取樣資料和表示部分資料中包括位元中的具有第一邏輯值的位元的位置資訊,並且資料儲存裝置3200然後可以將複數個產生的壓縮資料儲存在緩衝記憶體裝置3220中。在一個實施例中,發送壓縮資料,以使得能夠防止或減少在資料儲存裝置3200中出現的資料瓶頸現象。
控制器3210可以控制資料儲存裝置3200的整體操作。控制器3210可以與圖15所示的控制器2210相同地配置。
緩衝記憶體裝置3220可以臨時儲存要儲存在非揮發性記憶體3231和3232中的資料。緩衝記憶體裝置3220可以臨時儲存從非揮發性記憶體3231和3232讀取的資料。在控制器3210的控制下,可以將臨時儲存在緩衝記憶體裝置3220中的資料發送到主機裝置3100或非揮發性記憶體3231和3232。
非揮發性記憶體3231和3232可以用作資料儲存裝置3200的儲存媒介。
PMIC 3240可以向資料儲存裝置3200的內部提供透過連接端子3250輸入的電力。PMIC 3240可以在控制器3210的控制下管理資料儲存裝置3200的電力。
連接端子3250可以連接到主機裝置3100的連接端子3110。透過連接端子3250,電力和諸如命令、位址和資料的訊號可以在主機裝置3100和資料儲存裝置3200之間傳輸。根據主機裝置3100和資料儲存裝置3200之間的介面方法,連接端子3250可以被配置成各種形式。連接端子3250可以設置在資料儲存裝置3200的任何一側。
根據本發明,在一個實施例中,可以提供一種儲存裝置及其操作方法,其中藉由壓縮讀取資料來減少輸入/輸出資料的量,從而能夠在短時間段內發送更大量的資料。
雖然已經參照本發明的某些實施例顯示和描述了本發明,但是本領域技術人員應當理解,在不脫離由所附申請專利範圍及其均等物限定的本發明的精神和範圍的情况下,可以在形式和細節上在其中進行各種改變。因此,本發明的範圍不應限於上述實施例,而應不僅由所附申請專利範圍確定,而且由其均等物確定。
在上述實施例中,可以選擇性地執行所有步驟或者可以省略部分步驟。在每個實施例中,步驟不一定按照所描述的順序來執行,而是可以重新排列。本說明書和圖式中公開的實施例僅是用於幫助理解本發明的示例,並且本發明不限於此。也就是說,對於本領域技術人員來說,顯然可以基於本發明的技術範圍進行各種修改。
同時,已經在圖式和說明書中描述了本發明的實施例。儘管這裡使用了特定的術語,但是這些術語僅用於解釋本發明的實施例。因此,本發明不限於上述實施例,並且在本發明的精神和範圍內可以進行許多變型。對於本領域技術人員來說,顯然除了本文公開的實施例之外,還可以基於本發明的技術範圍進行各種修改。
50:儲存裝置
100:記憶體裝置
110:記憶體單元陣列
120:位址解碼器
130:頁緩衝器組
140:控制邏輯
150:電壓產生器
160:電流感測電路
170:編碼裝置
181:資料接收器
182:資料壓縮器
183:資料輸出單元
200:記憶體控制器
310:壓縮資料
410:發送未壓縮資料的情况
420:發送壓縮資料的情况
610:第一壓縮資料
620:高位元和低位元
630:第一輸出組第一
640:第二壓縮資料
650:第三壓縮資料
660:第四壓縮資料
2000:資料處理系統
2100:主機裝置
2200:SSD
2210:控制器
2220:緩衝記憶體裝置
2231~223n:非揮發性記憶體
2240:電源
2241:輔助電源
2250:訊號連接器
2260:電源連接器
3000:資料處理系統
3100:主機裝置
3110:連接端子
3200:資料儲存裝置
3210:控制器
3220:緩衝記憶體裝置
3231:非揮發性記憶體
3232:非揮發性記憶體
3240:電源管理積體電路
3250:連接端子
BL1~BLm:位元線
BLK1~BLKz:記憶體區塊
CH1~CHn:通道
CMD:命令
CTRL:控制訊號
DATA:資料
L0~L63:位元組
P01:第零位置
P23:第一位置
PASS/FAIL:通過訊號/失敗訊號
PB1~PBm:頁緩衝器
PWR:電力
S710~S750:步驟
SGL:訊號
Vpass:通過電壓
Vread:讀取電壓
VPB:感測電壓
VRY_BIT<#>:允許位元
WL:字元線
現在將在下文中參照圖式更全面地描述實施例的示例。然而,實施例可以以不同的形式實施,並且不應被解釋為限於本文闡述的實施例。
在圖式中,為了圖示清楚,可能放大尺寸。應當理解的是,當一個元件被稱為位於兩個元件“之間”時,該一個元件可以是該兩個元件之間的唯一元件,或者也可以存在一個或更多個中間元件。相同的元件符號始終表示相同的元件。
圖1是顯示根據本發明的一個實施例的包括記憶體裝置的儲存裝置的圖。
圖2是圖示根據本發明的一個實施例的產生壓縮資料的方法的圖。
圖3是顯示根據本發明的一個實施例的儲存裝置的操作方法的圖。
圖4是顯示根據本發明的一個實施例的發送壓縮資料的方法的圖。
圖5是顯示根據本發明的一個實施例的壓縮和發送從複數個記憶體區域讀取的複數個讀取資料的方法的圖。
圖6是顯示根據本發明的一個實施例的混合和發送編碼資料的方法的圖。
圖7是顯示根據本發明的一個實施例的儲存裝置的操作方法的流程圖。
圖8是顯示圖1所示的記憶體裝置的圖。
圖9是顯示根據本發明的一個實施例的包括固態驅動器的資料處理系統的圖。
圖10是顯示根據本發明的一個實施例的包括資料儲存裝置的資料處理系統的圖。
50:儲存裝置
100:記憶體裝置
170:編碼裝置
181:資料接收器
182:資料壓縮器
183:資料輸出單元
200:記憶體控制器
Claims (17)
- 一種儲存裝置,所述儲存裝置包括: 記憶體裝置,所述記憶體裝置從包括在從所述記憶體裝置外部接收的資料中的位元中提取具有第一邏輯值的位元,產生複數個壓縮資料塊,所述複數個壓縮資料塊包括所述具有第一邏輯值的位元和表示所述具有第一邏輯值的位元在所述資料中的位置的位置資訊,並且所述記憶體裝置回應於資料輸出命令而輸出所述複數個壓縮資料塊;以及 記憶體控制器,所述記憶體控制器從所述記憶體裝置接收所述複數個壓縮資料塊,並且基於包括在所述複數個壓縮資料塊中的所述具有第一邏輯值的位元和所述位置資訊來恢復所述資料。
- 如請求項1所述的儲存裝置,其中,所述資料是從選定記憶體單元讀取的讀取資料,並且: 其中,所述記憶體裝置將所述讀取資料劃分為複數個部分資料塊,在所述複數個部分資料塊中的每一個中產生所述複數個壓縮資料塊,並且根據所述複數個部分資料塊在所述讀取資料中的位置的順序來輸出在所述複數個部分資料塊中的每一個中產生的所述複數個壓縮資料塊。
- 如請求項2所述的儲存裝置,其中,所述記憶體裝置基於所述複數個壓縮資料塊的大小來確定所述複數個部分資料塊中的每一個的大小,並且 其中,所述複數個壓縮資料塊中的每一個包括表示所述位置資訊的位元和表示所述第一邏輯值的位元。
- 如請求項2所述的儲存裝置,其中,所述記憶體裝置基於預定壓縮比來確定針對所述複數個部分資料塊中的每一個分配的所述複數個壓縮資料塊的數量,並且產生對應於所述數量的壓縮資料塊。
- 如請求項2所述的儲存裝置,其中,所述記憶體控制器基於輸出所述複數個壓縮資料塊的順序來確定藉由所述複數個壓縮資料塊恢復的所述複數個部分資料塊的順序,並且根據所確定的順序來恢復所述讀取資料。
- 如請求項5所述的儲存裝置,其中,所述記憶體控制器在基於所述位置資訊確定的位置處恢復包括所述具有第一邏輯值的位元的所述複數個部分資料塊,並且 其中,藉由根據所確定的順序布置恢復的所述複數個部分資料塊來恢復所述讀取資料。
- 一種編碼裝置,所述編碼裝置從包括在從外部接收的資料中的位元中提取具有第一邏輯值的位元,並且產生複數個壓縮資料塊,所述複數個壓縮資料塊包括所述具有第一邏輯值的位元和表示所述具有第一邏輯值的位元在所述資料中的位置的第一位置資訊。
- 如請求項7所述的編碼裝置,其中,所述資料是從儲存裝置讀取的讀取資料,並且 其中,所述編碼裝置將所述讀取資料劃分為複數個部分資料塊,以至少兩個位元為單位對所述複數個部分資料塊中的每一個進行取樣,並且檢測包括所述具有第一邏輯值的位元的位元組。
- 如請求項8所述的編碼裝置,其中,所述編碼裝置產生所述複數個壓縮資料塊,所述複數個壓縮資料塊包括表示所述位元組在所述複數個部分資料塊中的每一個中的位置的第二位置資訊和所述位元組的取樣資料。
- 如請求項9所述的編碼裝置,其中,所述編碼裝置將所述複數個部分資料塊中的每一個的大小確定為M*(2^N)位元, 其中,所述第二位置資訊用N位元表示,並且 其中,所述取樣資料用M位元表示。
- 如請求項7所述的編碼裝置,其中,所述編碼裝置從複數個記憶體區域接收複數個讀取資料塊,基於所述複數個記憶體區域的數量來確定壓縮比,並且基於所述壓縮比從所述複數個讀取資料塊中的每一個產生所述複數個壓縮資料塊。
- 如請求項11所述的編碼裝置,所述編碼裝置包括分別對應於所述複數個記憶體區域的複數個編碼器, 其中,所述編碼器將所述複數個壓縮資料塊同時發送到記憶體裝置的資料輸出單元。
- 一種操作儲存裝置的方法,所述方法包括以下步驟: 從透過一個通道發送和/或接收資料的複數個記憶體區域接收複數個資料塊; 將所述複數個資料塊中的每一個劃分為複數個部分資料塊; 從包括在所述複數個部分資料塊中的每一個中的位元中提取具有第一邏輯值的位元,並且產生複數個壓縮資料塊,所述複數個壓縮資料塊包括所述具有第一邏輯值的位元和表示所述具有第一邏輯值的位元在所述部分資料塊中的位置的位置資訊; 回應於資料輸出命令而輸出所述複數個壓縮資料塊;以及 基於輸出所述複數個壓縮資料塊的順序以及包括在所述複數個壓縮資料塊中的所述具有第一邏輯值的位元和所述位置資訊來恢復所述複數個資料塊。
- 如請求項13所述的方法,其中,輸出所述複數個壓縮資料塊的步驟包括以下步驟:根據所述複數個部分資料塊在所述複數個資料塊中的每一個中的位置的順序而輸出所述複數個壓縮資料塊。
- 如請求項14所述的方法,其中,將所述複數個資料塊中的每一個劃分為所述複數個部分資料塊的步驟還包括以下步驟:基於所述複數個壓縮資料塊的大小來確定所述複數個部分資料塊中的每一個的大小,並且 其中,所述複數個壓縮資料塊中的每一個包括表示所述位置資訊的位元和表示所述第一邏輯值的位元。
- 如請求項14所述的方法,其中,產生所述複數個壓縮資料塊的步驟包括以下步驟:基於預定壓縮比來確定針對所述複數個部分資料塊中的每一個分配的所述複數個壓縮資料塊的數量。
- 如請求項14所述的方法,其中,恢復所述複數個資料塊的步驟包括以下步驟: 在基於所述位置資訊確定的位置處恢復包括所述具有第一邏輯值的位元的所述複數個部分資料塊; 基於輸出所述複數個壓縮資料塊的順序來確定恢復的所述複數個部分資料塊的順序;以及 根據所確定的順序來連接恢復的所述複數個部分資料塊。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210099126 | 2021-07-28 | ||
KR10-2021-0099126 | 2021-07-28 | ||
KR1020220065679A KR20230017717A (ko) | 2021-07-28 | 2022-05-27 | 저장 장치 및 그 동작 방법 |
KR10-2022-0065679 | 2022-05-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202314473A true TW202314473A (zh) | 2023-04-01 |
Family
ID=84890206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111128357A TW202314473A (zh) | 2021-07-28 | 2022-07-28 | 編碼裝置、儲存裝置和儲存裝置的操作方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US12032851B2 (zh) |
CN (1) | CN115840529A (zh) |
DE (1) | DE102022207672A1 (zh) |
TW (1) | TW202314473A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12032851B2 (en) | 2021-07-28 | 2024-07-09 | SK Hynix Inc. | Storage device and operating method of the storage device |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100819104B1 (ko) | 2006-09-07 | 2008-04-03 | 삼성전자주식회사 | 병렬 비트 테스트 회로 및 그에 의한 병렬 비트 테스트방법 |
KR20080046345A (ko) | 2006-11-22 | 2008-05-27 | 삼성전자주식회사 | 휴대용 단말기의 메모리 절약 장치 및 방법 |
KR20120098094A (ko) | 2011-02-28 | 2012-09-05 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
US10275186B2 (en) * | 2015-10-30 | 2019-04-30 | Sandisk Technologies Llc | System and method of data compression and data shaping |
US20220269601A1 (en) | 2015-11-02 | 2022-08-25 | Pure Storage, Inc. | Cost Effective Storage Management |
US10275376B2 (en) | 2016-03-02 | 2019-04-30 | Western Digital Technologies, Inc. | Efficient cross device redundancy implementation on high performance direct attached non-volatile storage with data reduction |
US11762557B2 (en) | 2017-10-30 | 2023-09-19 | AtomBeam Technologies Inc. | System and method for data compaction and encryption of anonymized datasets |
US11342933B2 (en) | 2018-12-14 | 2022-05-24 | Advanced Micro Devices, Inc. | Lossy significance compression with lossy restoration |
US11678085B2 (en) * | 2020-11-16 | 2023-06-13 | Sony Semiconductor Solutions Corporation | Data compression method, data compression device, solid-state imaging device, data decompression device and electronic system |
CN115225094A (zh) | 2021-04-21 | 2022-10-21 | 伊姆西Ip控股有限责任公司 | 数据压缩方法、电子设备和计算机程序产品 |
US12032851B2 (en) | 2021-07-28 | 2024-07-09 | SK Hynix Inc. | Storage device and operating method of the storage device |
JP2023064241A (ja) | 2021-10-26 | 2023-05-11 | 株式会社日立製作所 | ストレージシステム及びストレージシステムにおけるデータ処理方法 |
-
2022
- 2022-07-18 US US17/867,050 patent/US12032851B2/en active Active
- 2022-07-20 US US17/869,603 patent/US12014076B2/en active Active
- 2022-07-21 CN CN202210859210.0A patent/CN115840529A/zh active Pending
- 2022-07-27 DE DE102022207672.9A patent/DE102022207672A1/de active Pending
- 2022-07-28 TW TW111128357A patent/TW202314473A/zh unknown
-
2024
- 2024-05-21 US US18/670,027 patent/US20240302992A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US12014076B2 (en) | 2024-06-18 |
CN115840529A (zh) | 2023-03-24 |
US20230030668A1 (en) | 2023-02-02 |
DE102022207672A1 (de) | 2023-02-02 |
US12032851B2 (en) | 2024-07-09 |
US20240302992A1 (en) | 2024-09-12 |
US20230031951A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681931B (zh) | 数据储存设备及其操作方法 | |
CN111415699B (zh) | 数据存储装置及其操作方法 | |
US10102059B2 (en) | Data storage device capable of preventing a data retention fail of a nonvolatile memory device and operating method thereof | |
CN106649144B (zh) | 数据储存设备及其操作方法 | |
US11150811B2 (en) | Data storage apparatus performing flush write operation, operating method thereof, and data processing system including the same | |
US20240302992A1 (en) | Storage device and operating method of the storage device | |
US10545689B2 (en) | Data storage device and operating method thereof | |
CN109949839B (zh) | 存储器控制器及存储器控制器的操作方法 | |
US11961561B2 (en) | Memory device and method of operating the same | |
US10747660B2 (en) | Method and system for forming and using memory superblocks based on performance grades | |
US10546618B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
US10629275B2 (en) | Data storage device and operating method thereof | |
US20210397364A1 (en) | Storage device and operating method thereof | |
US20210397378A1 (en) | Storage device and operating method thereof | |
US9478289B1 (en) | Semiconductor memory device and operating method thereof | |
CN110032466B (zh) | 数据存储装置及其操作方法 | |
US11586379B2 (en) | Memory system and method of operating the same | |
CN115376573A (zh) | 存储器设备及其操作方法 | |
KR20230017717A (ko) | 저장 장치 및 그 동작 방법 | |
US20240289014A1 (en) | Memory device and operating method thereof | |
US9966148B1 (en) | Data storage device and operating method thereof | |
KR20210048349A (ko) | 메모리 시스템 | |
CN110941566A (zh) | 数据存储装置及其操作方法 | |
KR20200142698A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20240133233A (ko) | 메모리 장치 및 그 동작 방법 |