CN109783008B - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN109783008B CN109783008B CN201810942753.2A CN201810942753A CN109783008B CN 109783008 B CN109783008 B CN 109783008B CN 201810942753 A CN201810942753 A CN 201810942753A CN 109783008 B CN109783008 B CN 109783008B
- Authority
- CN
- China
- Prior art keywords
- mapping
- segment
- mapped
- segments
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
-
- 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/064—Management of blocks
-
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System (AREA)
- Electrotherapy Devices (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据存储装置,该数据存储装置可包括非易失性存储器装置和控制器,其中非易失性存储器装置存储包括多个映射段的地址映射表,控制器包括随机存取存储器。控制器响应于从主机装置接收的读取请求,基于第一映射段的元信息将压缩的第一映射段或非压缩的第一映射段加载到随机存取存储器中。元信息被存储在映射段元信息表中,映射段元信息表被存储在随机存取存储器中并且元信息表示映射段是否可被压缩。
Description
相关申请的交叉引用
本申请要求于2017年11月13日提交的申请号为10-2017-0150575的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例总体涉及一种半导体装置,且更特别地,涉及一种数据存储装置及其操作方法。
背景技术
近来,计算机环境范例已经转变为可在任何时间和任何地点使用的普适计算***。诸如移动电话、数码相机、笔记本电脑等的便携式电子装置被广泛使用。便携式电子装置可包括使用存储器装置的数据存储装置,其中存储器装置用于存储便携式电子装置的数据。
使用存储器装置的数据存储装置不包括机械驱动机构,因此,相对于使用机械驱动机构的数据存储装置,使用存储器装置的数据存储装置表现出提高的稳定性和可靠性。此外,使用存储器装置的数据存储装置可具有快速访问速度和低功耗。使用用于存储数据的存储器装置的数据存储装置的示例包括通用串行总线(USB)存储卡、包括各种接口的存储卡、通用闪速存储(UFS)卡、固态硬盘(SSD)等。
发明内容
本公开的示例性实施例提供了一种数据存储装置,其在不使操作性能劣化的情况下压缩映射数据。
本公开的示例性实施例还提供了一种上述数据存储装置的操作方法。
在实施例中,数据存储装置包括非易失性存储器装置和控制器,其中非易失性存储器装置存储包括多个映射段的地址映射表,控制器包括随机存取存储器。控制器响应于从主机装置接收的读取请求,基于第一映射段的元信息将压缩的第一映射段或非压缩的第一映射段加载到随机存取存储器中。元信息被存储在映射段元信息表中,映射段元信息表被存储在随机存取存储器中并且元信息表示映射段是否可被压缩。
在实施例中,在一种操作数据存储装置的方法中,其中数据存储装置包括非易失性存储器装置和控制器,非易失性存储器装置存储具有多个映射段的地址映射表以及控制器控制非易失性存储器装置的操作,该方法包括:当从主机装置接收到读取请求和待读取的逻辑地址时,确定是否从地址映射表中加载第一映射段;基于存储在映射段元信息表中的第一映射段的元信息来加载压缩或非压缩的第一映射段,映射段元信息表包括表示映射段中的每个是否可被压缩的元信息;以及通过参考所加载的第一映射段,读取存储在非易失性存储器装置中的、与待被读取的逻辑地址相对应的物理地址处的数据。
在实施例中,一种存储器***,其包括存储器装置和控制器,其中存储器装置存储表示逻辑地址与物理地址之间的关系的多个映射段,控制器包括随机存取存储器。控制器响应于请求,通过根据元信息来选择性地压缩加载段之中的一个或多个来加载映射段之中的一个或多个加载段,元信息表示各个映射段的压缩大小是否等于或大于预定大小;并且通过参考加载段来控制存储器装置以执行与请求相对应的操作。
在实施例中,一种数据处理***,其包括主机设备;可操作地联接到主机设备的固态硬盘,固态硬盘包括控制器和缓冲存储器装置,控制器通过专用通信通道可操作地联接到多个非易失性存储器装置,以及缓冲存储器装置可操作地联接到控制器。每个非易失性存储器装置被配置成存储多个映射段。控制器被配置成将第一映射段加载到缓冲存储器中以处理从主机设备接收的读取请求;并且基于存储在映射段元信息表中的第一映射段的元信息来确定是否压缩第一映射段,其中元信息表示映射段是否可被压缩。
在实施例中,一种数据存储装置,其包括非易失性存储器装置和控制器,其中非易失性存储器装置被配置成存储多个映射段,控制器包括随机存取存储器。控制器将第一映射段加载到随机存取存储器中以处理从主机装置接收的读取请求;控制器基于存储在映射段元信息表中的第一映射段的元信息来确定是否压缩第一映射段;并且控制器通过参考所加载的第一映射段来读取存储在非易失性存储器装置中的、与逻辑地址相对应的物理地址处的数据。
附图说明
图1是示出根据本公开的实施例的数据存储装置的框图;
图2是示出图1中的数据存储装置应用的地址映射表的示例的示意图;
图3是示出图1中的随机存取存储器的框图;
图4是映射段元信息表的示例;
图5是示出根据本公开的实施例的数据存储装置的操作方法中的映射更新操作的流程图;
图6是示出根据本公开的实施例的数据存储装置的操作方法中的映射压缩操作的流程图;
图7是示出根据本公开的实施例的包括固态硬盘(SSD)的数据处理***的示例的示图;
图8是示出图7所示的控制器的示例的示图;
图9是示出根据本公开的实施例的包括数据存储设备的数据处理***的示例的示图;
图10是示出根据本公开的实施例的包括数据存储设备的数据处理***的示例的示图;
图11是示出根据本公开的实施例的包括数据存储设备的网络***的示例的示图;并且
图12是示出根据本公开的实施例的包括在数据存储设备中的非易失性存储器装置的示例的框图。
具体实施方式
在下文中,将通过实施例的各个示例参照附图在下面描述本发明。然而,应当注意的是,所描述的示例仅用于公开本发明的目的,而并非旨在限制本发明的范围。本发明所属领域的技术人员应当理解的是,本公开中公开的技术方案不仅可以在所述实施例中实施,而且可以在不脱离本发明的技术方案和范围的情况下,在各种其它实施例或其变型中实施。
注意的是,在描述本公开时,当确定公知的相关技术的详细描述可能使本公开的主旨模糊时,将省略对其的详细描述。
还应注意的是,在下面的描述中,阐述了许多具体细节以便提供对本发明的透彻理解,然而,可以在没有一些或所有这些具体细节的情况下实践本发明。在其它情况下,为了不使本发明被不必要地模糊,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例所述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据示例性实施例的数据存储装置10的框图。
参照图1,该示例性实施例的数据存储装置10可被配置成存储由诸如以下的主机装置访问的数据:移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、车载信息娱乐***等。数据存储装置10可被称为存储器***。
数据存储装置10可被实施为各种存储装置。根据特定的实施方案,数据存储装置10可采用不同的接口协议来与主机装置通信。例如,数据存储装置10的各种实施方案可包括以下中的任何一种:固态硬盘(SSD),诸如MMC、eMMC、RS-MMC、微型-MMC等的多媒体卡,诸如SD、迷你-SD或微型-SD等的安全数字卡,诸如通用串行总线(USB)、通用闪存(UFS)、个人计算机存储卡国际协会(PCMCIA)等的存储装置,***组件互连卡,高速PCI(PCI-E)卡,标准闪存(CF)卡,智能媒体卡,记忆棒等。
数据存储装置10可具有包括例如以下的各种封装结构中的任何一种:堆叠封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)等。
数据存储装置10可包括经由一个或多个通信通道CH而可操作地彼此联接的非易失性存储器装置100和控制器200。可使用任何合适的通信通道。
非易失性存储器装置100可操作为数据存储装置10的存储介质。非易失性存储器装置100可包括:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧穿磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化合物的相变随机存取存储器(PRAM)以及使用过渡金属氧化物的电阻式随机存取存储器(RERAM)等。
在示例性实施例中,数据存储装置10可包括单个非易失性存储器装置100。可选地,数据存储装置10可包括多个非易失性存储器装置。多个非易失性存储器装置可以为相同类型。多个非易失性存储器装置可以为不同类型。
非易失性存储器装置100可包括存储器单元阵列。存储器单元阵列可包括布置在字线和位线之间的交叉区域处的存储器单元。存储器单元阵列可包括多个存储块。存储块中的每一个可包括多个页面。
例如,存储器单元中的每一个可包括被配置成存储一个位的单层单元(SLC)、被配置成存储两个位的多层单元(MLC)、被配置成存储三个位的三层单元(TLC)以及被配置成存储四个位的四层单元(QLC)等。存储器单元阵列110可包括SLC、MLC、TLC和QLC型存储器单元中的至少一种类型的存储器单元。存储器单元阵列110可具有二维结构或三维结构。
非易失性存储器装置100可被配置成存储地址映射表AMT。地址映射表AMT可包括多个条目,每一个条目将从主机装置接收的逻辑块地址LBA映射到非易失性存储器装置100的相应物理块地址PBA。物理块地址表示非易失性存储器装置中数据所存储的实际位置。在本文中可互换地使用术语物理块地址和物理地址。
图2是由图1所示的数据存储装置10应用的地址映射表AMT的示例。
参照图2,地址映射表AMT可包括多个映射段S0至Sn。映射段S0至Sn中的每一个可包括多个逻辑块地址LBA0至LBAm和多个相应的物理块地址PBA0至PBAm。在本文中,逻辑块地址LBA和映射到逻辑块地址LBA的相应物理块地址PBA被称为逻辑到物理(L2P)条目。映射段S0至Sn中的每一个可包括m个L2P条目。
可对地址映射表AMT的L2P条目进行更新。例如,每当由主机装置请求的编程数据的大小总和达到预定大小时,可对L2P条目进行更新。可选地,当被配置成存储物理到逻辑(P2L)条目的地址缓冲器AB(参见图3)充满P2L条目时,可对地址映射表AMT中的L2P条目进行更新。然而,地址映射表AMT中的L2P条目的更新时间可不被限定于特定时间。
重新参照图1,控制器200可包括主机接口210、处理器220、随机存取存储器230、存储器接口240、压缩引擎250和解压缩引擎260。
主机接口210可被配置成根据主机装置的相应协议,将主机装置与数据存储装置10进行接口连接。例如,主机接口210可通过以下中的任何一种来与主机装置进行通信:USB、UFS、MMC、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串列SISI(SAS)、***组件互连(PCI)和PCI-E。
处理器220可包括微控制单元(MCU)和中央处理单元(CPU)。处理器220可被配置成处理从主机装置传输的请求。为了处理从主机装置传输的请求,处理器220可驱动存储在随机存取存储器230中的指令或算法。在随机存取存储器230中,指令和/或算法可以是固件的形式。
随机存取存储器230可包括DRAM或SRAM。随机存取存储器230可被配置成存储由处理器220驱动的固件。随机存取存储器230可被配置成存储数据,例如用于驱动固件的元数据。也就是说,随机存取存储器230可操作为处理器220的工作存储器。
随机存取存储器230可被配置成临时存储从主机装置传输到非易失性存储器装置100的数据或从非易失性存储器装置100传输到主机装置的数据。也就是说,随机存取存储器230可***作为缓冲存储器。
图3是示出图1中的随机存取存储器230的示例的框图。
参照图3,随机存取存储器230可包括地址缓冲器AB、映射更新缓冲器MUB、映射高速缓存缓冲器MCB及映射段元信息表SMT。
地址缓冲器AB可被配置成存储与主机装置的编程请求一起提供的地址,即逻辑块地址LBA以及待存储编程数据的非易失性存储器装置100的实际地址,即物理块地址PBA。从主机装置与编程请求一起接收的这些地址信息被作为地址映射信息而存储在地址缓冲器AB中,其中地址映射信息称为物理到逻辑条目,即P2L条目。可基于地址缓冲器AB中的P2L条目来更新非易失性存储器装置100的地址映射表AMT。
映射更新缓冲器MUB可被配置成临时存储非易失性存储器装置100的地址映射表AMT中的映射段S0至Sn之中的、待被更新的映射段的L2P条目。与存储在映射更新缓冲器MUB中的L2P条目中的每一个相对应的物理块地址PBA可被改变为与存储在地址缓冲器AB中的P2L条目相对应。可通过将具有改变的物理块地址PBA的L2P条目写入到非易失性存储器装置100的地址映射表AMT中来完成对地址映射表AMT的更新。
映射高速缓存缓冲器MCB可被配置成高速缓存从主机装置与最新请求和/或频繁请求一起提供的逻辑地址相对应的映射数据。由映射高速缓存缓冲器MCB高速缓存的映射数据可包括L2P条目。由映射高速缓存缓冲器MCB高速缓存的映射数据可以是或可以不是被压缩的。当映射数据可被压缩到不超过预定大小的大小时,压缩映射数据被高速缓存在映射高速缓存缓冲器MCB中。相反地,当映射数据无法被压缩到不超过预定大小的大小时,则具有原始大小的非压缩映射数据被高速缓存在映射高速缓存缓冲器MCB中。
映射段元信息表SMT可被配置成存储信息,该信息包括非易失性存储器装置100中的地址映射表AMT的映射段S0至Sn是否可被压缩。包括映射段S0至Sn是否可被压缩的信息被称为元信息。映射段元信息表SMT可以位映射表的形式存储元信息。
虽然图3描述了存储在随机存取存储器230中的单独分配区域中的映射段元信息表SMT,但存储映射段元信息表SMT的区域可不限于特定区域内。例如,映射段元信息表SMT可与元信息一起被存储在一个区域中,该区域可被分配用于存储各个元信息,而不在随机存取存储器230中分配单独的区域以用于存储映射段元信息表SMT。
图4是示出映射段元信息表SMT的示例的框图。
参照图4,映射段元信息表SMT可存储数个映射段S0至Sn和映射段S0至Sn的元信息,即,映射段可被压缩的信息或者映射段不可被压缩的信息。例如,位“1”可表示映射段可被压缩,并且位“0”可表示映射段不可被压缩。当需要加载特定映射段时,处理器220可基于映射段元信息表SMT来确定该映射段是否可被压缩。
重新参照图1,存储器接口240可根据处理器220的控制来控制非易失性存储器装置100。存储器接口240可被称为存储器控制器。存储器接口240可向非易失性存储器装置100提供控制信号。控制信号可包括用于控制非易失性存储器装置100的命令、地址等。存储器接口240可向非易失性存储器装置100提供数据或从非易失性存储器装置100接收数据。存储器接口240可通过通信通道CH与非易失性存储器装置100连接。通信通道CH可包括至少一个信号线。
压缩引擎250可被配置成在处理器220的控制下读取和压缩非易失性存储器装置100的地址映射表AMT中的一个或多个映射段。压缩引擎250可被配置成将压缩映射段中的一个或多个输出到随机存取存储器230。压缩映射段可被高速缓存在随机存取存储器230的映射高速缓存缓冲器MCB中。
例如,在对存储在非易失性存储器装置100中的地址映射表AMT进行更新期间,压缩引擎250可在处理器220的控制下压缩更新的映射段。压缩引擎250可确定压缩映射段的大小是否不超过预定大小。基于确定结果,压缩引擎250可向处理器220提供包括映射段是否可被压缩的信息。基于从压缩引擎250提供的信息,处理器220可将映射段的元信息存储或更新(renew)在映射段元信息表SMT中。
解压缩引擎260(也被称为压缩释放引擎)可被配置成对高速缓存在映射高速缓存缓冲器MCB中的映射段之中的压缩映射段进行解压缩。处理器220可控制非易失性存储器装置100以基于解压缩的映射数据来读取主机装置所请求的地址的数据。
图5是示出根据本公开的实施例的数据存储装置10的映射更新操作的流程图。
参照图1至图5,在步骤S501中,控制器200的处理器220可确定是否执行映射更新。当随机存取存储器230的地址缓冲器AB变为充满P2L条目(不具有空的空间),或者从主机装置接收的编程数据的累积大小达到预定大小时,则处理器200可执行映射更新,其将非易失性存储器装置100中的地址映射表AMT进行更新。
如果确定应该执行映射更新(步骤S501中为“是”),则进程可继续进行至步骤S503。
在步骤S503中,处理器220可控制非易失性存储器装置100读取并传输来自非易失性存储器装置100的地址映射表AMT中的映射段S0至Sn之中的、待被更新的映射段。当从非易失性存储器装置100接收到待被更新的映射段时,接收的映射段可被存储在随机存取存储器230的映射更新缓冲器MUB中。
在步骤S505中,处理器220可改变存储在随机存取存储器220的映射更新缓冲器MUB中的、待被更新的映射段的L2P条目的物理块地址PBA,以与地址缓冲器AB中的P2L条目相对应。
在步骤S507中,处理器220可控制非易失性存储器装置100,以将映射更新缓冲器MUB中的、具有改变的物理块地址PBA的映射段存储在非易失性存储器装置100的地址映射表AMT的相应区域中,从而可完成对地址映射表AMT的更新。
在步骤S509中,处理器220可控制压缩引擎250以确定是否可以对被更新映射段中的每一个进行压缩,并且提供确定结果。压缩引擎250可在处理器220的控制下对传输到非易失性存储器装置100的被更新映射段进行压缩。压缩引擎250可将压缩映射段的大小与预定大小进行比较,以确定映射段是否可被压缩。压缩引擎250可向处理器220提供包括确定结果的信息。基于从压缩引擎250提供的映射段的信息,处理器220可将映射段的元信息存储或更新在映射段元信息表SMT中。
图6是示出根据示例性实施例的数据存储装置10的映射压缩操作的流程图。
参照图6,在步骤S601中,处理器220可确定是否从主机装置接收到读取请求。还可与读取请求一起接收到读取地址。
当接收到读取请求时(步骤S601中为“是”),在步骤S603中,处理器220可确定是否加载映射段。为了确定是否执行映射段的加载,处理器220可扫描映射高速缓存缓冲器MCB以识别高速缓存在高速缓存缓冲器MCB中的L2P条目,该L2P条目与从主机装置接收的读取地址,即逻辑块地址相对应。
当与读取地址相对应的L2P条目被高速缓存在映射高速缓存缓冲器MCB中时,处理器220可确定不需要加载映射段。相反地,当与读取地址相对应的L2P条目未被高速缓存在映射高速缓存缓冲器MCB中时,处理器220可确定需要从非易失性存储器装置100的地址映射表AMT中加载包括与读取地址相对应的L2P条目的映射段。
当确定不需要加载映射段时(步骤S603中为“否”),可执行稍后描述的步骤S607。
当确定需要加载映射段时(步骤S603中为“是”),在步骤S605中,处理器220可基于随机存取存储器230的映射段元信息表SMT来识别元信息。处理器220可基于元信息,通过使用压缩引擎250来压缩和加载映射段或者仅加载映射段而不进行压缩。映射段元信息表SMT可将表示映射段是否可被压缩的元信息存储为位“1”或位“0”。
当加载的映射段的元信息表示加载的映射段可被压缩时,处理器220可使用压缩引擎250来压缩映射段,并且处理器220可对映射高速缓存缓冲器MCB分配用于压缩映射段的空间。压缩映射段可被存储在映射高速缓存缓冲器MCB中的分配空间中。当加载的映射段的元信息表示加载的映射段不可被压缩时,处理器220不压缩映射段,并且处理器220对映射高速缓存缓冲器MCB分配用于原始映射段的空间。然后,原始映射段可被存储在映射高速缓存缓冲器MCB中的分配空间中。例如,加载的映射段的元信息可以是表示加载的映射段可被压缩的“1”,或者可以是表示加载的映射段不可被压缩的“0”。
当不需要加载包括与读取地址相对应的L2P条目的映射段时,在步骤S607中,处理器220可基于映射高速缓存缓冲器MCB中的映射段的相应L2P条目来识别与读取地址,即逻辑块地址LBA,相对应的物理块地址PBA。然后,处理器220可控制非易失性存储器装置100以从所识别的物理块地址读取数据。当映射段被压缩时,处理器220可使用解压缩引擎260对压缩映射段进行解压缩,并且处理器220可基于解压缩映射段来识别与读取地址相对应的物理块地址。
图7是示出根据实施例的包括固态硬盘(SSD)的数据处理***的示例的示图。参照图7,数据处理***2000可包括主机设备2100和SSD 2200。
SSD 2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。非易失性存储器装置2231至223n可各自与图1的非易失性存储器装置100相同。控制器2210可与图1的控制器200相同。
控制器2210可控制SSD 2200的全部操作。
缓冲存储器装置2220可临时存储待被存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可临时存储从非易失性存储器装置2231至223n读取的数据。根据控制器2210的控制,被临时存储在缓冲存储器装置2220中的数据可被传输到主机设备2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可用作SSD 2200的存储介质。非易失性存储器装置2231至223n可通过多个通道CH1至CHn联接到控制器2210。一个或多个非易失性存储器装置可联接到一个通道。联接到一个通道的非易失性存储器装置可联接到相同的信号总线和相同的数据总线。
电源2240可将通过电源连接器2260输入的电力PWR提供至SSD 2200的内部。电源2240可包括辅助电源2241。辅助电源2241可提供电力,使得即使发生突然断电,SSD 2200也正常地结束。辅助电源2241可包括能够充电电力PWR的大容量电容器。
控制器2210可通过信号连接器2250与主机设备2100交换信号SGL。信号SGL可包括命令、地址、数据等。根据主机设备2100和SSD 2200之间的接口连接方法,信号连接器2250可被配置为各种类型的连接器。
图8是示出图7的控制器2210的示例的示图。参照图8,控制器2210可包括主机接口单元2211、控制单元2212、随机存取存储器(RAM)2213、错误校正码(ECC)单元2214和存储器接口单元2215。控制器2210可进一步包括与图1的控制器200的压缩引擎250和解压缩引擎260相同的压缩引擎和解压缩引擎。
主机接口单元2211可根据主机设备2100的协议来执行主机设备2100和SSD 2200之间的接口连接。例如,主机接口单元2211可通过以下中的任何一种与主机设备2100进行通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串列SCSI(SAS)协议、***组件互连(PCI)协议、高速PCI(PCI-E)协议和通用闪速存储(UFS)协议。主机接口单元2211可执行磁盘模拟功能,即主机设备2100将SSD 2200识别为通用数据存储设备,例如硬盘驱动器(HDD)。
控制单元2212可分析和处理从主机设备2100输入的信号SGL。控制单元2212可根据用于驱动SDD 2200的固件和/或软件来控制内部功能块的操作。RAM 2213可操作为用于驱动固件或软件的工作存储器。
ECC单元2214可生成用于待被传输到非易失性存储器装置2231至223n的数据的奇偶校验数据。生成的奇偶校验数据可与数据一起被存储在非易失性存储器装置2231至223n中。ECC单元2214可基于奇偶校验数据来检测从非易失性存储器装置2231至223n读取的数据的错误。当检测到的错误在可校正范围内时,ECC单元2214可校正检测到的错误。
存储器接口单元2215可根据控制单元2212的控制将诸如命令和地址的控制信号提供给非易失性存储器装置2231至223n。存储器接口单元2215可根据控制单元2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口单元2215可将存储在缓冲存储器装置2220中的数据提供给非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供给缓冲存储器装置2220。
图9是示出根据实施例的包括数据存储设备的数据处理***的示例的示图。参照图9,数据处理***3000可包括主机设备3100和数据存储设备3200。
主机设备3100可以诸如印刷电路板(PCB)的板形式配置。虽然未在图9中示出,但主机设备3100可包括被配置成执行主机设备3100的功能的内部功能块。
主机设备3100可包括诸如插座、插槽或连接器的连接端子3110。数据存储设备3200可被安装在连接端子3110上。
数据存储设备3200可以诸如PCB的板形式配置。数据存储设备3200可指存储器模块或存储卡。数据存储设备3200可包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231至3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可控制数据存储设备3200的全部操作。控制器3210可被配置成具有与图8所示的控制器2210相同的配置。
缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3231和3232中的数据。缓冲存储器装置3220可临时存储从非易失性存储器装置3231和3232读取的数据。根据控制器3210的控制,被临时存储在缓冲存储器装置3220中的数据可被传输到主机设备3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可用作数据存储设备3200的存储介质。非易失性存储器装置3231和3232可各自包括如图1的实施例中所述的地址映射表AMT。
PMIC 3240可将通过连接端子3250输入的电力提供到数据存储设备3200的内部。PMIC 3240可根据控制器3210的控制来管理数据存储设备3200的电力。
连接端子3250可联接到主机设备3100的连接端子3110。可通过连接端子3250,在主机设备3100和数据存储设备3200之间传输诸如命令、地址、数据的信号和电力。根据主机设备3100与数据存储设备3200之间的接口连接方法,连接端子3250可以各种形式进行配置。连接端子3250可被布置在数据存储设备3200的任何一侧。
图10是示出根据实施例的包括数据存储设备的数据处理***的示例的示图。参照图10,数据处理***4000可包括主机设备4100和数据存储设备4200。
主机设备4100可以诸如PCB的板形式配置。虽然未在图10中示出,但主机设备4100可包括被配置成执行主机设备4100的功能的内部功能块。
数据存储设备4200可以表面安装封装形式进行配置。数据存储设备4200可通过焊球4250而安装在主机设备4100上。数据存储设备4200可包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可控制数据存储设备4200的全部操作。控制器4210可被配置成具有与图8所示的控制器2210相同的配置。
缓冲存储器装置4220可临时存储待被存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可临时存储从非易失性存储器装置4230读取的数据。通过控制器4210的控制,被临时存储在缓冲存储器装置4220中的数据可被传输到主机设备4100或非易失性存储器装置4230。
非易失性存储器装置4230可用作数据存储设备4200的存储介质。非易失性存储器装置4230可包括如图1的实施例中的地址映射表AMT
图11是示出根据实施例的包括数据存储设备的网络***5000的示例的示图。参照图11,网络***5000可包括通过网络5500联接的服务器***5300和多个客户端***5410至5430。
服务器***5300可响应于多个客户端***5410至5430的请求来服务数据。例如,服务器***5300可存储从多个客户端***5410至5430提供的数据。在另一示例中,服务器***5300可将数据提供给多个客户端***5410至5430。
服务器***5300可包括主机设备5100和数据存储设备5200。数据存储设备5200可被配置成图1的数据存储设备10、图7的数据存储设备2200、图9的数据存储设备3200或图10的数据存储设备4200。
图12是示出根据实施例的包括在数据存储设备中的非易失性存储器装置的示例的框图。参照图12,非易失性存储器装置100可包括存储器单元阵列110、行解码器120、列解码器140、数据读取/写入块130、电压发生器150和控制逻辑160。存储器装置还可包括如图1的实施例中所述的地址映射表。
存储器单元阵列110可包括布置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域中的存储器单元MC。
行解码器120可通过字线WL1至WLm联接到存储器单元阵列110。行解码器120可通过控制逻辑160的控制来进行操作。行解码器120可对从外部设备(未示出)提供的地址进行解码。行解码器120可基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器120可将从电压发生器150提供的字线电压提供给字线WL1至WLm。
数据读取/写入块130可通过位线BL1至BLn联接到存储器单元阵列110。数据读取/写入块130可包括与位线BL1至BLn相对应的读取/写入电路RW1至RWn。数据读取/写入块130可根据控制逻辑160的控制来操作。数据读取/写入块130可根据操作模式而操作为写入驱动器或读出放大器。例如,在写入操作中,数据读取/写入块130可操作为写入驱动器,其被配置成将从外部设备提供的数据存储在存储器单元阵列110中。在另一示例中,在读取操作中,数据读取/写入块130可操作为读出放大器,其被配置成从存储器单元阵列110读取数据。
列解码器140可通过控制逻辑160的控制来进行操作。列解码器140可对从外部设备(未示出)提供的地址进行解码。列解码器140可基于解码结果将数据读取/写入块130的、与位线BL1至BLn相对应的读取/写入电路RW1至RWn与数据输入/输出(I/O)线(或数据I/O缓冲器)联接。
电压发生器150可生成用于非易失性存储器装置100的内部操作的电压。通过电压发生器150生成的电压可被施加到存储器单元阵列110的存储器单元。例如,在编程操作中生成的编程电压可被施加到待被执行编程操作的存储器单元的字线。在另一示例中,在擦除操作中生成的擦除电压可被施加到待被执行擦除操作的存储器单元的阱区。在另一示例中,在读取操作中生成的读取电压可被施加到待被执行读取操作的存储器单元的字线。
控制逻辑160可基于从外部设备提供的控制信号来控制非易失性存储器装置100的全部操作。例如,控制逻辑160可控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作和擦除操作。
本公开的上述实施例是说明性的而非限制性的。例如,本公开不限于任何特定类型的半导体装置。在不脱离如所附权利要求限定的本发明范围和技术方案的情况下,可存在所述实施例的各种替换、添加、减少、变型和等同物。
Claims (17)
1.一种数据存储装置,包括:
非易失性存储器装置,其存储包括多个映射段的地址映射表;以及
控制器,其包括随机存取存储器,并且所述控制器基于多个映射段之中的第一映射段的元信息将响应于从主机装置接收的读取请求的来自所述非易失性存储器装置的所述多个映射段之中的第一映射段以压缩的状态或非压缩的状态加载到所述随机存取存储器中,
其中所述元信息被存储在映射段元信息表中,所述映射段元信息表被存储在所述随机存取存储器中并且所述元信息表示所述映射段是否可被压缩。
2.根据权利要求1所述的数据存储装置,其中所述控制器包括:
所述随机存取存储器,其存储所述映射段元信息表;
压缩引擎,其压缩所述映射段,将所压缩的映射段中的每个的大小与预定大小进行比较,并且基于所述比较将表示所述映射段中的每个是否可被压缩的信息输出到处理器;以及
所述处理器,基于从所述压缩引擎输出的、表示所述映射段中的每个是否可被压缩的信息,将与所述映射段中的每个相对应的元信息存储在所述映射段元信息表中。
3.根据权利要求2所述的数据存储装置,其中所述随机存取存储器包括:
地址缓冲器,其存储从所述主机装置接收的、待被编程的逻辑地址与所述非易失性存储器装置中的数据所存储的物理地址之间的映射信息;
映射更新缓冲器,其加载所述映射段之中的、待被更新的映射段;以及
映射高速缓存缓冲器,其高速缓存从所述主机装置接收的、待被读取的逻辑地址与所述非易失性存储器装置中的数据所存储的物理地址之间的映射信息。
4.根据权利要求3所述的数据存储装置,其中进一步地,
当所述地址映射表被更新时,所述处理器读取所述映射段之中的待被更新的映射段;
将所读取的待被更新的映射段存储在所述映射更新缓冲器中;
基于存储在所述地址缓冲器中的映射信息,改变所述映射更新缓冲器中的映射段的映射信息;以及
将具有改变的映射信息的映射段编程在所述地址映射表的相应区域中。
5.根据权利要求4所述的数据存储装置,其中所述处理器进一步控制所述压缩引擎,以通过压缩具有改变的映射信息的映射段并且将压缩的、具有改变的映射信息的映射段的大小与预定大小进行比较,来输出表示具有改变的映射信息的映射段中的每个是否可被压缩的信息。
6.根据权利要求3所述的数据存储装置,其中所述处理器进一步地:
当从所述主机装置接收到读取请求和待被读取的逻辑地址时,识别待被读取的逻辑地址的映射信息是否被存储在所述映射高速缓存缓冲器中;
当待被读取的逻辑地址的映射信息未被存储在所述映射高速缓存缓冲器中时,从所述非易失性存储器装置的所述地址映射表中读取与待被读取的逻辑地址相对应的映射段;以及
基于存储在所述映射段元信息表中的、所读取映射段的元信息,将压缩的所读取映射段或非压缩的所读取映射段存储在所述映射高速缓存缓冲器中。
7.一种操作数据存储装置的方法,其中所述数据存储装置包括非易失性存储器装置和控制器,所述非易失性存储器装置存储包括多个映射段的地址映射表以及所述控制器控制所述非易失性存储器装置的操作,所述方法包括:
当从主机装置接收到读取请求和待被读取的逻辑地址时,确定是否从所述地址映射表中加载所述多个映射段之中的第一映射段;
基于所述第一映射段的元信息,将第一映射段以压缩的状态或非压缩的状态加载到所述控制器的随机存取存储器;并且
通过参考所加载的第一映射段,读取存储在所述非易失性存储器装置中的、与待被读取的逻辑地址相对应的物理地址处的数据,
其中所述元信息存储在所述随机存取存储器中存储的映射段元信息表中,并且所述元信息表示所述多个映射段是否可被压缩。
8.根据权利要求7所述的方法,其中所述控制器包括:
随机存取存储器,其存储所述映射段元信息表;以及
映射高速缓存缓冲器,其高速缓存从所述主机装置接收的、待被读取的逻辑地址与所述非易失性存储器装置中的数据所存储的物理地址之间的映射信息。
9.根据权利要求8所述的方法,
其中确定是否加载所述第一映射段包括确定待被读取的逻辑地址的映射信息是否被高速缓存在所述映射高速缓存缓冲器中,并且
其中当待被读取的逻辑地址的映射信息未被高速缓存在所述映射高速缓存缓冲器中时,执行加载所述映射段。
10.根据权利要求8所述的方法,
其中所述映射段元信息表存储表示所述映射段中的每个是否可被压缩的值,并且
其中加载所述第一映射段包括:
当与待被加载的第一映射段相对应的值表示所述第一映射段可被压缩时,压缩待被加载的第一映射段并且加载所压缩的第一映射段;并且
当与待被加载的第一映射段相对应的值表示所述第一映射段不可被压缩时,加载待被加载的第一映射段而不进行压缩。
11.根据权利要求8所述的方法,其中所述随机存取存储器进一步包括:
地址缓冲器,其存储从所述主机装置接收的、待被编程的逻辑地址与所述非易失性存储器装置中的数据所存储的物理地址之间的映射信息;以及
映射更新缓冲器,其加载所述映射段之中的待被更新的映射段。
12.根据权利要求11所述的方法,其进一步包括:
确定是否对所述地址映射表执行更新;
将所述映射段之中的待被更新的映射段存储在所述映射更新缓冲器中;
基于存储在所述地址缓冲器中的映射信息,改变所述映射更新缓冲器中的映射段的映射信息;
将具有改变的映射信息的映射段编程在所述地址映射表的相应区域中;
确定具有改变的映射信息的映射段中的每个是否可被压缩;并且
基于确定结果,将所述映射段中的每个的元信息存储在所述映射段元信息表中。
13.根据权利要求12所述的方法,其中确定具有改变的映射信息的映射段中的每个是否可被压缩包括:
对具有改变的映射信息的映射段进行压缩;
将所压缩的映射段中的每个的大小与预定大小进行比较;并且
确定具有小于或等于所述预定大小的压缩大小的映射段可被压缩;并且
确定具有大于所述预定大小的所述压缩大小的所述映射段不可被压缩。
14.一种存储器***,包括:
存储器装置,其存储表示逻辑地址与物理地址之间的关系的多个映射段;以及
控制器,其包括随机存取存储器,并且适于:
通过根据元信息来选择性地压缩多个映射段之中的一个或多个第一映射段来将响应于从主机装置接收的请求的来自所述存储器装置的所述一个或多个第一映射段加载到所述随机存取存储器中,所述元信息表示各个映射段的压缩大小是否等于或大于预定大小;以及
通过参考所加载的第一映射段来控制所述存储器装置以执行与所述请求相对应的操作。
15.根据权利要求14所述的存储器***,其中所述控制器进一步适于当更新所述映射段时,对存储在所述随机存取存储器中的元信息进行更新。
16.一种数据处理***,包括:
主机设备;以及
固态硬盘,其可操作地联接到所述主机设备,所述固态硬盘包括控制器和缓冲存储器装置,所述控制器通过专用通信通道可操作地联接到多个非易失性存储器装置,以及所述缓冲存储器装置可操作地联接到所述控制器;
其中所述多个非易失性存储器装置中的每个存储多个映射段,以及
其中所述控制器:
基于映射段元信息表中存储的第一映射段的元信息,确定是否压缩所述多个映射段之中的第一映射段;以及
基于确定结果,将来自所述非易失性存储器装置的第一映射段以压缩的状态或非压缩的状态加载到所述缓冲存储器中以处理从所述主机设备接收到的读取请求,
其中所述元信息表示所述映射段是否可被压缩。
17.一种数据存储装置,包括:
非易失性存储器装置,其存储多个映射段;以及
控制器,其包括随机存取存储器,并且所述控制器:
基于映射段元信息表中存储的第一映射段的元信息来确定是否压缩所述多个映射段之中的第一映射段;
基于确定结果,将来自所述非易失性存储器装置的第一映射段以压缩的状态或非压缩的状态加载到随机存取存储器中以处理从主机装置接收的读取请求;以及
通过参考所加载的第一映射段,读取存储在所述非易失性存储器装置中的、与逻辑地址相对应的物理地址处的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170150575A KR102507140B1 (ko) | 2017-11-13 | 2017-11-13 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2017-0150575 | 2017-11-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783008A CN109783008A (zh) | 2019-05-21 |
CN109783008B true CN109783008B (zh) | 2022-04-26 |
Family
ID=66432184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810942753.2A Active CN109783008B (zh) | 2017-11-13 | 2018-08-17 | 数据存储装置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10838854B2 (zh) |
KR (1) | KR102507140B1 (zh) |
CN (1) | CN109783008B (zh) |
TW (1) | TWI772466B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190059053A (ko) * | 2017-11-22 | 2019-05-30 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200145151A (ko) * | 2019-06-20 | 2020-12-30 | 삼성전자주식회사 | 맵핑 정보를 축약하는 플래시 변환 계층 구조를 이용하여 메모리 리소스를 관리하는 데이터 저장 장치 |
US10911267B1 (en) * | 2020-04-10 | 2021-02-02 | Apple Inc. | Data-enable mask compression on a communication bus |
KR20210151372A (ko) * | 2020-06-05 | 2021-12-14 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20210157537A (ko) * | 2020-06-22 | 2021-12-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
KR20220032826A (ko) * | 2020-09-08 | 2022-03-15 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 맵 정보를 제어 및 저장하는 장치 및 방법 |
TWI780696B (zh) | 2021-05-10 | 2022-10-11 | 創鑫智慧股份有限公司 | 查找表壓縮方法與查找表讀取方法及其計算設備、主機與裝置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1652089A (zh) * | 2004-02-06 | 2005-08-10 | 三星电子株式会社 | 重映射闪速存储器的方法 |
US6944742B1 (en) * | 2000-04-28 | 2005-09-13 | Microsoft Corporation | Compressed file system for non-volatile RAM |
CN101656094A (zh) * | 2009-09-25 | 2010-02-24 | 杭州华三通信技术有限公司 | 数据存储方法和存储设备 |
CN101923512A (zh) * | 2009-05-29 | 2010-12-22 | 晶天电子(深圳)有限公司 | 两层、三层闪存装置、智能存储开关和两层、三层控制器 |
CN102063377A (zh) * | 2009-11-16 | 2011-05-18 | 联发科技股份有限公司 | 存储介质的数据存取管理方法及存储控制器 |
CN103530062A (zh) * | 2012-07-03 | 2014-01-22 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
CN103677670A (zh) * | 2013-12-11 | 2014-03-26 | 华为技术有限公司 | 读数据的方法及装置 |
CN104102585A (zh) * | 2013-04-03 | 2014-10-15 | 群联电子股份有限公司 | 映射信息记录方法、存储器控制器与存储器储存装置 |
CN104361113A (zh) * | 2014-12-01 | 2015-02-18 | 中国人民大学 | 一种内存-闪存混合存储模式下的olap查询优化方法 |
CN104956312A (zh) * | 2013-12-12 | 2015-09-30 | 株式会社日立制作所 | 存储装置及存储装置的控制方法 |
CN105103137A (zh) * | 2013-03-15 | 2015-11-25 | 西部数据技术公司 | 数据存储***的数据的压缩和格式化 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8452912B2 (en) * | 2007-10-11 | 2013-05-28 | Super Talent Electronics, Inc. | Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read |
US8335907B2 (en) | 2009-12-30 | 2012-12-18 | Sandisk Technologies Inc. | Micro-update architecture for address tables |
KR20130031046A (ko) * | 2011-09-20 | 2013-03-28 | 삼성전자주식회사 | 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법 |
KR20170053278A (ko) * | 2015-11-06 | 2017-05-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102580820B1 (ko) * | 2016-03-10 | 2023-09-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
-
2017
- 2017-11-13 KR KR1020170150575A patent/KR102507140B1/ko active IP Right Grant
-
2018
- 2018-06-06 US US16/001,364 patent/US10838854B2/en active Active
- 2018-07-19 TW TW107124925A patent/TWI772466B/zh active
- 2018-08-17 CN CN201810942753.2A patent/CN109783008B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944742B1 (en) * | 2000-04-28 | 2005-09-13 | Microsoft Corporation | Compressed file system for non-volatile RAM |
CN1652089A (zh) * | 2004-02-06 | 2005-08-10 | 三星电子株式会社 | 重映射闪速存储器的方法 |
CN101923512A (zh) * | 2009-05-29 | 2010-12-22 | 晶天电子(深圳)有限公司 | 两层、三层闪存装置、智能存储开关和两层、三层控制器 |
CN101656094A (zh) * | 2009-09-25 | 2010-02-24 | 杭州华三通信技术有限公司 | 数据存储方法和存储设备 |
CN102063377A (zh) * | 2009-11-16 | 2011-05-18 | 联发科技股份有限公司 | 存储介质的数据存取管理方法及存储控制器 |
CN103530062A (zh) * | 2012-07-03 | 2014-01-22 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
CN103530062B (zh) * | 2012-07-03 | 2016-12-21 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
CN105103137A (zh) * | 2013-03-15 | 2015-11-25 | 西部数据技术公司 | 数据存储***的数据的压缩和格式化 |
CN104102585A (zh) * | 2013-04-03 | 2014-10-15 | 群联电子股份有限公司 | 映射信息记录方法、存储器控制器与存储器储存装置 |
CN103677670A (zh) * | 2013-12-11 | 2014-03-26 | 华为技术有限公司 | 读数据的方法及装置 |
CN104956312A (zh) * | 2013-12-12 | 2015-09-30 | 株式会社日立制作所 | 存储装置及存储装置的控制方法 |
CN104361113A (zh) * | 2014-12-01 | 2015-02-18 | 中国人民大学 | 一种内存-闪存混合存储模式下的olap查询优化方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190146910A1 (en) | 2019-05-16 |
US10838854B2 (en) | 2020-11-17 |
CN109783008A (zh) | 2019-05-21 |
KR20190054383A (ko) | 2019-05-22 |
TWI772466B (zh) | 2022-08-01 |
KR102507140B1 (ko) | 2023-03-08 |
TW201918869A (zh) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789161B2 (en) | Data storage device to identify and process a sequential read request and operating method thereof | |
CN110858129B (zh) | 数据存储装置及其操作方法 | |
CN109783008B (zh) | 数据存储装置及其操作方法 | |
CN111506516B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN110083545B (zh) | 数据存储装置及其操作方法 | |
CN110874330B (zh) | 非易失性存储器装置、数据存储装置及其操作方法 | |
CN109992202B (zh) | 数据存储设备、其操作方法以及包括其的数据处理*** | |
CN110837342A (zh) | 数据存储装置及其操作方法 | |
CN112445421A (zh) | 数据存储装置及其操作方法 | |
CN111752852A (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN113704138A (zh) | 存储装置及其操作方法 | |
CN110119326B (zh) | 数据存储装置及其操作方法 | |
CN112286443A (zh) | 控制器、存储器***及其操作方法 | |
CN110389907B (zh) | 电子装置 | |
CN110781093B (zh) | 能够改变映射高速缓存缓冲器大小的数据存储设备 | |
CN111752858A (zh) | 控制器、存储器***及其操作方法 | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
CN114764396A (zh) | 数据存储装置及其操作方法 | |
CN113806241A (zh) | 存储装置及其操作方法 | |
US11281590B2 (en) | Controller, operating method thereof and storage device including the same | |
US20190278703A1 (en) | Memory system, operating method thereof and electronic device | |
CN110795360B (zh) | 数据存储设备以及该数据存储设备的操作方法 | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN113805793A (zh) | 存储装置及其操作方法 | |
CN109840214B (zh) | 数据存储装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |