CN101236483A - 合作存储器管理 - Google Patents
合作存储器管理 Download PDFInfo
- Publication number
- CN101236483A CN101236483A CNA200810008933XA CN200810008933A CN101236483A CN 101236483 A CN101236483 A CN 101236483A CN A200810008933X A CNA200810008933X A CN A200810008933XA CN 200810008933 A CN200810008933 A CN 200810008933A CN 101236483 A CN101236483 A CN 101236483A
- Authority
- CN
- China
- Prior art keywords
- main frame
- memory
- card device
- memory card
- management functions
- 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.)
- Pending
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
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/7206—Reconfiguration of flash memory system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Storage Device Security (AREA)
Abstract
提供了一种合作存储器管理,具体地讲,提供了一种合作存储卡***以及在主机和存储卡装置之间的合作存储器管理的相应方法,所述合作存储卡***包括:存储卡装置;和主机,与存储卡装置进行信号通信,其中,主机承担存储卡装置的至少一个存储器管理功能;所述相应方法包括选择几个存储器管理功能中的至少一个来由主机替代装置执行。
Description
技术领域
本公开总体涉及使用闪存技术的大容量数字数据存储***,更具体地讲,涉及用于有效分配这种***的资源的技术。
背景技术
新兴的便携式电子装置(例如,计算机、数码相机、数字音乐播放器、蜂窝电话、个人数据助理等)使得越来越多地使用闪存和/或闪存卡。闪存卡可包括SSD、SD卡、MMC、存储棒、嵌入式卡(例如moviNAND、GBNAND、iNAND)等。主机通过使用闪存转换层(FTL)与闪存进行通信。FTL通常存储在控制器或闪存中的闪存卡上,并使用固件形式来有效地管理所述闪存卡。
FTL执行几种功能,例如,地址映射、磨损平衡、垃圾回收等。地址映射操作将从主机接收的逻辑地址转换为将在闪存中实际用于存储数据的物理地址。例如,可将磨损平衡实现为用于平衡物理块的擦除数的固件技术,以充分利用NAND闪存的寿命。垃圾回收操作可回收几个块的有效数据,并填充一个块,同时释放原始块。
传统的闪存卡可在闪存控制器中执行所有的FTL功能。然而,闪存控制器的资源通常小于主机的资源。因此,这导致在所述控制器中执行的这种FTL功能的执行速度通常较慢。在一些情况下,例如,在所述控制器过载的情况下,根本无法执行FTL功能。
发明内容
由合作存储器管理***来解决这些和其他问题。提供了示例性实施例。
提供了一种示例性的合作存储卡***,所述***包括:存储卡装置;和主机,与存储卡装置进行信号通信,其中,主机承担存储卡装置的至少一个存储器管理功能。
另外,提供了类似的示例性存储卡***。提供了另一种***,其中,主机向存储卡装置发出至少一个命令。提供了另一***,所述另一***包括闪存、FRAM、PRAM、MRAM、DRAM或EEPROM中的至少一个。提供了另一***,其中,所述至少一个存储器管理功能是闪存转换层任务。提供了另一***,其中,所述至少一个存储器管理功能是操作***任务。提供了另一***,其中,所述至少一个存储器管理功能是装置驱动器任务。
提供了另一***,其中,所述主机包括:主机处理器;和工作存储器,与主机处理器进行信号通信。提供了另一***,其中,主机执行存储卡装置的资源检查,并响应于此承担存储卡装置的至少一个任务。提供了另一***,其中,主机检查它自己的可用资源,并响应于此承担存储卡装置的至少一个任务。提供了另一***,其中,主机执行存储卡装置的资源检查,将存储卡装置的资源与主机的可用资源进行比较,并响应于所述比较承担存储卡装置的至少一个任务。
提供了另一***,其中,由主机承担的存储卡装置的至少一个任务是用于地址映射、磨损平衡、垃圾回收、断电恢复、坏块管理、纠错编码、用于实时管理的写缓冲、热对冷的数据管理、加密、解密、压缩或解压缩的功能中的至少一个。提供了另一***,其中,厂商指定存储卡装置驱动器包括用于执行存储器管理功能的软件模块。提供了另一***,其中,存储卡装置包括固态盘、USB卡、SD卡、MMC、存储棒或嵌入式装置中的至少一个。提供了另一***,其中,存储卡装置包括:控制器;和存储器,与控制器进行信号通信。
提供了一种示例性的主机和存储卡装置之间的合作存储器管理的方法,所述方法包括:选择多个存储器管理功能中的至少一个来由主机替代存储卡装置执行。
另外,提供了类似的示例性的合作存储器管理的方法。另一种这样的方法包括:检查主机或装置中的至少一个的可用资源;和响应于检查的可用资源选择至少一个存储器管理功能。提供了另一种方法,其中,检查的资源是主机的资源。提供了另一种方法,其中,检查的资源是装置的资源。提供了另一种方法,其中,检查的资源是主机的资源和装置的资源。提供了另一种方法,其中,检查可用资源的步骤包括:装置向主机发出请求,请求主机执行选择的至少一个存储器管理功能。提供了另一种方法,其中,主机向存储卡装置发出至少一个命令。提供了另一种方法,所述方法包括将选择的至少一个存储器管理功能从存储卡装置加载到主机的随机存取存储器。
提供了另一种方法,其中,所述至少一个存储器管理功能包括闪存转换层的功能。提供了另一种方法,所述方法包括:使用主机检查存储卡装置的可用资源,将主机的可用资源与存储卡装置的可用资源进行比较,并响应于所述比较来确定哪些存储器管理功能将在主机中执行以及哪些存储器管理功能将在存储卡装置中执行。提供了另一种方法,其中,主机的可用资源包括处理器类型、处理器速度、存储器大小、存储器速度、总线类型、总线速度、加密类型或加密速度中的至少一个。提供了另一种方法,其中,存储器管理功能包括地址映射、磨损平衡、垃圾回收或擦除数累计中的至少一个。提供了另一种方法,其中,选择的主机的至少一个存储器管理功能具有对主机设置而对装置重置的参数。提供了另一种方法,其中,主机和装置之间的通信协议包括通用串行总线协议或高级技术配件协议中的至少一个。
提供了另一种方法,其中,选择的至少一个存储器管理功能被存储卡装置的闪存转换层代码包括。提供了另一种方法,其中,选择的至少一个存储器管理功能被装置驱动器包括。提供了另一种方法,其中,选择的至少一个存储器管理功能被存储卡装置的操作***包括。提供了另一种方法,所述方法包括:将存储器管理功能代码从存储卡装置的存储器加载到存储卡装置的控制器随机存取存储器,并将操作***从存储卡装置的存储器加载到主机的随机存取存储器。
提供了另一种方法,所述方法包括:将至少一个厂商指定存储卡装置驱动器加载到主机的随机存取存储器。提供了另一种方法,所述方法包括:将元数据从存储卡装置加载到主机。提供了另一种方法,所述方法包括:在主机中初始化选择的存储器管理功能。提供了另一种方法,所述方法包括:在主机中激活选择的存储器管理功能。提供了另一种方法,所述方法包括:产生主机的写请求,使用主机存储器管理功能读取映射信息,检查存储卡装置上可用的写空间,如果装置上有可用的写空间,则将写请求发送到装置。
提供了另一种方法,所述方法包括:检查存储卡装置上的垃圾块,如果装置上没有垃圾块,则执行垃圾回收,指定垃圾块并更新垃圾回收数据,并且擦除垃圾块。提供了另一种方法,所述方法包括:检查存储卡装置上的磨损平衡的需求,如果需要磨损平衡,则执行磨损平衡,并更新用于磨损平衡的元数据。
从下面对示例性实施例的描述,将进一步理解本公开,结合附图来阅读所述示例性实施例。
附图说明
根据下面的示例性附图,本公开提供了用于分区的闪存转换层(FTL)的合作存储器管理,其中:
图1示出具有闪存转换层的闪存卡***的示意性框图;
图2示出根据本公开的示例性实施例的具有合作存储器管理的闪存卡***的示意性框图;
图3示出根据本公开的示例性实施例的具有分区的闪存转换层的闪存卡***的示意性框图;
图4示出根据本公开的示例性实施例的合作存储器管理方法的示意性流程图;
图5示出根据本公开的示例性实施例的合作存储器管理***的示意性存储器映射;
图6示出根据本公开的示例性实施例的使用分区的FTL的合作存储器管理的方法的示意性流程图;
图7示出根据本公开的示例性实施例的主机和装置支持的功能的示意性框图;
图8示出根据本公开的示例性实施例的主机和装置激活的功能的示意性框图;和
图9示出根据本公开的示例性实施例的在合作存储器管理***中主机和装置之间的通信方法的示意性框图。
具体实施方式
本公开提供了主机和闪存装置之间的合作存储器管理。本公开的示例性实施例包括具有分区的闪存转换层(FTL)的***和相应的方法。示例性的合作存储器管理方法使用主机来检查闪存卡的资源,将闪存卡的资源与主机的资源进行比较,并确定哪些FTL功能将由主机运行以及哪些FTL功能由闪存卡运行。
如图1所示,用标号100总地表示闪存卡***。闪存卡***100可以是便携式电子装置,例如计算机、数码相机、数字音乐播放器、蜂窝电话、个人数据助理(PDA)等。闪存卡***100包括与闪存卡120进行信号通信的主机110。闪存卡120可以是固态盘(SSD)、SD卡、MMC、存储棒、嵌入式卡(例如moviNAND、GBNAND、iNAND)等
闪存卡120包括与闪存150进行信号通信的控制器130。主机110通过使用闪存转换层(FTL)与闪存150通信,所述FTL可包括用于有效管理闪存卡120的逻辑和/或固件。可在控制器130中或在闪存150中存储或实现FTL。
控制器130包括:与控制器总线132进行信号通信的主机接口131、与控制器总线132进行信号通信的闪存接口133、与控制器总线132进行信号通信的缓冲存储器135、与控制器总线132进行信号通信的CPU 137和与控制器总线132进行信号通信的ROM 139。转到图2,用标号200总地表示具有合作存储器管理的闪存卡***。闪存卡***200包括与闪存卡220进行信号通信的主机210。主机210包括:主机总线211、与主机总线211进行信号通信的工作存储器213以及与主机总线211进行信号通信的主机CPU 215。
闪存卡220包括与闪存250进行信号通信的控制器230。控制器230包括:控制器总线232、与控制器总线232进行信号通信的控制器CPU 233、与控制器总线232进行信号通信的缓冲存储器235以及与控制器总线232进行信号通信的ROM 237。闪存250包括:闪存转换层(FTL)代码块253、操作***(OS)图像块255和用户数据块257。在运行中,主机210中的主机CPU 215和工作存储器213可能速度相对快于控制器230中的控制器CPU 233和缓冲存储器235。因此,可使用主机210来执行FTL的一些功能。最初,FTL代码块253和OS图像255存储在闪存250中。例如,OS图像块255可包括用于执行一般功能的装置驱动器和文件***。本实施例的OS图像块255还可包括用于执行FTL功能(例如,地址映射功能、磨损平衡功能和垃圾回收功能)的软件模块。
现在转到图3,与图2的闪存卡***200类似的具有分区的FTL的闪存卡***被更详细地示出,并用标号300总地表示。闪存卡***300包括与闪存卡320进行信号通信的主机310。主机310包括:主机总线311、与主机总线311进行信号通信的工作存储器313以及与主机总线311进行信号通信的主机CPU 315。工作存储器313包括磨损平衡块314。
闪存卡320包括与闪存350进行信号通信的控制器330。控制器330包括控制器总线332、与控制器总线332进行信号通信的控制器CPU 333、与控制器总线332进行信号通信的缓冲存储器335以及与控制器总线332进行信号通信的ROM 337。缓冲存储器335包括地址映射块336和垃圾回收块338。闪存350包括闪存转换层(FTL)代码块353、操作***(OS)图像块355和用户数据块357。在通电之后的操作中,将FTL代码块353加载到缓冲存储器335,并将包括一些FTL功能的OS图像块355加载到主机310中的工作存储器313。以这种方式,诸如在该示例中的地址映射和垃圾回收的一些FTL功能在控制器中运行,诸如在该示例中的磨损平衡的其他功能在主机中运行。
因此,主机310中的FTL功能可利用会比闪存控制器330相对大和/或快的主机的资源,以在有效执行FTL的所有功能的同时提高***的性能。这里,OS图像可以包括用于在主机中执行FTL的任何或所有功能的软件模块。可将FTL功能嵌入到OS代码内的文件***或装置驱动器中。可由主机而不是由控制器来执行OS图像、文件***或装置驱动器中包括的任何或所有FTL功能。
在可选的实施例中,OS图像355可以不包括用于执行一些FTL功能的软件模块。在这种情况下,厂商指定(vender specific)装置驱动器可包括FTL软件模块。通常,可由硬件供应商(例如,SSD制造商、USB/SD/MMC应用程序提供商等)提供装置驱动器。因此,在这些实施例中的主机可确定所有可用的嵌入的FTL功能中的哪些FTL功能将被加载到主机。
如图4所示,用标号400总地表示合作存储器管理的方法。方法400包括开始或通电的方框410,方框410将控制移交给功能方框412。功能方框412将FTL代码加载到控制器RAM,将OS代码加载到主机RAM,并将控制移交给功能方框414。功能方框414初始化主机中的OS,并将控制移交给功能方框418。
然后,功能方框418基于主机的剩余资源来确定哪些FTL功能将在主机中执行,并将控制移交给功能方框420。功能方框420初始化主机上的确定的FTL功能,并将控制移交给功能方框422。功能方框422将元信息(例如,擦除数、垃圾回收数据和映射表)从闪存加载到主机RAM,并将控制移交给功能方框424。功能方框424激活确定的主机FTL功能,并将控制移交给功能方框426。
然后,功能方框426处理来自主机的写请求,并将控制移交给功能方框428。在功能方框428,主机FTL功能读取映射信息。功能方框428将控制移交给决定方框430。决定方框430确定是否还有任何可用的空间写入闪存。如果有,则将控制移交给功能方框444。如果没有,则决定方框430将控制移交给决定方框432。决定方框432确定闪存是否有垃圾块,如果有,则将控制移交给决定方框438,如果没有,则决定方框432将控制移交给功能方框434。
功能方框434执行垃圾回收,并将控制移交给功能方框436。功能方框436创建垃圾块,更新垃圾信息,并将控制移交给决定方框438。然后,决定方框438确定是否需要磨损平衡,如果不需要,则将控制移交给功能方框442。如果需要,则决定方框438将控制移交给功能方框440。功能方框440执行磨损平衡,更新元信息,并将控制移交给功能块442。功能块442擦除垃圾块,并将控制移交给功能方框444。功能方框444将写请求发送到闪存,并将控制移交给结束方框446。
在操作中,厂商指定装置驱动器可包括执行用于分区FTL的合作存储器管理的FTL功能的一些或所有软件模块。闪存软件的功能可包括:扇区映射算法、垃圾回收、断电恢复、坏块管理、磨损平衡、纠错编码(ECC)、用于实时管理的写缓冲、热/冷数据管理、加密、解密、压缩和解压缩。
转到图5,用标号500总地表示用于合作存储器管理***的存储器映射。存储器映射500包括主机软件510和装置软件530。主机软件510包括:OS图像512、文件***514和厂商指定驱动器520。厂商指定驱动器520可与附加文件***522和/或附加OS代码524关联。装置软件530包括FTL代码532,所述FTL代码532可包括映射功能534、磨损平衡功能536和坏块管理功能538。现在转到图6,用标号600总地表示具有分区FTL的合作存储器管理***的方法。方法600包括步骤610,在步骤610,主机检查主机的资源性能,并检查装置的资源性能。例如,资源性能可包括CPU速度和用于缓冲的存储器大小。在步骤612,主机检查以确定主机支持什么类型的功能,并检查以确定装置支持什么类型的功能。在步骤614,主机和装置谈判并设置用于主机和用于装置的分区参数。在步骤616,主机和装置谈判并设置主机和装置之间的通信方法和参数。
如图7所示,用标号700总地表示一组示例性的支持的功能。支持的功能700包括主机支持的功能710和装置支持的功能720。这里,主机支持的功能710包括:映射功能、磨损平衡功能和压缩/解压缩功能。
装置支持的功能720包括:映射功能、坏块管理功能、垃圾回收功能、磨损平衡功能、压缩/解压缩功能和可能的其他功能。关于主机或装置的功能的询问将分别返回以上支持的功能的指示。主机和装置都可具有一个或多个重叠功能,所以仍要确定谁实际执行重叠功能中的每一个功能。转到图8,用标号800来总地表示一组谈判的分区参数。在图中,“O”表示本地功能被激活,“X”表示本地功能没有被激活。支持的功能800包括主机支持的功能810和装置支持的功能820。这里,主机支持的功能810包括在主机上激活的映射功能、在主机上激活的磨损平衡功能和在主机上没有激活的压缩/解压缩功能。
装置支持的功能820包括在装置上没有激活的映射功能、在装置上激活的坏块管理功能、在装置上激活的垃圾回收功能、在装置上没有激活的磨损平衡功能、在装置上激活的压缩/解压缩功能和在装置上可能激活的可能的其他功能。
关于主机或装置的激活的功能的询问可分别返回以上激活的功能的指示。主机和装置都可具有一个或多个重叠功能,所以在主机和装置之一上激活的功能通常分别不在主机和装置中的另一个上被激活。
现在转到图9,用标号900总地表示实时(run-time)通信方法。通信方法900包括用于主机上激活的FTL功能的有关的主机命令。这里,主机上激活的FTL功能包括:逻辑至物理映射功能910、热/冷数据识别功能920和数据加密功能930。
调用映射功能910使得主机发出多个映射命令912(例如,闪存读命令、闪存写命令、闪存复制命令或闪存擦除命令)中的一个命令。调用识别功能920使得主机发出多个识别命令922(例如,写到单层单元(SLC)区域的命令或写到多层单元(MLC)区域的命令)中的一个命令。调用加密功能930使得主机发出多个加密命令932(例如,启动加密的命令或关闭加密的命令)中的一个命令。
尽管这里已参照附图描述了说明性的实施例,但是相关领域的普通技术人员应该理解,本公开不限于那些明确的实施例,在不脱离本公开的范围或精神的情况下,各种其他改变和修改可以受到影响。所有的这种改变和修改意在包括在如权利要求书所阐述的本公开的范围内。
Claims (64)
1、一种合作存储卡***,包括:
存储卡装置;和
主机,与存储卡装置进行信号通信,
其中,主机承担存储卡装置的至少一个存储器管理功能。
2、如权利要求1所述的***,其中,主机向存储卡装置发出至少一个命令。
3、如权利要求2所述的***,其中,所述至少一个命令包括用于读、写、复制或擦除中的至少一个的命令。
4、如权利要求2所述的***,其中,所述至少一个命令包括用于写到单层单元区域或写到多层单元区域中的至少一个的命令。
5、如权利要求2所述的***,其中,所述至少一个命令包括以下命令中的至少一个:用于激活加密或解密中的至少一个的命令、用于失活加密或解密中的至少一个的命令。
6、如权利要求1所述的***,其中,存储卡装置包括闪存、FRAM、PRAM、MRAM、DRAM或EEPROM中的至少一个。
7、如权利要求1所述的***,其中,所述至少一个存储器管理功能是闪存转换层任务。
8、如权利要求1所述的***,其中,所述至少一个存储器管理功能是操作***任务。
9、如权利要求1所述的***,其中,所述至少一个存储器管理功能是装置驱动器任务。
10、如权利要求1所述的***,所述主机包括:
主机处理器;和
工作存储器,与主机处理器进行信号通信。
11、如权利要求1所述的***,其中,主机执行存储卡装置的资源检查,并响应于此承担存储卡装置的至少一个任务。
12、如权利要求1所述的***,其中,主机检查它自己的可用资源,并响应于此承担存储卡装置的至少一个任务。
13、如权利要求1所述的***,其中,主机执行存储卡装置的资源检查,将存储卡装置的资源与主机的可用资源进行比较,并响应于所述比较承担存储卡装置的至少一个任务。
14、如权利要求1所述的***,其中,由主机承担的存储卡装置的至少一个任务是用于地址映射、磨损平衡、垃圾回收、断电恢复、坏块管理、纠错编码、用于实时管理的写缓冲、热对冷的数据管理、加密、解密、压缩或解压缩的功能中的至少一个。
15、如权利要求1所述的***,其中,厂商指定存储卡装置驱动器包括用于执行存储器管理功能的软件模块。
16、如权利要求15所述的***,其中,主机确定哪些用于执行存储器管理功能的软件模块将被加载到主机。
17、如权利要求1所述的***,其中,存储卡装置包括固态盘、USB卡、SD卡、MMC、存储棒或嵌入式装置中的至少一个。
18、如权利要求17所述的***,其中,所述嵌入式装置包括moviNAND、GBNAND或iNAND中的至少一个。
19、如权利要求1所述的***,存储卡装置包括:
控制器;和
存储器,与控制器进行信号通信。
20、如权利要求19所述的***,控制器包括:
控制器处理器;
只读存储器,与控制器处理器进行信号通信;和
缓冲存储器,与控制器处理器进行信号通信。
21、如权利要求19所述的***,存储器包括:
具有存储器管理功能代码的区域;和
具有用户数据的区域。
22、如权利要求21所述的***,其中,具有存储器管理功能代码的区域是闪存转换层。
23、如权利要求21所述的***,其中,由主机承担的存储卡装置的至少一个任务是存储器管理功能代码的功能。
24、如权利要求21所述的***,其中,存储器管理功能代码包括程序指令或数据中的至少一个。
25、如权利要求19所述的***,存储器包括:
具有操作***图像的区域;和
具有用户数据的区域。
26、如权利要求25所述的***,其中,存储器管理功能被嵌入到操作***图像的文件***中。
27、如权利要求25所述的***,其中,存储器管理功能被嵌入到主机的至少一个装置驱动器中。
28、如权利要求25所述的***,其中,存储器管理功能被嵌入到装置的闪存转换层中。
29、如权利要求25所述的***,其中,由主机承担的存储卡装置的至少一个任务是操作***图像的功能。
30、如权利要求25所述的***,其中,操作***图像包括用于执行所有存储器管理功能的软件模块。
31、如权利要求25所述的***,其中,操作***图像不包括用于执行存储器管理功能的软件模块。
32、一种主机和存储卡装置之间的合作存储器管理的方法,所述方法包括:
选择多个存储器管理功能中的至少一个来由主机替代装置执行。
33、如权利要求32所述的方法,还包括:
检查主机或装置中的至少一个的可用资源;和
响应于检查的可用资源选择至少一个存储器管理功能。
34、如权利要求32所述的方法,其中,检查的资源是主机的资源。
35、如权利要求32所述的方法,其中,检查的资源是装置的资源。
36、如权利要求32所述的方法,其中,检查的资源是主机的资源和装置的资源。
37、如权利要求32所述的方法,其中,检查可用资源的步骤包括:装置向主机发出请求,请求主机执行选择的至少一个存储器管理功能。
38、如权利要求32所述的方法,其中,主机向存储卡装置发出至少一个命令。
39、如权利要求38所述的方法,其中,所述至少一个命令包括用于读、写、复制或擦除中的至少一个的命令。
40、如权利要求38所述的方法,其中,所述至少一个命令包括用于写到单层单元区域或写到多层单元区域中的至少一个的命令。
41、如权利要求38所述的方法,其中,所述至少一个命令包括以下命令中的至少一个:用于激活加密或解密中的至少一个的命令、用于失活加密或解密中的至少一个的命令。
42、如权利要求38所述的方法,其中,所述至少一个命令包括用于检查装置的可用资源的命令。
43、如权利要求38所述的方法,其中,所述至少一个命令是无条件的。
44、如权利要求32所述的方法,还包括:将选择的至少一个存储器管理功能从存储卡装置加载到主机的随机存取存储器。
45、如权利要求32所述的方法,其中,所述至少一个存储器管理功能包括闪存转换层的功能。
46、如权利要求32所述的方法,还包括:
使用主机检查存储卡装置的可用资源;
将主机的可用资源与存储卡装置的可用资源进行比较;和
响应于所述比较来确定哪些存储器管理功能将在主机中执行以及哪些存储器管理功能将在存储卡装置中执行。
47、如权利要求32所述的方法,其中,主机的可用资源包括处理器类型、处理器速度、存储器大小、存储器速度、总线类型、总线速度、加密类型或加密速度中的至少一个。
48、如权利要求32所述的方法,其中,存储器管理功能包括地址映射、磨损平衡、垃圾回收或擦除数累计中的至少一个。
49、如权利要求32所述的方法,其中,选择的主机的至少一个存储器管理功能具有对主机设置而对装置重置的参数。
50、如权利要求49所述的方法,其中,没有选择的主机的剩余存储器管理功能具有对主机重置而对装置设置的参数。
51、如权利要求32所述的方法,其中,主机和装置之间的通信协议包括通用串行总线协议或高级技术配件协议中的至少一个。
52、如权利要求32所述的方法,其中,选择的至少一个存储器管理功能被存储卡装置的闪存转换层代码包括。
53、如权利要求32所述的方法,其中,选择的至少一个存储器管理功能被装置驱动器包括。
54、如权利要求32所述的方法,其中,选择的至少一个存储器管理功能被存储卡装置的操作***包括。
55、如权利要求32所述的方法,还包括:
将存储器管理功能代码从存储卡装置的存储器加载到存储卡装置的控制器随机存取存储器;和
将操作***从存储卡装置的存储器加载到主机的随机存取存储器。
56、如权利要求55所述的方法,还包括:初始化主机中的操作***。
57、如权利要求32所述的方法,还包括:将至少一个厂商指定存储卡装置驱动器加载到主机的随机存取存储器。
58、如权利要求32所述的方法,还包括:将元数据从存储卡装置加载到主机。
59、如权利要求58所述的方法,其中,元数据包括从存储卡装置加载到主机随机存取存储器的擦除数数据、垃圾回收数据或映射表数据中的至少一个。
60、如权利要求32所述的方法,还包括:在主机中初始化选择的存储器管理功能。
61、如权利要求32所述的方法,还包括:在主机中激活选择的存储器管理功能。
62、如权利要求32所述的方法,还包括:
产生主机的写请求;
使用主机存储器管理功能读取映射信息;
检查存储卡装置上可用的写空间;和
如果装置上有可用的写空间,则将写请求发送到装置。
63、如权利要求32所述的方法,还包括:
检查存储卡装置上的垃圾块;
如果装置上没有垃圾块,则执行垃圾回收,指定垃圾块,并更新垃圾回收数据;和
擦除垃圾块。
64、如权利要求32所述的方法,还包括:
检查存储卡装置上的磨损平衡的需求;和
如果需要磨损平衡,则执行磨损平衡,并更新用于磨损平衡的元数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070010573 | 2007-02-01 | ||
KR1020070010573A KR100823171B1 (ko) | 2007-02-01 | 2007-02-01 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
US11/833,731 | 2007-08-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101236483A true CN101236483A (zh) | 2008-08-06 |
Family
ID=39571848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200810008933XA Pending CN101236483A (zh) | 2007-02-01 | 2008-01-31 | 合作存储器管理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8745309B2 (zh) |
JP (1) | JP5468207B2 (zh) |
KR (1) | KR100823171B1 (zh) |
CN (1) | CN101236483A (zh) |
TW (1) | TWI512459B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901114A (zh) * | 2008-11-20 | 2010-12-01 | 三星电子株式会社 | 非易失性存储器***及其存取方法 |
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102508787A (zh) * | 2011-11-29 | 2012-06-20 | 清华大学 | 混合结构内存的内存分配***及方法 |
CN102541760A (zh) * | 2012-01-04 | 2012-07-04 | 记忆科技(深圳)有限公司 | 基于固态硬盘的计算机*** |
CN102915208A (zh) * | 2011-08-01 | 2013-02-06 | 株式会社东芝 | 信息处理装置、半导体存储装置及半导体存储装置的控制方法 |
CN103999060A (zh) * | 2011-12-23 | 2014-08-20 | 国际商业机器公司 | 固态存储管理 |
CN105005536A (zh) * | 2015-07-01 | 2015-10-28 | 忆正科技(武汉)有限公司 | 固态存储设备、主机的工作方法及固态存储设备、主机 |
CN105224474A (zh) * | 2014-06-03 | 2016-01-06 | 深圳市腾讯计算机***有限公司 | 固态硬盘闪存转换层的实现***和闪存转换层的实现装置 |
CN105867850A (zh) * | 2016-03-29 | 2016-08-17 | 联想(北京)有限公司 | 一种信息调整方法及电子设备 |
CN107092560A (zh) * | 2016-02-17 | 2017-08-25 | 光宝电子(广州)有限公司 | 固态储存装置及运用于其中的快闪转换层对应表重建方法 |
CN108287663A (zh) * | 2017-12-21 | 2018-07-17 | 北京京存技术有限公司 | 一种基于emmc的数据存储方法和装置 |
CN109753463A (zh) * | 2017-11-08 | 2019-05-14 | 爱思开海力士有限公司 | 控制器及其操作方法和存储***及其操作方法 |
CN111326195A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7917689B2 (en) * | 2007-12-28 | 2011-03-29 | Intel Corporation | Methods and apparatuses for nonvolatile memory wear leveling |
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
US7970978B2 (en) * | 2008-05-27 | 2011-06-28 | Initio Corporation | SSD with SATA and USB interfaces |
US20090327535A1 (en) * | 2008-06-30 | 2009-12-31 | Liu Tz-Yi | Adjustable read latency for memory device in page-mode access |
US20100017649A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation | Data storage system with wear-leveling algorithm |
DE102008035095A1 (de) * | 2008-07-28 | 2010-02-11 | Vincotech (Germany) Gmbh | Verfahren und Vorrichtung um Änderungen an Daten zu erkennen |
US8108584B2 (en) * | 2008-10-15 | 2012-01-31 | Intel Corporation | Use of completer knowledge of memory region ordering requirements to modify transaction attributes |
US8626984B2 (en) * | 2008-10-24 | 2014-01-07 | Cisco Technology, Inc. | Method and system for device independence in storage device wear algorithms |
JP5221332B2 (ja) * | 2008-12-27 | 2013-06-26 | 株式会社東芝 | メモリシステム |
US8832354B2 (en) * | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
KR101674015B1 (ko) | 2009-06-23 | 2016-11-08 | 시게이트 테크놀로지 엘엘씨 | 데이터 저장 매체 액세스 방법과 그와 같은 기능을 갖는 데이터 저장 장치 및 기록 매체 |
CN101706788B (zh) * | 2009-11-25 | 2012-11-14 | 惠州Tcl移动通信有限公司 | 一种嵌入式文件***的跨区访问方法 |
JP2011192239A (ja) * | 2010-03-17 | 2011-09-29 | Sony Corp | 記憶装置および記憶システム |
JP2011192240A (ja) * | 2010-03-17 | 2011-09-29 | Sony Corp | 記憶装置および記憶システム |
WO2011148223A1 (en) * | 2010-05-27 | 2011-12-01 | Sandisk Il Ltd | Memory management storage to a host device |
US8595415B2 (en) * | 2011-02-02 | 2013-11-26 | Micron Technology, Inc. | At least semi-autonomous modules in a memory system and methods |
US8862902B2 (en) | 2011-04-29 | 2014-10-14 | Seagate Technology Llc | Cascaded data encryption dependent on attributes of physical memory |
US8705291B2 (en) | 2011-05-27 | 2014-04-22 | Seagate Technology Llc | Sanitizing a non-volatile memory through charge accumulation |
US20120317377A1 (en) * | 2011-06-09 | 2012-12-13 | Alexander Palay | Dual flash translation layer |
US8806112B2 (en) | 2011-07-14 | 2014-08-12 | Lsi Corporation | Meta data handling within a flash media controller |
US8645618B2 (en) * | 2011-07-14 | 2014-02-04 | Lsi Corporation | Flexible flash commands |
JP5524144B2 (ja) * | 2011-08-08 | 2014-06-18 | 株式会社東芝 | key−valueストア方式を有するメモリシステム |
US9323659B2 (en) * | 2011-08-12 | 2016-04-26 | Sandisk Enterprise Ip Llc | Cache management including solid state device virtualization |
US8909855B2 (en) * | 2012-08-08 | 2014-12-09 | Avalanche Technology, Inc. | Storage system employing MRAM and physically addressed solid state disk |
CN103946816B (zh) * | 2011-09-30 | 2018-06-26 | 英特尔公司 | 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram) |
US9213632B1 (en) | 2012-02-29 | 2015-12-15 | Marvell International Ltd. | Systems and methods for data storage devices to use external resources |
TWI584120B (zh) * | 2012-03-23 | 2017-05-21 | Lsi公司 | 用於動態調適快取的方法及系統 |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
KR101419004B1 (ko) * | 2012-05-03 | 2014-07-11 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 |
US20140047159A1 (en) * | 2012-08-10 | 2014-02-13 | Sandisk Technologies Inc. | Enterprise server with flash storage modules |
KR101663437B1 (ko) * | 2012-08-23 | 2016-10-14 | 애플 인크. | 메모리 블록들의 호스트-지원형 압축 |
KR101420754B1 (ko) * | 2012-11-22 | 2014-07-17 | 주식회사 이에프텍 | 비휘발성 메모리 시스템 및 이를 위한 맵핑 테이블 관리 방법 |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9229854B1 (en) | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US10642505B1 (en) | 2013-01-28 | 2020-05-05 | Radian Memory Systems, Inc. | Techniques for data migration based on per-data metrics and memory degradation |
US9928177B2 (en) * | 2013-08-21 | 2018-03-27 | Lite-On Electronics (Guangzhou) Limited | Managing method for cache memory of solid state drive |
US9612973B2 (en) | 2013-11-09 | 2017-04-04 | Microsoft Technology Licensing, Llc | Using shared virtual memory resources for performing memory-mapping |
KR101549569B1 (ko) | 2014-02-14 | 2015-09-03 | 고려대학교 산학협력단 | 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치 |
KR102147916B1 (ko) | 2014-04-14 | 2020-08-26 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 동작 방법 |
KR20160022453A (ko) | 2014-08-19 | 2016-03-02 | 삼성전자주식회사 | 임베디드 메모리를 포함하는 이동식 전자 장치 |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US9798657B2 (en) | 2014-10-15 | 2017-10-24 | Samsung Electronics Co., Ltd. | Data storage device including nonvolatile memory device and operating method thereof |
TWI567554B (zh) * | 2014-11-06 | 2017-01-21 | 慧榮科技股份有限公司 | 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 |
JP6378111B2 (ja) * | 2014-12-29 | 2018-08-22 | 東芝メモリ株式会社 | 情報処理装置及びプログラム |
CN106201327B (zh) * | 2015-01-22 | 2019-01-04 | 光宝科技股份有限公司 | 具有固态储存装置的***及其相关控制方法 |
US9880748B2 (en) * | 2015-02-13 | 2018-01-30 | Qualcomm Incorporated | Bifurcated memory management for memory elements |
US10055236B2 (en) | 2015-07-02 | 2018-08-21 | Sandisk Technologies Llc | Runtime data storage and/or retrieval |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
US10466908B2 (en) * | 2015-08-25 | 2019-11-05 | Toshiba Memory Corporation | Memory system that buffers data before writing to nonvolatile memory |
US10459846B2 (en) * | 2015-09-10 | 2019-10-29 | Toshiba Memory Corporation | Memory system which uses a host memory |
CN105353989B (zh) * | 2015-11-19 | 2018-12-28 | 华为技术有限公司 | 存储数据访问方法及相关的控制器、设备、主机和*** |
US10033810B2 (en) | 2015-12-03 | 2018-07-24 | International Business Machines Corporation | Recovery point objective via dynamic usage of bind segments in a global mirror environment |
US10229051B2 (en) | 2015-12-30 | 2019-03-12 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
KR20170128012A (ko) * | 2016-05-13 | 2017-11-22 | 주식회사 맴레이 | 플래시 기반 저장 장치 및 이를 포함하는 컴퓨팅 디바이스 |
US10037152B2 (en) | 2016-12-19 | 2018-07-31 | Alibaba Group Holding Limited | Method and system of high-throughput high-capacity storage appliance with flash translation layer escalation and global optimization on raw NAND flash |
US10971241B2 (en) | 2017-01-30 | 2021-04-06 | Toshiba Memory Corporation | Performance based method and system for patrolling read disturb errors in a memory unit |
US10997066B2 (en) | 2018-02-20 | 2021-05-04 | Samsung Electronics Co., Ltd. | Storage devices that support cached physical address verification and methods of operating same |
US11436023B2 (en) * | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US11263124B2 (en) | 2018-08-03 | 2022-03-01 | Micron Technology, Inc. | Host-resident translation layer validity check |
US11226907B2 (en) | 2018-12-19 | 2022-01-18 | Micron Technology, Inc. | Host-resident translation layer validity check techniques |
US11226894B2 (en) * | 2018-12-21 | 2022-01-18 | Micron Technology, Inc. | Host-based flash memory maintenance techniques |
KR20200122086A (ko) | 2019-04-17 | 2020-10-27 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치 |
JP7252821B2 (ja) * | 2019-04-17 | 2023-04-05 | キヤノン株式会社 | 記録装置、記録方法、プログラム、及びメモリカード |
KR20210001546A (ko) | 2019-06-28 | 2021-01-06 | 에스케이하이닉스 주식회사 | 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법 |
KR20200139913A (ko) * | 2019-06-05 | 2020-12-15 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치 |
US11294825B2 (en) | 2019-04-17 | 2022-04-05 | SK Hynix Inc. | Memory system for utilizing a memory included in an external device |
US11036594B1 (en) | 2019-07-25 | 2021-06-15 | Jetstream Software Inc. | Disaster recovery systems and methods with low recovery point objectives |
US11175984B1 (en) | 2019-12-09 | 2021-11-16 | Radian Memory Systems, Inc. | Erasure coding techniques for flash memory |
CN111415697B (zh) * | 2020-03-20 | 2022-08-16 | 杭州华澜微电子股份有限公司 | 闪存转换层算法的验证方法、装置及*** |
US11194489B2 (en) | 2020-04-27 | 2021-12-07 | Western Digital Technologies, Inc. | Zone-based device with control level selected by the host |
US11659028B2 (en) * | 2021-09-22 | 2023-05-23 | Toyota Motor Engineering & Manufacturing North America, Inc. | Data offloading rate determination using mean field games |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3789743T2 (de) * | 1986-09-01 | 1994-08-18 | Nec Corp | Serielles Datenübertragungssystem. |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
JPH05173989A (ja) | 1991-12-24 | 1993-07-13 | Kawasaki Steel Corp | 計算機及びマルチプロセッサ計算装置 |
US5319751A (en) * | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
JPH0887441A (ja) | 1994-09-19 | 1996-04-02 | Fujitsu Ltd | フラッシュメモリアクセス方式 |
JPH08101751A (ja) * | 1994-09-30 | 1996-04-16 | Mitsubishi Electric Corp | Pcカード及びpcカードシステム |
US6014724A (en) * | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5778197A (en) | 1996-04-26 | 1998-07-07 | International Business Machines Corp. | Method for allocating system resources in a hierarchical bus structure |
US5826082A (en) | 1996-07-01 | 1998-10-20 | Sun Microsystems, Inc. | Method for reserving resources |
US6260102B1 (en) * | 1996-12-26 | 2001-07-10 | Intel Corporation | Interface for flash EEPROM memory arrays |
US5928347A (en) * | 1997-11-18 | 1999-07-27 | Shuttle Technology Group Ltd. | Universal memory card interface apparatus |
US6151709A (en) * | 1998-02-13 | 2000-11-21 | Novell, Inc. | Processes and apparatuses for uploading instructions to a computer |
US6701402B1 (en) * | 2001-03-30 | 2004-03-02 | Hewlett-Packard Development Company, L.P. | Selectively operating a host's device controller in a first mode or a second mode |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP4236830B2 (ja) | 2001-07-09 | 2009-03-11 | 株式会社ルネサステクノロジ | アップロード機能付き記憶装置 |
US6990662B2 (en) * | 2001-10-31 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | Method and system for offloading execution and resources for resource-constrained networked devices |
JP4206688B2 (ja) * | 2002-04-15 | 2009-01-14 | ソニー株式会社 | データ処理装置及びデータ処理方法 |
US7080245B2 (en) * | 2002-05-23 | 2006-07-18 | Hewlett-Packard Development Company, L.P. | Method and system of switching between two or more images of firmware on a host device |
US8041878B2 (en) * | 2003-03-19 | 2011-10-18 | Samsung Electronics Co., Ltd. | Flash file system |
US7277978B2 (en) * | 2003-09-16 | 2007-10-02 | Micron Technology, Inc. | Runtime flash device detection and configuration for flash data management software |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
KR100562906B1 (ko) * | 2003-10-08 | 2006-03-21 | 삼성전자주식회사 | 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩 |
KR20070007265A (ko) | 2003-12-30 | 2007-01-15 | 쌘디스크 코포레이션 | 제어 데이터 관리를 구비한 비휘발성 메모리 및 방법 |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
KR100533683B1 (ko) * | 2004-02-03 | 2005-12-05 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
US20050270993A1 (en) * | 2004-06-07 | 2005-12-08 | Krishnan Rajamani | Efficient partitioning of MAC (media access control) functions |
KR100568115B1 (ko) * | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
US7660939B2 (en) * | 2004-07-30 | 2010-02-09 | Virinci Technologies, Inc. | Operating system arrangement for flexible computer system design |
JP4192129B2 (ja) * | 2004-09-13 | 2008-12-03 | 株式会社東芝 | メモリ管理装置 |
JP4713867B2 (ja) | 2004-09-22 | 2011-06-29 | 株式会社東芝 | メモリコントローラ,メモリ装置及びメモリコントローラの制御方法 |
US20060094477A1 (en) * | 2004-11-04 | 2006-05-04 | Motorola, Inc. | Power saving system and method |
US7712086B2 (en) | 2004-12-15 | 2010-05-04 | Microsoft Corporation | Portable applications |
KR100725390B1 (ko) * | 2005-01-06 | 2007-06-07 | 삼성전자주식회사 | 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법 |
US20060157549A1 (en) * | 2005-01-14 | 2006-07-20 | Stein Israel M | Smart cards for automated sample analysis devices |
KR20050027233A (ko) * | 2005-02-03 | 2005-03-18 | 주식회사 퍼스터 | 파일 시스템이 운용되는 장치에서의 낸드 플래시 메모리 액세스 방법 |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
KR100706242B1 (ko) * | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
KR100684942B1 (ko) * | 2005-02-07 | 2007-02-20 | 삼성전자주식회사 | 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템 |
EP1851771A2 (en) * | 2005-02-11 | 2007-11-07 | M-Systems Flash Disk Pioneers Ltd. | Nand flash memory system architecture |
KR100759427B1 (ko) * | 2005-03-17 | 2007-09-20 | 삼성전자주식회사 | 전력 소모가 적은 하드디스크 드라이버 및 이를 구비한 정보처리 시스템, 그리고 그들의 데이터 입출력 방법 |
KR100725271B1 (ko) | 2005-05-20 | 2007-06-04 | 주식회사 엠피오 | 복수개의 dma 채널을 갖는 usb-sd 저장 장치 및 그저장 방법 |
JP4213140B2 (ja) | 2005-06-03 | 2009-01-21 | Tdk株式会社 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
KR101257848B1 (ko) * | 2005-07-13 | 2013-04-24 | 삼성전자주식회사 | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 |
US20070180186A1 (en) * | 2006-01-27 | 2007-08-02 | Cornwell Michael J | Non-volatile memory management |
JP2008011512A (ja) | 2006-06-01 | 2008-01-17 | Canon Inc | データ処理装置、データ記憶装置およびそれらのデータ処理方法 |
US7966039B2 (en) * | 2007-02-02 | 2011-06-21 | Microsoft Corporation | Bidirectional dynamic offloading of tasks between a host and a mobile device |
-
2007
- 2007-02-01 KR KR1020070010573A patent/KR100823171B1/ko active IP Right Grant
- 2007-08-03 US US11/833,731 patent/US8745309B2/en active Active
-
2008
- 2008-01-31 CN CNA200810008933XA patent/CN101236483A/zh active Pending
- 2008-01-31 TW TW097103746A patent/TWI512459B/zh active
- 2008-01-31 JP JP2008021198A patent/JP5468207B2/ja active Active
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901114B (zh) * | 2008-11-20 | 2014-05-28 | 三星电子株式会社 | 非易失性存储器***及其存取方法 |
CN101901114A (zh) * | 2008-11-20 | 2010-12-01 | 三星电子株式会社 | 非易失性存储器***及其存取方法 |
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
US11868618B2 (en) | 2011-08-01 | 2024-01-09 | Kioxia Corporation | Data reading and writing processing from and to a semiconductor memory and a memory of a host device by using first and second interface circuits |
US9542117B2 (en) | 2011-08-01 | 2017-01-10 | Kabushiki Kaisha Toshiba | Information processing device including host device and semiconductor memory device having a plurality of address conversion information |
US10331356B2 (en) | 2011-08-01 | 2019-06-25 | Toshiba Memory Corporation | Data writing processing into memory of a semiconductor memory device by using a memory of a host device |
US9870155B2 (en) | 2011-08-01 | 2018-01-16 | Toshiba Memory Corporation | Information processing device including host device and semiconductor memory device having a block rearrangement to secure free blocks |
US10949092B2 (en) | 2011-08-01 | 2021-03-16 | Toshiba Memory Corporation | Memory system with block rearrangement to secure a free block based on read valid first and second data |
CN102915208A (zh) * | 2011-08-01 | 2013-02-06 | 株式会社东芝 | 信息处理装置、半导体存储装置及半导体存储装置的控制方法 |
US11537291B2 (en) | 2011-08-01 | 2022-12-27 | Kioxia Corporation | Data reading and writing processing from and to a semiconductor memory and a memory of a host device by using first and second interface circuits |
US9268706B2 (en) | 2011-08-01 | 2016-02-23 | Kabushiki Kaisha Toshiba | Information processing device including host device and semiconductor memory device having plurality of address conversion information |
CN102915208B (zh) * | 2011-08-01 | 2016-04-20 | 株式会社东芝 | 信息处理装置、半导体存储装置及半导体存储装置的控制方法 |
CN102508787A (zh) * | 2011-11-29 | 2012-06-20 | 清华大学 | 混合结构内存的内存分配***及方法 |
CN103999060A (zh) * | 2011-12-23 | 2014-08-20 | 国际商业机器公司 | 固态存储管理 |
CN102541760B (zh) * | 2012-01-04 | 2015-05-20 | 记忆科技(深圳)有限公司 | 基于固态硬盘的计算机*** |
CN102541760A (zh) * | 2012-01-04 | 2012-07-04 | 记忆科技(深圳)有限公司 | 基于固态硬盘的计算机*** |
CN105224474A (zh) * | 2014-06-03 | 2016-01-06 | 深圳市腾讯计算机***有限公司 | 固态硬盘闪存转换层的实现***和闪存转换层的实现装置 |
CN105224474B (zh) * | 2014-06-03 | 2019-05-31 | 深圳市腾讯计算机***有限公司 | 固态硬盘闪存转换层的实现***和闪存转换层的实现装置 |
CN105005536B (zh) * | 2015-07-01 | 2019-08-06 | 忆正科技(武汉)有限公司 | 固态存储设备、主机的工作方法及固态存储设备、主机 |
CN105005536A (zh) * | 2015-07-01 | 2015-10-28 | 忆正科技(武汉)有限公司 | 固态存储设备、主机的工作方法及固态存储设备、主机 |
CN107092560B (zh) * | 2016-02-17 | 2020-06-16 | 建兴储存科技(广州)有限公司 | 固态储存装置及运用于其中的快闪转换层对应表重建方法 |
CN107092560A (zh) * | 2016-02-17 | 2017-08-25 | 光宝电子(广州)有限公司 | 固态储存装置及运用于其中的快闪转换层对应表重建方法 |
CN105867850B (zh) * | 2016-03-29 | 2019-05-31 | 北京联想核芯科技有限公司 | 一种信息调整方法及电子设备 |
CN105867850A (zh) * | 2016-03-29 | 2016-08-17 | 联想(北京)有限公司 | 一种信息调整方法及电子设备 |
CN109753463A (zh) * | 2017-11-08 | 2019-05-14 | 爱思开海力士有限公司 | 控制器及其操作方法和存储***及其操作方法 |
CN109753463B (zh) * | 2017-11-08 | 2022-06-17 | 爱思开海力士有限公司 | 控制器及其操作方法和存储***及其操作方法 |
CN108287663A (zh) * | 2017-12-21 | 2018-07-17 | 北京京存技术有限公司 | 一种基于emmc的数据存储方法和装置 |
CN111326195A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
Also Published As
Publication number | Publication date |
---|---|
TW200839511A (en) | 2008-10-01 |
TWI512459B (zh) | 2015-12-11 |
KR100823171B1 (ko) | 2008-04-18 |
US8745309B2 (en) | 2014-06-03 |
US20080189485A1 (en) | 2008-08-07 |
JP5468207B2 (ja) | 2014-04-09 |
JP2008192153A (ja) | 2008-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101236483A (zh) | 合作存储器管理 | |
CN101937319B (zh) | 存储器***及其映射方法 | |
CN109144888B (zh) | 存储器*** | |
CN103164342B (zh) | 数据可用性的挂载时协调 | |
CN100454273C (zh) | 用于块内页面分组的方法及设备 | |
KR100630980B1 (ko) | 메모리 카드 및 반도체 장치 | |
US9396107B2 (en) | Memory system having memory controller with cache memory and NVRAM and method of operating same | |
US20090077306A1 (en) | Optimizing memory operations in an electronic storage device | |
CN111512279B (zh) | 利用存储写入命令中的写入流属性 | |
CN109408417B (zh) | 存储装置的地址映射方法和操作方法 | |
CN102810068A (zh) | 存储装置、存储***和使存储装置虚拟化的方法 | |
KR101826047B1 (ko) | 저장 장치 및 그 구동 방법 | |
CN108415663B (zh) | 数据存储装置的操作方法 | |
JP2021043708A (ja) | メモリシステム | |
CN108108261B (zh) | 数据存储装置及其操作方法 | |
CN111108488B (zh) | 内存块回收方法和装置 | |
US11681463B2 (en) | Offload defrag operation for host-managed storage | |
KR102349381B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US8914587B2 (en) | Multi-threaded memory operation using block write interruption after a number or threshold of pages have been written in order to service another request | |
CN109508142A (zh) | 数据存储装置及其操作方法 | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
TW201207621A (en) | Method for dispatching and transmitting data stream, memory controller and memory storage apparatus | |
CN109697017B (zh) | 数据储存装置以及非挥发式存储器操作方法 | |
US8694750B2 (en) | Method and system for data structure management | |
US20200250104A1 (en) | Apparatus and method for transmitting map information in a memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080806 |