CN109240949B - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN109240949B CN109240949B CN201810327054.7A CN201810327054A CN109240949B CN 109240949 B CN109240949 B CN 109240949B CN 201810327054 A CN201810327054 A CN 201810327054A CN 109240949 B CN109240949 B CN 109240949B
- Authority
- CN
- China
- Prior art keywords
- memory block
- page
- data storage
- logical address
- storage device
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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
-
- 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
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/65—Details of virtual memory and virtual address translation
-
- 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
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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种数据存储装置的操作方法,其中数据存储装置包括非易失性存储器装置,非易失性存储器装置包括封闭存储块和开放存储块,在该方法中,开放存储块的扫描指针和映射扫描信息被生成。扫描指针指示完成写入操作的页面的下一页面。映射扫描信息包括被映射在开放存储块的页面中的逻辑地址信息。当数据存储装置从停电状态中恢复时,基于映射扫描信息来读取逻辑地址信息。基于读取的逻辑地址信息来重建地址映射。
Description
相关申请的交叉引用
本申请要求于2017年7月11日提交的申请号为10-2017-0087681的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例总体涉及一种数据存储装置,其使用非易失性存储器装置作为存储介质。
背景技术
近来,计算机环境范例已经变为允许用户在任何时间和任何地点访问计算机系统的普适计算环境。因此,诸如移动电话、数码相机、膝上型计算机等的便携式电子装置的使用正在急剧增长。便携式电子装置可包括使用存储器装置的数据存储装置。数据存储装置可用于存储在便携式电子装置中使用的数据。
因为使用存储器装置的数据存储装置不包括机械驱动元件,所以其可具有优异的稳定性和耐久性。此外,数据存储装置的优点在于它可快速地访问数据并消耗少量的电力。数据存储装置的非限制性示例可包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪速存储(UFS)装置以及固态驱动器(SSD)等。
发明内容
示例性实施例可提供一种数据存储装置及其操作方法,其能够当数据存储装置可从停电状态(power loss)中恢复时有效地重建地址映射。
在实施例中,在一种数据存储装置的操作方法中,其中数据存储装置包括非易失性存储器装置,非易失性存储器装置包括封闭存储块和开放存储块,开放存储块的扫描指针和映射扫描信息被生成。扫描指针指示完成写入操作的页面的下一页面。映射扫描信息包括被映射在开放存储块的页面中的逻辑地址信息。当数据存储装置从停电状态中恢复时,基于映射扫描信息来读取逻辑地址信息。基于读取的逻辑地址信息来重建地址映射。
在实施例中,数据存储装置包括非易失性存储器装置和控制单元。非易失性存储器装置包括封闭存储块和开放存储块。控制单元被配置成生成并管理地址映射,地址映射用于将逻辑地址转换成非易失性存储器装置的物理地址。控制单元生成扫描指针和映射扫描信息。扫描指针指示完成写入操作的页面的下一页面。映射扫描信息包括被映射在开放存储块的页面中的逻辑地址信息。当数据存储装置从停电状态中恢复时,控制单元基于映射扫描信息来读取逻辑地址信息。控制单元基于读取的逻辑地址信息来重建地址映射。
根据示例性实施例,当数据存储装置可从停电状态中恢复时,可有效地重建数据存储装置。
从以下结合附图的详细描述中,本发明的这些和其它特征与优点对于本发明领域的技术人员将变得显而易见。
附图说明
图1是示出根据示例性实施例的数据存储装置的框图。
图2是示出根据示例性实施例的由控制单元驱动的固件的框图。
图3是示出根据示例性实施例的P2L映射的框图。
图4是示出根据示例性实施例的L2P映射的框图。
图5是示出根据示例性实施例的存储块的框图。
图6是示出根据示例性实施例的页面P2L信息的框图。
图7是示出根据示例性实施例的块P2L信息的框图。
图8是示出根据示例性实施例的最初生成的映射扫描信息的框图。
图9是示出根据示例性实施例的更新后的映射扫描信息的框图。
图10是示出根据示例性实施例的数据存储装置的操作方法的流程图。
图11是示出根据实施例的包括固态驱动器的数据处理系统的示例的示图。
图12是示出根据实施例的包括数据存储装置的数据处理系统的示例的示图。
图13是示出根据实施例的包括数据存储装置的数据处理系统的示例的示图。
图14是示出根据实施例的包括数据存储装置的网络系统的示例的示图。
图15是示出根据本公开的实施例的包括在数据存储装置中的非易失性存储器装置的示例的框图。
具体实施方式
在下文中,将参照附图通过各个示例性实施例来描述本发明。
图1是示出根据示例性实施例的数据存储装置100的框图。
参照图1,数据存储装置100可被配置成存储由诸如以下的主机装置(未示出)访问的数据:移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视机(TV)、车载信息娱乐系统等。在一些实施例中,数据存储装置100可被称为存储器系统。
数据存储装置100可根据主机装置的主机接口协议而具有各种配置。例如,数据存储装置100可包括固态驱动器(SSD),诸如MMC、eMMC或微型MMC的多媒体卡,诸如SD、迷你-SD或微型-SD的安全数字卡,通用串行总线(USB),通用闪存(UFS),个人计算机存储卡国际协会(PCMCIA)卡,外围组件互连(PCI)卡,PCI-e(高速PCI)卡,标准闪存(CF)卡,智能媒体卡,记忆棒等。
数据存储装置100可具有各种封装类型。例如,数据存储装置100可包括堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)等。
数据存储装置100可包括控制器200和非易失性存储器装置300。
控制器200可包括主机接口单元210、控制单元220、随机存取存储器230和存储器控制单元240。
主机接口单元210可被配置成在主机装置和数据存储装置100之间进行接口连接。例如,主机接口单元210可使用诸如包括以下的标准传输协议中的任何一种的主机接口来与主机装置通信:通用串行总线(USB)、通用闪存(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)和PCI-e(高速PCI)。
控制单元220可包括微控制单元(MCU)和/或中央处理单元(CPU)。控制单元220可被配置成处理从主机装置接收到的请求。为了处理该请求,控制单元220可被配置成驱动诸如被加载到随机存取存储器230中的代码类型指令和/或算法的固件并且控制功能块210、230、240和250以及非易失性存储器装置300。
随机存取存储器230可包括诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的存储器。随机存取存储器230可被配置成存储由控制单元220驱动的固件。随机存取存储器230可被配置成存储用于驱动固件的数据,诸如元数据。也就是说,随机存取存储器230可被操作为控制单元220的工作存储器。
存储器控制单元240可被配置成在控制单元220的控制下控制非易失性存储器装置300。在一些实施例中,存储器控制单元240可被称为存储器接口单元。存储器控制单元240可将控制信号传输到非易失性存储器装置300。控制信号可包括用于控制非易失性存储器装置300的命令、地址等。存储器控制单元240可向非易失性存储器装置300传输数据并从非易失性存储器装置300接收数据。
非易失性存储器装置300可通过通道CH与控制器200连接,通道CH包括可通过其传输和/或接收命令、地址和控制信号的至少一条信号线。非易失性存储器装置300可用作数据存储装置100的存储介质。
非易失性存储器装置300可包括以下中的至少一个:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧穿磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PCRAM)以及使用过渡金属氧化物的电阻式随机存取存储器(RERAM)等。
非易失性存储器装置300可包括存储器单元区域310。存储器单元区域310可包括多个存储块B1至Bm。存储块B1至Bm中的每一个可包括多个页面P1至Pn。根据操作角度或物理或结构角度,存储器单元区域310中的存储器单元可形成分层的存储器单元组或存储器单元集,诸如块和页面。例如,与相同字线连接的、被同时读取和写入的存储器单元可形成页面。被同时擦除的存储器单元可形成存储块。
图2是示出根据示例性实施例的由图1的控制单元220驱动的固件的框图。
参照图2,加载到随机存取存储器230中的固件FW可包括地址映射MAP和映射扫描信息MSI。虽然未在附图中示出,但加载到随机存取存储器230中的固件FW可包括被配置成控制非易失性存储器装置300的模块,诸如损耗均衡模块、坏块管理模块、垃圾收集模块、交错模块,和/或被配置成应对异常停电的停电管理模块等。
主机装置可提供访问数据存储装置100的请求。主机装置可向数据存储装置100提供逻辑地址。控制单元220可将逻辑地址转换成非易失性存储器装置300的物理地址。控制单元220可基于物理地址来处理主机装置的请求。为了执行地址转换,可生成并管理地址转换信息,即地址映射MAP。地址映射MAP可包括图3中的物理到逻辑(P2L)映射和图4中的逻辑到物理(L2P)映射。
映射扫描信息MSI可包括用于重建地址映射MAP的信息。当电力可能被切断时,被加载到具有易失性特性的随机存取存储器230中的映射扫描信息可能丢失。因此,为了支持备份操作,映射扫描信息MSI可被存储在非易失性存储器装置300的存储块中,例如图5中的元块MB中。当数据存储装置100从停电状态中恢复时,控制单元220可参考存储在非易失性存储器装置中的映射扫描信息MSI。
图3是示出根据示例性实施例的物理到逻辑(P2L)映射的框图,
图4是示出根据示例性实施例的逻辑到物理(L2P)映射的框图。
参照图3和图4,P2L映射和L2P映射可具有基本上相同的地址转换信息。也就是说,从P2L映射获得的地址转换信息可与从L2P映射获得的地址转换信息基本相同。为了使P2L映射与L2P映射相等,可基于P2L映射生成L2P映射。例如,P2L映射可被存储在非易失性存储器装置300的存储器单元区域310中。在驱动数据存储装置100期间,可基于P2L映射生成L2P映射。L2P映射可被加载到随机存取存储器230中。
参照图3,可基于物理地址PA准备P2L映射。也就是说,P2L映射可使用物理地址PA作为索引IDX。P2L映射可包括对应于索引IDX的逻辑地址LA。
参照图4,可基于逻辑地址LA准备L2P映射。也就是说,L2P映射可使用逻辑地址LA作为索引IDX。L2P映射可包括对应于索引IDX的物理地址PA。
图5是示出根据示例性实施例的存储块的框图。在图5中,作为示例,存储块B1至B8中的每一个可包括四个页面P1至P4。存储器单元区域310中的存储块和页面的数量可通过设计而改变
存储块B1至B8可被分类为空存储块EB、元存储块MB和数据存储块DB。可根据控制单元220的用途和应用来分类存储块B1至B8。
数据存储块DB可定义为被配置成存储用户数据的存储块。用户数据可包括由用户控制的主机装置的软件生成和使用的数据,诸如应用程序代码、文件等。数据存储块DB可被分类为封闭存储块CB和开放存储块OB。
封闭存储块CB可被定义为已经完成写入操作的存储块。也就是说,封闭存储块CB中所有可存储数据的页面都写入有数据。封闭存储块CB可包括一个或多个存储有效数据的有效页面VP,以及一个或多个存储无效数据的无效页面IVP。
开放存储块OB可被定义为可进行写入操作的存储块。也就是说,开放存储块OB可包括可存储数据的一个或多个页面。开放存储块OB可包括一个或多个有效页面VP和一个或多个空页面EP。存储在开放存储块OB中的数据可被传输到封闭存储块CB。可选地,开放存储块OB可被转换成封闭存储块CB。因此,开放存储块OB可被称为日志块或缓冲块。
元存储块MB可定义为被配置成存储元数据的存储块。用于驱动固件的元数据可包括由控制器200生成并使用的数据,诸如地址映射MAP和映射扫描信息MSI。
空存储块EB可定义为其中未存储数据的存储块。当元存储块MB和数据存储块DB中的数据被擦除时,元存储块MB和数据存储块DB被转换成空存储块EB。
图6是示出根据示例性实施例的页面P2L信息PP2L的框图。为了解释页面P2L信息PP2L,图6中示出可进行写入操作的开放存储块OB。
被映射在例如页面地址的物理地址中的逻辑地址信息可以与数据一起存储在可存储该数据的页面中。与数据一起存储的逻辑地址信息可被定义为页面P2L信息PP2L。参照图6,例如,映射在第五块B5的第一页面P1中的页面P2L信息PP2L可与有效数据一起存储在第五块B5的第一页面P1中。
图7是示出根据示例性实施例的块P2L信息BP2L的框图。为了解释块P2L信息BP2L,在图7中示出封闭存储块CB的可存储数据的所有页面。
存储块中的有效页面VP中的每一个的页面P2L信息PP2L可被存储在存储块中的页面中的任何一个中。可被存储在存储块的页面中的任何一个中的、存储块的有效页面VP中的每一个的页面P2L信息PP2L可被定义为块P2L信息BP2L。换言之,块P2L信息BP2L可包括存储块中包括的所有有效页面的页面P2L信息,并且可被存储在存储块中的一个页面中。例如,块P2L信息BP2L可被存储在存储块中的最后一个页面中,但本发明不限于此。参照图7,例如,存储在第一存储块B1的第一页面P1和第二页面P2中的页面P2L信息PP2L可被再次存储在第一存储块B1的第四页面P4中。存储在第二存储块B2的第一页面至第三页面P1、P2和P3中的页面P2L信息PP2L可被再次存储在第二存储块B2的第四页面P4中。存储在第三存储块B3的第一页面至第三页面P1、P2和P3中的页面P2L信息PP2L可被再次存储在第三存储块B3的第四页面P4中。存储在第四存储块B4的第二页面P2中的页面P2L信息PP2L可被再次存储在第四存储块B4的第四页面P4中。
图1的控制单元220可被配置成基于块P2L信息BP2L来生成或更新L2P映射。
图8是示出根据示例性实施例的最初生成的映射扫描信息的框图。
参照图8,当数据存储装置100从停电状态中恢复时,为了重建地址映射MAP,控制单元220可参考存储在存储器单元区域310的元存储块MB中的映射扫描信息MSI。控制单元220可基于映射扫描信息MSI来扫描作为开放存储块OB的第五存储块B5的页面P2L信息PP2L。控制单元220可将扫描的信息反映在P2L映射上。
映射扫描信息MSI可包括扫描指针SP。扫描指针SP可用作用于扫描开放存储块OB的页面P2L信息PP2L的位置信息。例如,扫描指针SP可指示可能最后执行写入操作的页面P1的下一页面P2。当可从第一页面P1至第四页面P4顺序地执行写入操作时,扫描指针SP可指示可能最后执行写入操作的页面P1的下一页面P2。可选地,扫描指针SP可指示在空页面P2、P3和P4之中的可首先执行写入操作的第二页面P2。
映射扫描信息MSI可包括其中可存储开放存储块OB的数据的页面的页面P2L信息PP2L。可基于扫描指针SP来扫描其中可存储开放存储块OB的数据的页面的页面P2L信息PP2L。例如,映射扫描信息MSI中的页面P2L信息PP2L可包括从当前扫描指针SP到先前扫描指针SP扫描的页面的页面P2L信息PP2L。
如图8所示,初始生成的映射扫描信息MSI_1st可包括一个扫描指针SP。在这种情况下,作为开放存储块OB的存储块B5的页面P2L信息PP2L可包括从当前扫描指针SP=P2扫描的页面到第一页面P1的页面P2L信息PP2L。
图9是示出根据示例性实施例的更新后的映射扫描信息的框图。
参照图9,当可能发生备份事件或数据存储装置100可能从停电状态中恢复时,可生成或更新存储在图5的元存储块MB中的映射扫描信息MSI。可通过更新图8的初始映射扫描信息MSI_1st来获得映射扫描信息MSI_2nd。
当直到映射扫描信息MSI_2nd被更新而最后写入的页面可能被改变时,扫描指针SP可被更新。也就是说,先前扫描指针可被改变成当前扫描指针。例如,当最后写入的页面可从第一页面P1改变成第二页面P2时,先前扫描指针SP=P2可被改变成当前扫描指针SP=P3。
可根据扫描指针SP的更新来更新开放存储块OB的页面P2L信息PP2L。也就是说,可从当前扫描指针到先前扫描指针来扫描页面,从而可更新开放存储块OB的页面P2L信息PP2L。例如,开放存储块OB的页面P2L信息PP2L可包括从当前扫描指针SP=P3到先前扫描指针SP=P2扫描的页面P2和P3的页面P2L信息PP2L。因为当前扫描指针SP=P3可能对应于空页面EP,所以虽然当前扫描指针SP=P3的页面可被扫描,但第三页面P3的页面P2L信息PP2L可不被反映到映射扫描信息MSI_2nd。
图10是示出根据示例性实施例的数据存储装置的操作方法的流程图。在图10中,当数据存储装置100可从停电状态中恢复时,可示出由图1的控制单元220执行的用于重建地址映射MAP的操作。
参照图10,在步骤S110中,控制单元220可确定数据存储装置100是否正在从停电状态中恢复。当数据存储装置100未从停电状态中恢复时,可结束由该方法执行的进程。
在步骤S120中,当数据存储装置100正在从停电状态中恢复时,控制单元220可读取封闭存储块的块P2L信息。
在步骤S130中,控制单元220可基于元存储块MB中的映射扫描信息MSI来读取开放存储块OB的页面P2L信息。
在步骤S140中,控制单元220可基于元存储块MB中的映射扫描信息MSI,来从当前扫描指针到先前扫描指针扫描至少一个页面。当可从当前扫描指针到先前扫描指针扫描了至少一个页面时,可读取所扫描的页面的页面P2L信息。
在步骤S150中,控制单元220可基于在步骤S120至S140中读取的块P2L信息BP2L和页面P2L信息PP2L来重建P2L映射。控制单元220可基于P2L映射来重建L2P映射。例如,控制单元220可将在步骤S120中读取的块P2L信息BP2L、在步骤S130中读取的页面P2L信息PP2L和在步骤S140中读取的P2L信息彼此合并以重建P2L映射。
图11是示出根据实施例的包括固态驱动器(SSD)1200的数据处理系统1000的示例的示图。参照图11,数据处理系统1000可包括主机装置1100和SSD 1200。
SSD 1200可包括控制器1210、缓冲存储器装置1220、非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可控制SSD 1200的一般操作。控制器1210可包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可包括命令、地址、数据等。主机接口单元1211可根据主机装置1100的协议在主机装置1100和SSD 1200之间进行接口连接。例如,主机接口单元1211可通过诸如以下的标准接口协议中的任何一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e)和通用闪存(UFS)。
控制单元1212可分析并处理从主机装置1100输入的信号SGL。控制单元1212可根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可用作驱动这种固件或软件的工作存储器。
ECC单元1214可针对待被传输到非易失性存储器装置1231至123n的数据而生成奇偶校验数据。生成的奇偶校验数据可与数据一起存储在非易失性存储器装置1231至123n中。ECC单元1214可基于奇偶校验数据来检测从非易失性存储器装置1231至123n读出的数据的错误。如果检测到的错误在可校正范围内,则ECC单元1214可校正检测到的错误。
存储器接口单元1215可根据控制单元1212的控制,将诸如命令和地址的控制信号提供给非易失性存储器装置1231至123n。此外,存储器接口单元1215可根据控制单元1212的控制,与非易失性存储器装置1231至123n交换数据。例如,存储器接口单元1215可将存储在缓冲存储器装置1220中的数据提供至非易失性存储器装置1231至123n,或者将从非易失性存储器装置1231至123n读出的数据提供至缓冲存储器装置1220。
缓冲存储器装置1220可临时存储待被存储在非易失性存储器装置1231至123n中的数据。进一步地,缓冲存储器装置1220可临时存储从非易失性存储器装置1231至123n读出的数据。被临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制而被传输到主机装置1100或非易失性存储器装置1231至123n。
非易失性存储器装置1231至123n可用作SSD 1200的存储介质。非易失性存储器装置1231至123n可分别通过多个通道CH1至CHn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个通道。联接到每一个通道的非易失性存储器装置可联接到相同的信号总线和数据总线。
电源1240可将通过电源连接器1260输入的电力PWR提供至SSD1200的内部。电源1240可包括辅助电源1241。当发生突然断电时,辅助电源1241可进行供电以允许SSD 1200正常地结束。辅助电源1241可包括至少一个具有大容量的电容器。
信号连接器1250可根据主机装置1100和SSD 1200之间的接口连接方案而由各种类型的连接器配置。
电源连接器1260可根据主机装置1100的供电方案而由各种类型的连接器配置。
图12是示出根据实施例的包括数据存储装置2200的数据处理系统2000的示例的示图。参照图12,数据处理系统2000可包括主机装置2100和数据存储装置2200。
主机装置2100可以诸如印制电路板的板形式来配置。尽管未示出,但主机装置2100可包括用于执行主机装置的功能的内部功能块。
主机装置2100可包括诸如插座、插槽或连接器的连接端子2110。数据存储装置2200可被安装到连接端子2110。
数据存储装置2200可以诸如印制电路板的板形式来配置。数据存储装置2200可被称为存储器模块或存储卡。数据存储装置2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可控制数据存储装置2200的一般操作。控制器2210可以与图11所示的控制器1210相同的方式来配置。
缓冲存储器装置2220可临时存储待被存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可临时存储从非易失性存储器装置2231和2232读出的数据。根据控制器2210的控制,被临时存储在缓冲存储器装置2220中的数据可被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可用作数据存储装置2200的存储介质。
PMIC 2240可将通过连接端子2250输入的电力提供到数据存储装置2200的内部。PMIC 2240可根据控制器2210的控制来管理数据存储装置2200的电力。
连接端子2250可联接到主机装置2100的连接端子2110。通过连接端子2250,诸如命令、地址、数据等的信号和电力可在主机装置2100与数据存储装置2200之间传输。连接端子2250可根据主机装置2100与数据存储装置2200之间的接口连接方案而被配置成各种类型。连接端子2250可被设置在数据存储装置2200的任何一侧。
图13是示出根据实施例的包括数据存储装置3200的数据处理系统3000的示例的示图。参照图13,数据处理系统3000可包括主机装置3100和数据存储装置3200。
主机装置3100可以诸如印制电路板的板形式来配置。尽管未示出,但主机装置3100可包括用于执行主机装置的功能的内部功能块。
数据存储装置3200可以表面安装型封装的形式来配置。数据存储装置3200可通过焊球3250安装到主机装置3100。数据存储装置3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可控制数据存储装置3200的一般操作。控制器3210可以与图11所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读出的数据。根据控制器3210的控制,被临时存储在缓冲存储器装置3220中的数据可被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可用作数据存储装置3200的存储介质。
图14是示出根据实施例的包括数据存储装置4200的网络系统4000的示例的示图。参照图14,网络系统4000可包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可存储从多个客户端系统4410至4430提供的数据。又例如,服务器系统4300可将数据提供给多个客户端系统4410至4430。
服务器系统4300可包括主机装置4100和数据存储装置4200。数据存储装置4200可由图1所示的数据存储装置100、图11所示的数据存储装置1200、图12所示的数据存储装置2200或图13所示的数据存储装置3200来配置。
图15是示出根据实施例的包括在数据存储装置中的非易失性存储器装置300的框图。参照图15,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、列解码器340、数据读取/写入块330、电压发生器350和控制逻辑360。
存储器单元阵列310可包括在字线WL1至WLm和位线BL1至BLn彼此交叉的区域中布置的存储器单元MC。
行解码器320可通过字线WL1至WLm联接到存储器单元阵列310。行解码器320可通过控制逻辑360的控制来进行操作。行解码器320可对从外部设备(未示出)提供的地址进行解码。行解码器320可基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可将从电压发生器350提供的字线电压提供至字线WL1至WLm。
数据读取/写入块330可通过位线BL1至BLn联接到存储器单元阵列310。数据读取/写入块330可包括对应于各个位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可根据控制逻辑360的控制来操作。根据操作模式,数据读取/写入块330可操作为写入驱动器或读出放大器。例如,数据读取/写入块330可操作为写入驱动器,其被配置成在写入操作中将从外部设备提供的数据存储在存储器单元阵列310中。在另一示例中,数据读取/写入块330可操作为读出放大器,其被配置成在读取操作中从存储器单元阵列310读取数据。
列解码器340可通过控制逻辑360的控制来进行操作。列解码器340可对从外部设备(未示出)提供的地址进行解码。列解码器340可基于解码结果将对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出(I/O)线(或数据I/O缓冲器)进行联接。
电压发生器350可生成用于非易失性存储器装置300的内部操作的电压。通过电压发生器350生成的电压可被施加到存储器单元阵列310的存储器单元。例如,可将在编程操作中生成的编程电压施加到待执行编程操作的存储器单元的字线。在另一示例中,在擦除操作中生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区。在另一示例中,在读取操作中生成的读取电压可被施加到待执行读取操作的存储器单元的字线。
控制逻辑360可基于从外部设备提供的控制信号来控制非易失性存储器装置300的全部操作。例如,控制逻辑360可控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
本公开的上述实施例是说明性的而非限制性的。各种替代方案和等同物是可能的。实施例的示例不受本文描述的实施例限制。本公开也不限于任何特定类型的半导体器装置。鉴于本公开,其它添加、删减或修改是显而易见的,并且旨在落入所附权利要求的范围内。
Claims (16)
1.一种数据存储装置的操作方法,所述数据存储装置包括非易失性存储器装置,所述非易失性存储器装置包括封闭存储块和开放存储块,所述方法包括:
生成扫描指针,所述扫描指针被配置成指示所述开放存储块的最后执行写入操作的页面的下一页面;
生成映射扫描信息,所述映射扫描信息包括被映射在所述开放存储块的页面中的逻辑地址信息;
当所述数据存储装置从停电状态中恢复时,基于所述映射扫描信息来读取所述逻辑地址信息;以及
基于所读取的逻辑地址信息来重建地址映射,
其中基于所述映射扫描信息来读取所述逻辑地址信息包括:
从当前扫描指针到先前扫描指针扫描所述开放存储块的页面;以及
读取在其中存储所述开放存储块的数据的页面中存储的所述逻辑地址信息。
2.根据权利要求1所述的方法,其中基于所述映射扫描信息来读取所述逻辑地址信息包括:从所述映射扫描信息中读取被映射在所述开放存储块的页面中的所述逻辑地址信息。
3.根据权利要求1所述的方法,其进一步包括:
当所述数据存储装置从停电状态中恢复时,读取被映射在所述封闭存储块的至少一个有效页面中的所述逻辑地址信息;以及
基于所读取的逻辑地址信息来重建所述地址映射。
4.根据权利要求3所述的方法,其中读取被映射在所述封闭存储块的至少一个有效页面中的所述逻辑地址信息包括:读取被存储在所述封闭存储块的页面的任何一个页面中的、被映射在所述封闭存储块的所有有效页面中的所述逻辑地址信息。
5.根据权利要求3所述的方法,其中的重建所述地址映射包括:将映射在所述开放存储块的页面中的所述逻辑地址信息与映射在所述封闭存储块的至少一个有效页面中的所述逻辑地址信息进行合并。
6.根据权利要求1所述的方法,其进一步包括:当发生备份事件或所述数据存储装置从停电状态中恢复时,更新所述映射扫描信息。
7.根据权利要求6所述的方法,其中更新所述映射扫描信息包括:直到所述映射扫描信息被更新时,更新所述扫描指针以指示最后写入的页面的下一页面。
8.根据权利要求6所述的方法,其中更新所述映射扫描信息包括:
从更新后的扫描指针到未更新的扫描指针扫描所述开放存储块的页面;以及
更新被映射在所述开放存储块的页面中的所述逻辑地址信息。
9.一种数据存储装置,其包括:
非易失性存储器装置,其包括封闭存储块和开放存储块;以及
控制单元,其被配置成生成并管理地址映射,所述地址映射用于将逻辑地址转换成所述非易失性存储器装置的物理地址,
其中所述控制单元被配置成:
生成扫描指针和映射扫描信息,所述扫描指针被配置成指示所述开放存储块的最后执行写入操作的页面的下一页面,并且所述映射扫描信息包括被映射在所述开放存储块的页面中的逻辑地址信息;
当所述数据存储装置从停电状态中恢复时,基于所述映射扫描信息来读取所述逻辑地址信息;并且
基于所读取的逻辑地址信息来重建地址映射,
其中所述控制单元从当前扫描指针到先前扫描指针扫描所述开放存储块的页面,并且读取在其中存储所述开放存储块的数据的页面中存储的所述逻辑地址信息。
10.根据权利要求9所述的数据存储装置,其中所述控制单元从所述映射扫描信息中读取被映射在所述开放存储块的页面中的所述逻辑地址信息。
11.根据权利要求9所述的数据存储装置,其中当所述数据存储装置从停电状态中恢复时,所述控制单元读取被映射在所述封闭存储块的至少一个有效页面中的所述逻辑地址信息,并且所述控制单元基于所读取的逻辑地址信息来重建所述地址映射。
12.根据权利要求11所述的数据存储装置,其中所述控制单元读取被存储在所述封闭存储块的页面中的任何一个页面中的、被映射在所述封闭存储块的所有有效页面中的所述逻辑地址信息。
13.根据权利要求11所述的数据存储装置,其中所述控制单元将被映射在所述开放存储块的页面中的所述逻辑地址信息与映射在所述封闭存储块的至少一个有效页面中的所述逻辑地址信息进行合并。
14.根据权利要求9所述的数据存储装置,其中当发生备份事件或所述数据存储装置从停电状态中恢复时,所述控制单元更新所述映射扫描信息。
15.根据权利要求14所述的数据存储装置,其中直到所述映射扫描信息被更新时,所述控制单元更新所述扫描指针以指示最后写入的页面的下一页面。
16.根据权利要求14所述的数据存储装置,其中所述控制单元从更新后的扫描指针到未更新的扫描指针扫描所述开放存储块的页面,并且更新被映射在所述开放存储块的页面中的所述逻辑地址信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170087681A KR102270103B1 (ko) | 2017-07-11 | 2017-07-11 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2017-0087681 | 2017-07-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109240949A CN109240949A (zh) | 2019-01-18 |
CN109240949B true CN109240949B (zh) | 2023-04-25 |
Family
ID=64999680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810327054.7A Active CN109240949B (zh) | 2017-07-11 | 2018-04-12 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10691352B2 (zh) |
KR (1) | KR102270103B1 (zh) |
CN (1) | CN109240949B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021005121A (ja) | 2019-06-25 | 2021-01-14 | 株式会社日立製作所 | ストレージ装置、及び制御方法 |
CN113900589A (zh) * | 2021-09-16 | 2022-01-07 | 合肥致存微电子有限责任公司 | 一种数据的写入方法及装置 |
US11960745B2 (en) * | 2022-08-17 | 2024-04-16 | Micron Technology, Inc. | Empty page scan operations adjustment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09188024A (ja) * | 1996-01-05 | 1997-07-22 | King Jim Co Ltd | 文字情報処理装置 |
US6725321B1 (en) * | 1999-02-17 | 2004-04-20 | Lexar Media, Inc. | Memory system |
KR20100062551A (ko) * | 2008-12-02 | 2010-06-10 | 삼성전자주식회사 | 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396103B2 (en) * | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
US8621138B2 (en) * | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
KR101077904B1 (ko) * | 2010-07-12 | 2011-10-31 | (주)이더블유비엠코리아 | 페이지 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법 |
KR101969883B1 (ko) * | 2012-04-13 | 2019-04-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9218279B2 (en) | 2013-03-15 | 2015-12-22 | Western Digital Technologies, Inc. | Atomic write command support in a solid state drive |
KR20160064364A (ko) | 2014-11-27 | 2016-06-08 | 삼성전자주식회사 | 패스트 오픈을 위한 어드레스 맵 운영방법 및 그에 따른 메모리 시스템 |
US10007451B2 (en) * | 2015-03-20 | 2018-06-26 | SK Hynix Inc. | Scalable SPOR algorithm for flash memories |
KR102395541B1 (ko) * | 2015-07-09 | 2022-05-11 | 에스케이하이닉스 주식회사 | 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치 |
KR102381218B1 (ko) * | 2015-09-25 | 2022-04-01 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170053278A (ko) * | 2015-11-06 | 2017-05-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10534547B2 (en) * | 2015-12-29 | 2020-01-14 | EMC IP Holding Company LLC | Consistent transition from asynchronous to synchronous replication in hash-based storage systems |
-
2017
- 2017-07-11 KR KR1020170087681A patent/KR102270103B1/ko active IP Right Grant
-
2018
- 2018-01-29 US US15/881,859 patent/US10691352B2/en active Active
- 2018-04-12 CN CN201810327054.7A patent/CN109240949B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09188024A (ja) * | 1996-01-05 | 1997-07-22 | King Jim Co Ltd | 文字情報処理装置 |
US6725321B1 (en) * | 1999-02-17 | 2004-04-20 | Lexar Media, Inc. | Memory system |
KR20100062551A (ko) * | 2008-12-02 | 2010-06-10 | 삼성전자주식회사 | 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법 |
Also Published As
Publication number | Publication date |
---|---|
US10691352B2 (en) | 2020-06-23 |
CN109240949A (zh) | 2019-01-18 |
US20190018602A1 (en) | 2019-01-17 |
KR102270103B1 (ko) | 2021-06-28 |
KR20190006687A (ko) | 2019-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681931B (zh) | 数据储存设备及其操作方法 | |
CN108932107B (zh) | 数据存储装置及其操作方法 | |
US9164833B2 (en) | Data storage device, operating method thereof and data processing system including the same | |
US10838854B2 (en) | Data storage device and operating method thereof | |
KR20180051272A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN111916140B (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
US10877853B2 (en) | Data storage device and operation method optimized for recovery performance, and storage system having the same | |
CN109727630B (zh) | 存储系统及其操作方法 | |
CN109240949B (zh) | 数据存储装置及其操作方法 | |
CN109240937B (zh) | 数据存储装置及其操作方法 | |
US10558562B2 (en) | Data storage device and operating method thereof | |
CN110119326B (zh) | 数据存储装置及其操作方法 | |
CN111752858A (zh) | 控制器、存储器系统及其操作方法 | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
US20210349825A1 (en) | Memory controller | |
CN114764396A (zh) | 数据存储装置及其操作方法 | |
US10720943B2 (en) | Data storage device, operation method thereof and storage system having the same | |
CN109840214B (zh) | 数据存储装置及其操作方法 | |
KR20220005832A (ko) | 메타 데이터 관리를 위한 메모리 시스템 및 메모리 시스템의 동작방법 | |
US9966148B1 (en) | Data storage device and operating method thereof | |
US11379362B2 (en) | Memory system and operating method thereof | |
US11422892B2 (en) | Data storage apparatus and operating method thereof | |
US11355215B2 (en) | Data storage apparatus and operation method i'hereof |
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 |