CN100555255C - 处理数据的系统和选择交错策略的方法 - Google Patents

处理数据的系统和选择交错策略的方法 Download PDF

Info

Publication number
CN100555255C
CN100555255C CNB2007100022797A CN200710002279A CN100555255C CN 100555255 C CN100555255 C CN 100555255C CN B2007100022797 A CNB2007100022797 A CN B2007100022797A CN 200710002279 A CN200710002279 A CN 200710002279A CN 100555255 C CN100555255 C CN 100555255C
Authority
CN
China
Prior art keywords
group
flash memory
write
criterion
interleaving policies
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.)
Expired - Fee Related
Application number
CNB2007100022797A
Other languages
English (en)
Other versions
CN101004724A (zh
Inventor
迈克尔·J.·康威尔
克里斯托弗·P.·杜得特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN101004724A publication Critical patent/CN101004724A/zh
Application granted granted Critical
Publication of CN100555255C publication Critical patent/CN100555255C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)
  • Read Only Memory (AREA)

Abstract

产品以及相关方法和系统涉及与选择写入交错策略无关地来选择读取交错策略。在各种实现中,所述选择在操作期间可以是静态或动态的。在动态选择读取交错策略和写入交错策略的实现中,所述选择可基于各种操作条件,诸如温度、电源、电池电压和操作模式。操作模式的示例可包括:(1)当连接到外部电源时对闪速存储器进行读取或写入,(2)当由便携式电源(例如,电池)供电时从闪速存储器读取,以及(3)当由便携式电源供电时向闪速存储器写入。

Description

处理数据的系统和选择交错策略的方法
技术领域
各种实现总的来说可涉及访问存储器,并且特定的实现可涉及用于访问存储器的交错策略(interleaving policy)的方法和系统。
背景技术
随着计算装置在性能和特点方面的增强,对数据存储装置的需要不断增加。例如,数据存储装置可用于存储可由处理器执行的程序指令(即,代码)。数据存储装置还用于存储其它类型的数据,包括作为示例的音频、图像和/或文本信息。最近,具有能够存储实质数据内容(例如,歌曲、音乐视频等)的数据存储装置的系统在便携式终端中可广泛使用。
这种便携式装置包括数据存储器,所述数据存储器具有较小的形状因子并且能够在诸如电池的便携式电源下操作。某些便携式终端中的数据存储装置可提供非易失性存储器,所述非易失性存储器能够在从电源断开时保持数据。便携式装置使用各种非易失性数据存储装置,诸如硬盘驱动器、EEPROM(电可擦可编程序只读存储器)和闪速存储器。
闪速存储器已成为广泛使用类型的半导体存储器。闪速存储器可例如提供便携式电子装置以及消费类应用设备中的非易失性存储器。
存在NOR闪存和NAND闪存这两种类型的闪速存储器。通常,NOR闪速可在某些方面不同于NAND闪存。例如,NOR闪存典型地提供就地执行代码的性能,并且可随机访问(即,如同RAM)。例如,NOR闪存可在便携式电子装置、蜂窝式电话和PDA中提供代码存储和直接执行。
比较起来,NAND闪速可典型地更加快速地擦除数据,以突发组(例如,512字节的组段)来访问数据,并且可提供使用期限比相比较的NOR闪存更长的擦除次数。NAND闪存通常提供每比特较低成本的非易失性存储器作为用于消费类装置的高密度文件存储介质,所述消费类装置诸如作为示例的数码相机和MP3播放器。NAND闪存还可用于诸如相机蜂窝式电话中的数据存储器的应用设备中。
在某些数据存储系统中,可在多个存储器位置间交错进行存储器访问。在RAID-0类型的系统中,例如,可将数据分成N块,将它们同时写入N个存储器位置或者同时从N个存储器位置读取它们。交错系统可同时将2k的块写入4个不同的存储器位置中的每一个,而不必等待系统将8k写入一个存储器位置。
发明内容
在各种实现中,产品以及相关方法和系统涉及与选择写入交错策略无关地来选择读取交错策略。在各种实现中,所述选择在操作期间可以是静态或动态的。在动态选择读取交错策略和写入交错策略的实现中,所述选择可基于各种操作条件,诸如温度、电源、电池电压和操作模式。操作模式的示例可包括:(1)当连接到外部电源时对闪速存储器进行读取或写入,(2)当由便携式电源(例如,电池)供电时从闪速存储器读取,以及(3)当由便携式电源供电时向闪速存储器写入。
某些实现可提供一个或多个优点。例如,对于便携式电源应用设备,可延长电池寿命。可独立地设置或选择读取和写入交错策略以实现所期望的性能,从而在可接受的电功率消耗(例如,峰值电流)特性下最小化存储器访问时间。可根据各种操作条件调整对读取和写入交错策略的选择。某些实现可例如基于操作条件在减少访问时间和最小化峰值电流之间动态选择,所述操作条件诸如温度信息、电源可用性、电池电压和/或操作模式。
为了实现本发明,提供了一种使用交错存储器来处理数据的系统,所述系统包括:电源;在操作上耦合到电源的多个存储单元;存储器控制器,用于选择性地控制用于访问所述多个存储单元的交错比率;以及处理器,用于识别对于存储器控制器的交错比率,包括:接收对于访问存储单元的请求的装置;以及通过选择用于执行所接收的访问请求的交错比率来控制由存储器从电源吸取的峰值电流以处理所述请求的装置,其中,交错比率较大,则吸取的峰值电流较大,而交错比率较小,则吸取的峰值电流较小。
为了实现本发明,提供了一种选择用于访问闪速存储器的交错策略的方法,所述闪速存储器被配置为存储交错数据,所述方法包括:接收对于从交错闪速存储器进行读取的请求;基于第一组准则识别用于从闪速存储器进行读取的读取交错比率;接收对于向闪速存储器进行写入的请求;以及基于第二组准则识别用于向闪速存储器进行写入的写入交错比率,其中,所识别的读取交错比率和写入交错比率是不同的,并且其中,交错比率较大,则吸取的峰值电流较大,而交错比率较小,则吸取的峰值电流较小;其中,第一组准则包括下述组中的一个或多个成员,所述组包括:外部电源电压、可用于向闪速存储器供电的电流、温度、使用的是外部电源还是电池、和电池电压;其中,第二组准则包括下述组中的一个或多个成员,所述组包括:外部电源电压、可用于向闪速存储器供电的电流、温度、操作模式、数据传送速率、电源、和电池电压;其中,当外部电源电压或可用于向闪速存储器供电的电流超过第二阈值时,第二组准则将写入交错比率定义为大于最小可用写入交错比率;以及其中,第一组准则在外部电源电压或可用于向闪速存储器供电的电流超过第一阈值时,将读取交错比率定义为大于最小可用读取交错比率,或者第一组准则在不使用从便携式储能源吸取的功率来操作闪速存储器时,将读取交错比率定义为最大可用读取交错比率,其中,第二阈值不同于第一阈值。
为了实现本发明,提供了一种选择用于访问存储器的交错策略的方法,所述方法包括:接收对于访问存储器的请求和相关存储器访问信号;接收与第一组准则有关的第一信号和与第二组准则有关的第二信号,所述第一组准则和第二组准则包括在至少一个操作条件下不同的至少一个准则;通过执行计算以基于第一信号选择读取交错策略或基于第二信号选择写入交错策略,识别用于执行所述对于访问存储器的请求的交错策略;以及使用识别的交错策略发送输出信号以执行所请求的存储器访问;其中,第一组准则包括下述组中的一个或多个成员,所述组包括:外部电源电压、可用于向闪速存储器供电的电流、温度、使用的是外部电源还是电池、和电池电压;其中,第二组准则包括下述组中的一个或多个成员,所述组包括:外部电源电压、可用于向闪速存储器供电的电流、温度、操作模式、数据传送速率、电源、和电池电压;其中,当电源电压或可用于向闪速存储器供电的电流超过第二阈值时,第二信号将写入交错策略定义为大于最小可用写入交错策略;以及其中,第一信号在电源电压或可用于向闪速存储器供电的电流超过第一阈值时,将读取交错策略定义为大于最小可用读取交错策略,或者第一信号在不使用从便携式储能源吸取的功率来操作闪速存储器时,将读取交错策略定义为最大可用读取交错策略,其中,第二阈值不同于第一阈值。
在以下的附图和说明书中阐述本发明的一个或多个实现的细节。通过说明书和附图以及权利要求,本发明的其它特点、目的和优点将变得清楚。
附图说明
图1是示出包括闪速存储器的系统的示例的框图。
图2是示出在图1的系统中选择读取和写入交错策略的方法的流程图。
图3是示出当请求存储器访问操作时应用选择的交错策略的方法的流程图。
相同的标号在各个附图中指示相同的部件。
具体实施方式
图1示出能够使用闪速存储器来存储和检取数据的系统100的示例。例如,系统100可以是手持便携式装置,诸如MP3播放器、蜂窝式电话、PDA(便携式数字助理)、全球定位系统、便携式处理装置、便携式音频/视频记录装置、便携式视频播放器等。系统100能够使用和/并选择适当的用于读取操作的交错策略以及适当的用于写入操作的交错策略。在某些实现中,所选择的读取交错策略可不同于所选择的写入交错策略。在某些实现中,可动态地和/或彼此独立地选择读取和写入交错策略。
所述系统100包括:微处理器102、存储器控制器104以及一个或多个闪速存储器106a、106b、106c和106d。微处理器102可在选择读取或写入交错策略之后执行读取或写入操作。例如,微处理器102可通过将选择的读取交错策略和读取命令发送到存储器控制器104来发起从闪速存储器106a、106b、106c和106d的读取。存储器控制器104随后根据选择的读取交错策略来执行读取命令。微处理器102可通过将选择的写入交错策略和写入命令发送到存储器控制器104来发起向闪速存储器的写入。存储器控制器104随后根据选择的写入交错策略来执行写入命令。可将系统100配置为选择适于当前操作条件的交错策略,所述操作条件诸如作为示例的电源、电池电压、温度和/或操作模式。
所选择的读取和/或写入交错策略确定对闪速存储器106a、106b、106c和106d进行同时访问的数量。通过使用交错,存储器控制器104可同时读取或写入在多个存储装置间交错的数据。可定义交错策略以选择适于操作条件的交错比率。例如,4∶1的交错比率可相应于系统100在单个操作中将数据的四个字写入存储器,即,将每个字同时写入闪速存储器106a-106d中的不同位置。2∶1的交错比率可相应于系统100使用两个操作将数据的四个字写入存储器,即,将两个字同时写入。1∶1的交错比率可相应于系统100使用四个操作将数据的四个字写入存储器,即,一次写入一个字。
较高的交错比率可花费较少的时间对闪速存储器进行读取或写入,但是与存储器操作相关的峰值电流会较高。较低的交错比率会花费较长的时间对闪速存储器进行读取或写入,但是与存储器操作相关的峰值电流会较低。在某些操作条件中,可将系统100配置为限制或最小化峰值电流或最小存储器访问时间。例如,如果电池电压下降到阈值以下,则可将系统100配置为选择较低的用于读取操作的交错比率。
当存储器控制器104接收到读取命令或写入命令时,它将根据由微处理器选择的读取或写入交错策略来执行所述命令。在某些实现中,微处理器102和存储器控制器104可以是分离的装置(例如,独立的集成电路)。在其它实现中,可将微处理器102和存储器控制器104集成为单个装置(例如,ASIC微控制器)。在这一示例中,存储器控制器104包括介质接口108。介质接口108包括4个寄存器110a、110b、110c和110d。所述4个寄存器110a-110d中的每一个可临时存储将分别发送到闪速存储器106a-106d的数据的字(或字节、长字、四倍长字等)或分别从闪速存储器106a-106d接收的数据的字(或字节、长字、四倍长字等)。
在某一示例中,系统100可如下选择和使用用于读取和写入命令的交错策略。微处理器102可发起继之以读取命令的写入命令。所述写入命令可涉及将数据的四个字写入四个闪速存储器106a、106b、106c、106d中的四个位置,读取命令可涉及从四个闪速存储器106a、106b、106c、106d中的四个位置读取数据的四个字。微处理器102首先将写入命令和选择的写入交错策略发送到存储器控制器104。在所述示例中,所选择的写入交错策略可以是4∶1。为了完成写入命令的执行,存储器控制器104随后可同时将存储在寄存器110a、110b、110c、110d中的数据写入闪速存储器106a、106b、106c、106d。
在写入命令完成之后,微处理器102可将读取命令和选择的读取交错策略发送到存储器控制器104。在所述示例中,所选择的读取交错策略可以是1∶1。为了完成读取命令的执行,存储器控制器104可使用四个存储器操作,每次一个地从闪速存储器106a、106b、106c、106d读取存储在寄存器110a、110b、110c、110d中的数据。例如,存储器控制器104可将存储在闪速存储器106a中的数据传送到寄存器110a。然后,存储器控制器104可将存储在闪速存储器106b中的数据传送到寄存器110b。其后,存储器控制器104可将存储在闪速存储器106c中的数据传送到寄存器110c。最后,存储器控制器104可将存储在闪速存储器106d中的数据传送到寄存器110d。
在所述示例中,每个闪速存储器106a、106b、106c、106d包括四个闪速存储器管芯、控制器和寄存器112。寄存器112可存储每个闪速存储器106a-106d的最小工作电压。每个闪速存储器106a-106d的最小工作电压会影响对交错策略的选择。例如,如果电池电压在写入操作期间低于在每个闪速存储器106a-106d的最小工作电压之上的阈值余量,则微处理器可选择具有较低交错比率的写入交错策略。可将写入操作的阈值余量信息存储在与写入交错策略130相关的NVM124中,可将读取操作的阈值余量信息存储在与读取策略130相关的NVM 124中。
在所示的示例中,最小工作电压可以是3.1伏特,对于写入交错策略,可以将电压余量设置在0.5伏特(将阈值置于3.6伏特),并且对于读取交错策略,可以将电压余量设置在0.2伏特(将阈值置于3.3伏特)。当电池电压下降到3.6伏特以下时,微处理器102可将写入交错比率从2∶1减少到1∶1。当电池电压下降到3.3伏特以下时,微处理器102可将读取交错比率从4∶1减少到2∶1。这些值仅是示例性的,并且不受限于电池电压的范围。在某些实现中,可将滞后带应用于电压阈值。
可通过外部电源输入114或通过电池116来提供系统100的电功率。外部电源输入114和电池116将电源传递到调压器118。调压器118可包括线性调压器、开关模式的DC到DC变换器和/或低漏失调节器(未示出),调压器118包括电源管理器120,其存储系统100的电状态122的列表。例如,监视的状态信息可包括:外部电源输入114是否连接到电源;电池是否存在;以及电池电压信息。在某些实现中,微处理器102可根据电状态122选择交错策略。例如,可将微处理器102配置为当系统100连接到外部电源时,选择具有最大交错比率的交错策略以减少存储器访问时间,由此允许相对较高的峰值电流。
微处理器102可与非易失性存储器124通信。非易失性存储器(NVM)124存储测试代码126、控制代码128和交错策略130,所述交错策略130包括读取交错策略和写入交错策略。微处理器102执行测试代码126以检查系统100中的各种条件。例如,测试代码126可包括检查电源、电池电压、温度和/或操作模式的代码。微处理器102随后执行控制代码128。控制代码128可包括用于选择读取交错策略和写入交错策略的规则。在选择之后,微处理器102可将选择的交错策略存储在NVM 124中。交错策略信息130可包括当前选择的读取交错策略和当前选择的写入交错策略。
微处理器102可通过数据接口132将数据发送到外部装置,或通过数据接口132接收数据。可将在数据接口132和微处理器102之间传送的数据临时存储在缓冲器134中。
数据接口132的操作模式可影响对交错策略的选择。例如,如果数据接口132正在从外部源接收数据,则微处理器102可选择具有较高交错比率的读取交错策略。如果系统100正用作接收闪速存储器的数据的便携式装置,则微处理器102可选择具有较低交错比率的写入交错策略。
系统100还可监视当前操作条件。例如,系统100包括用于测量系统100中的温度的热传感器136。例如,如果系统100的温度高于选择的阈值温度,则微处理器102可选择较低的交错策略。
系统100还包括用户接口138、音频输出装置140和显示器142。用户可使用用户接口138向系统100提供指令,所述用户接口138诸如作为示例的触摸板、键盘或苹果的点击轮盘(TM)输入(可由苹果计算机公司在市场上提供)。用户选择的交错策略可至少部分地基于用户输入。例如,用户可选择电池节约模式,其被设计用来最大化电池寿命。例如,增加电池寿命会要求较低的用于读取和/或写入交错策略的交错比率。在另一示例中,用户可选择最小延迟模式,其被设计用来最小化用于存储器访问操作的时间。例如,减少存储器访问时间会要求较高的用于写入交错策略的交错比率。
在某些实现中,可以将这种用户选择的输入推翻。例如,当外部电源连接到外部电源输入114时,即使作为示例用于选择了最大电池寿命模式,微处理器102也可选择最大可实现交错比率。在另一示例中,当系统100的温度超过预设阈值时,例如即使用户选择了最小延迟时间模式并且外部电源连接到外部电源输入114,微处理器102也可选择最小可实现交错比率。
在各个实现中,音频输出装置140可以是内部扬声器、蜂鸣器和/或其它音响指示器。在某些实现中,可将放大器耦合到输出连接器,所述输出连接器适合于向一个或多个耳机或外部扬声器(其可以被外部放大)组提供包含音频信息的信号。某些实现可提供系统100和外部音频转换器装置之间的有线或无线(例如,蓝牙或其它RF)接口。
在某些实现中,显示器142可以是作为示例的LCD或TFT显示器,其向用户提供基于文本的界面和/或图形界面。显示器142的亮度和/或光强可以是可调节的。在某些实现中,微处理器102可以在显示器142操作在较高亮度和/或光强的情况下时选择较低的交错策略,以保持电池寿命。
系统100还包括相机150和麦克风152,其分别用于向微处理器102提供图像和音频信息。在某些实现中,可将音频和/或视频信息编码成诸如MPEG、JPEG、.wav、bitmap的标准格式或其它广泛采用的数据格式。例如,可将相机150配置为捕获静止和/或运动图像(例如,帧)信息,可使用图像压缩领域的技术人员已知的技术对所述静止和/或运动图像信息进行压缩和/或编码。可将麦克风152操作为捕获音频信息,其可以与图像信息同步,也可以不与图像信息同步。可根据写入交错策略将从相机150和麦克风152接收的音频和/或图像信息存储在闪速存储器106a-106d中。
例如,在相机150和/或微处理器102正在进行数据的流传输并且系统由电池供电的操作模式下,微处理器102可选择具有足够交错比率的写入交错策略以处理最大数据率。在某一示例中,对于组合的音频和视频信息,足够交错比率可以是4∶1,对于单独的视频信息,足够交错比率可以是2∶1,对于静止图像或音频信息,足够交错比率可以是1∶1。
对于另一示例,在系统100通过电池116操作,同时从闪存106a-106d读取的操作模式下,微处理器102可选择较低的读取交错策略以最大化电池寿命。例如,所述操作模式会发生在被用作用于重放存储在闪速存储器106a-106d中的视频、音频和/或其它(例如,文本)信息的便携式装置时。
作为另一示例,在系统100由外部电源供电,同时从闪存106a-106d读取或向闪存106a-106d写入的操作模式下,微处理器102可选择读取和/或写入交错策略以最小化访问时间。在某一应用中,可按最大可实现数据率向闪存106a-106d或从闪存106a-106d传送数据(例如,歌曲、视频),以最小化完成传送操作所需的时间。
或者,可独立地对读取和写入交错策略进行确定、存储或其它方式的预设,而不必根据电池电压、温度或操作模式来动态调节。
微处理器102可根据各种方法执行诸如测试代码126或控制代码128的指令的程序,将分别参照图2到图3来描述其示例。
在图2中,流程图200示出微处理器102可在执行测试代码126的实现时执行的操作的示例。尽管图1所示的示例示出由微处理器102执行的存储在NVM 124中的测试代码126的单个方框,但是其它处理器或逻辑电路可执行所示操作中的某些或全部,并且可使用存储在诸如RAM(未示出)的不同于NVM 124中的位置的指令。
在所述示例中,当微处理器102请求更新交错策略130时,所述方法在步骤205开始。将参照图3更加详细地描述可促使微处理器发起对交错策略130的更新的条件。
微处理器102通过查询或以其它方式读取热传感器136在步骤210检查温度。如果在步骤215所述温度高于预设阈值温度,则微处理器102在步骤220选择具有最小交错比率的用于读取和写入两者的交错策略,所述最小交错比率诸如作为示例的1∶1。接着,微处理器102在步骤225将选择的读取和写入交错策略130存储在NVM 124中,并且所述方法在步骤230结束。
如果在步骤215温度没有高于预设阈值温度,则微处理器102在步骤235检查电源。如果在步骤240系统100正在使用外部电源,则微处理器102在步骤245选择具有最大交错比率的用于读取和写入两者的交错策略,所述最大交错比率诸如作为示例的4∶1。接着,微处理器102在步骤225将选择的读取和写入交错策略130写入NVM 124中,并且所述方法在步骤230结束。
在步骤240,如果系统100正在将电池116用作电源,则微处理器102通过读取调压器118中的电源管理器120的状态寄存器122在步骤250检查电池电压。接着,微处理器102在步骤255检查系统100的操作模式。例如,操作模式可以包括系统100当前执行的操作以及用户选择的操作模式,诸如最大电池寿命模式或最小延迟模式。作为另一示例,微处理器102可检查数据接口132中的数据流、显示器142的操作条件以及音频输出装置140中的输出。如果这些装置吸取大量的电流,则微处理器102可选择具有较低交错比率的交错策略。在检查电池电压和操作模式之后,微处理器102独立地在步骤260选择写入交错策略并在步骤265选择读取交错策略。接着,微处理器102在步骤225将选择的读取和写入交错策略130存储在NVM 124中,并且所述方法在步骤230结束。
在图3中,流程图300示出微处理器102在执行控制代码128的实现时可执行的操作的示例。微处理器102可执行控制代码128以选择适当的交错策略并将选择的交错策略发送到存储器控制器104。在所述示例中,当微处理器102接收到用于访问闪速存储器106a-106d的命令时,所述方法在步骤305开始。在步骤310,微处理器102接收到写入或读取命令。例如,当用户通过数据接口132将数据下载到闪速存储器106a-106d时,微处理器102可接收写入命令。作为另一示例,当用户使用用户接口138来指示系统100播放存储在闪速存储器106a-106d中的视频时,微处理器102可接收读取命令。
微处理器102随后在步骤315确定是否需要更新交错策略。如果在步骤350微处理器102确定需要更新交错策略,则如流程图200所示,微处理器102执行测试代码126以选择并存储交错策略。例如,当温度、电源、电池电压和/或操作模式中的任何一个发生改变时,会需要改变交错策略。在另一示例中,可根据日程(例如,每小时、每日、每周等)周期性地更新交错策略。
如果微处理器102在步骤315确定不需要更新交错策略,则微处理器102在步骤320检查所述命令是读取命令还是写入命令。如果接收的命令是写入命令,则微处理器102在步骤325将写入交错策略发送到存储器控制器104。接着,在步骤330,微处理器102将写入命令发送到存储器控制器104,并且所述方法在步骤335结束。
在步骤320,如果所述命令是读取命令,则微处理器102在步骤340将读取交错策略发送到存储器控制器104。接着,在步骤345,微处理器102将读取命令发送到存储器控制器104,并且所述方法在步骤335结束。
在处理器102已经选择并存储交错策略之后,所述处理返回到步骤320。
尽管已经描述了所述方法的一种实现,但是其它实现可按照不同的顺序执行所述步骤,或者可执行用于实现相同的主要功能的修改方式,所述主要功能用于选择对闪速存储器进行读取和写入的适当交错策略。
尽管已经参照图1描述了可以是便携式的系统的示例,但是在诸如桌上型或联网环境的其它处理应用中可采用其它实现。
可将某些系统实现为可根据本发明的实现使用的计算机系统。例如,各种实现可包括:数字和/或模拟电路、计算机硬件、固件、软件或其组合。可以在有形地包含在信息载体中的计算机程序产品中实现所述设备,以便由可编程处理器来执行,所述信息载体例如机器可读存储装置或传播的信号;并且可由执行指令程序的可编程处理器来执行所述方法,以便通过对输入数据进行操作并产生输出来执行本发明的功能。可有利地在一个或更多计算机程序中实现所述方法,所述计算机程序可以在可编程系统中执行,所述可编程系统包括至少一个可编程处理器、至少一个输入装置和/或至少一个输出装置,其中,所述可编程处理器被耦合用于从数据存储系统接收数据和指令,并将数据和指令发送到数据存储装置。计算机程序是可以在计算机中直接或间接使用以便执行特定活动或产生特定结果的指令的集合。可以用任何形式的编程语言来写计算机程序,所述编程语言包括编译或解释语言,可以按任何形式使用所述计算机程序,包括作为独立于操作系统的程序,或者作为模块、部件、子程序或适合在计算环境中使用的其它单元。
作为示例,用于执行指令的程序的适合处理器包括通用微处理器和专用微处理器两者,它们可包括单处理器或任何种类计算机的多处理器之一。通常,处理器将从只读存储器或随机存取存储器或者以上两者接收指令和数据。计算机的必要部件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器。通常,计算机将还包括用于存储数据文件的一个或多个大容量存储器或在操作上耦合为与所述大容量存储器进行通信;这种装置包括诸如内部硬盘和可拆卸盘的磁盘、磁光盘和光盘。适于有形地包含计算机程序指令和数据的存储装置包括所有形式的非易失性存储器,作为示例,其包括诸如EPROM、EPPROM和闪速存储装置的半导体存储装置、诸如内部硬盘和可拆卸盘的磁盘、磁光盘以及CD-ROM和DVD-ROM盘。可通过ASIC(专用集成电路)来补充处理器和存储器,或者将所述处理器和存储器并入ASIC中。
在某些实现中,可用相同或相似的信息来对每个系统100进行编程,并且/或者用存储在易失性和/或非易失性存储器中的基本等同的信息来初始化每个系统100。例如,可将一数据接口配置为当耦合到诸如桌上型计算机或服务器的适当主机装置时,执行自动配置、自动下载和/或自动更新功能。
在某些实现中,可将一个或多个用户接口特点自定义配置为执行特定功能。可在包括图形用户界面和/或互联网浏览器的计算机系统中实现本发明。为了向用户提供相互作用,可在这样的计算机上实行某些实现,所述计算机具有诸如CRT(阴极射线管)或LCD(液晶显示器)监视器的用于向用户显示信息的显示装置、键盘和点击设备,所述点击设备诸如鼠标或光标运动球,通过它们,用户可向计算机提供输入。
在各种实现中,系统100可使用适当的通信方法、设备和技术来进行通信。例如,系统100可使用点对点通信与相关装置(例如,能够向/从系统100传送数据的装置)进行通信,在点对点通信中,通过专用物理链路(例如,光纤链路、点对点写入、菊花链)将消息直接从源传输到接收机。所述系统的部件可通过包括通信网络上基于分组的消息的模拟或数字数据通信的任何形式或介质来交换信息。例如,通信网络的示例包括:LAN(局域网)、WAN(广域网)、MAN(城域网)、无线和/或光网络和形成互联网的计算机和网络。其它实现可通过向经由通信网络耦合在一起的所有装置或基本上所有装置进行广播来传输消息,例如,通过使用全向射频(RF)信号。其它实现可传输由高度方向性所表征的消息,诸如使用定向(或窄束)天线发送的RF信号或可选地通过聚焦光学器件使用的红外信号。其它实现可使用适当的接口和协议,诸如作为示例而非限制的USB 2.0、火线、ATA/IDE、RS-232、RS-422、RS-485、802.11a/b/g、Wi-Fi、以太网、IrDA、FDDI(光纤分布式接口)、令牌环网或基于频分、时分或码分的复用技术。某些实现可选地结合有诸如对数据完整性进行误差检查与校正(ECC)的特点或者诸如加密(例如,WEP)和密码保护的安全性措施。
已经描述了本发明的一些实现。然而,应该理解:在不脱离本发明的精神和范围的情况下,可进行各种修改。例如,如果以不同的顺序执行所公开技术的步骤,如果以不同方式组合所公开系统的部件,或者如果由其它部件来替换或补充所述部件,则可能会实现有利的结果。可在硬件、软件或两者的组合中执行所述功能和处理(包括算法),某些实现可在不同于所公开的模块或硬件上执行。因此,其它实现也在所附权利要求的范围之内。

Claims (20)

1、一种使用交错存储器来处理数据的系统,所述系统包括:
电源;
在操作上耦合到电源的多个存储单元;
存储器控制器,用于选择性地控制用于访问所述多个存储单元的交错比率;以及
处理器,用于识别对于存储器控制器的交错比率,包括:
接收对于访问存储单元的请求的装置;以及
通过选择用于执行所接收的访问请求的交错比率来控制由存储器从电源吸取的峰值电流以处理所述请求的装置,
其中,交错比率较大,则吸取的峰值电流较大,而交错比率较小,则吸取的峰值电流较小。
2、如权利要求1所述的系统,其中,所述多个存储单元包括闪速存储器。
3、如权利要求1所述的系统,其中,所述电源包括便携式储能源。
4、如权利要求1所述的系统,其中,所述通过选择用于执行所接收的访问请求的交错比率来控制由存储器从电源吸取的峰值电流以处理所述请求的装置包括:
用于选择小于最大可用交错比率的交错比率的部件。
5、一种选择用于访问闪速存储器的交错策略的方法,所述闪速存储器被配置为存储交错数据,所述方法包括:
接收对于从交错闪速存储器进行读取的请求;
基于第一组准则识别用于从闪速存储器进行读取的读取交错比率;
接收对于向闪速存储器进行写入的请求;以及
基于第二组准则识别用于向闪速存储器进行写入的写入交错比率,其中,所识别的读取交错比率和写入交错比率是不同的,并且
其中,交错比率较大,则吸取的峰值电流较大,而交错比率较小,则吸取的峰值电流较小;
其中,第一组准则包括下述组中的一个或多个成员,所述组包括:外部电源电压、可用于向闪速存储器供电的电流、温度、使用的是外部电源还是电池、和电池电压;
其中,第二组准则包括下述组中的一个或多个成员,所述组包括:外部电源电压、可用于向闪速存储器供电的电流、温度、操作模式、数据传送速率、使用的是外部电源还是电池、和电池电压;
其中,当外部电源电压或可用于向闪速存储器供电的电流超过第二阈值时,第二组准则将写入交错比率定义为大于最小可用写入交错比率;以及
其中,第一组准则在外部电源电压或可用于向闪速存储器供电的电流超过第一阈值时,将读取交错比率定义为大于最小可用读取交错比率,或者第一组准则在不使用从便携式储能源吸取的功率来操作闪速存储器时,将读取交错比率定义为最大可用读取交错比率,其中,第二阈值不同于第一阈值。
6、如权利要求5所述的方法,其中,第二组准则还将写入交错比率定义为固定的。
7、如权利要求5所述的方法,其中,第二组准则包括与将写入闪速存储器的数据相关的数据传送速率。
8、如权利要求7所述的方法,其中,写入交错比率包括足以按所述数据传送速率将数据写入闪速存储器的比率。
9、如权利要求8所述的方法,其中,对于包括视频和音频信息的数据流,第二组准则还将其写入交错比率定义为高于用于包括音频信息而没有视频信息的数据流的写入交错比率。
10、如权利要求8所述的方法,其中,对于包括视频信息的数据流,第二组准则还将其写入交错比率定义为高于用于包括静止图像信息的数据流的写入交错比率。
11、如权利要求5所述的方法,其中,第一组准则和第二组准则中的至少一个在检测到温度超过阈值时还分别定义减少的读取和写入交错比率。
12、如权利要求5所述的方法,其中,第一组准则和第二组准则中的至少一个响应于用于最小化功耗的信号还分别定义减少的读取和写入交错比率。
13、如权利要求5所述的方法,其中,在至少一个操作条件下,读取交错比率和写入交错比率包括不同的比率。
14、如权利要求5所述的方法,其中,识别读取交错比率的步骤包括控制用于处理读取请求所吸取的最大电流电平。
15、如权利要求5所述的方法,其中,识别写入交错比率的步骤包括控制用于处理写入请求所吸取的最大电流电平。
16、一种选择用于访问存储器的交错策略的方法,所述方法包括:
接收对于访问存储器的请求和相关存储器访问信号;
接收与第一组准则有关的第一信号和与第二组准则有关的第二信号,所述第一组准则和第二组准则包括在至少一个操作条件下不同的至少一个准则;
通过执行计算以基于第一信号选择读取交错策略或基于第二信号选择写入交错策略,识别用于执行所述对于访问存储器的请求的交错策略;以及
使用识别的交错策略发送输出信号以执行所请求的存储器访问;
其中,第一组准则包括下述组中的一个或多个成员,所述组包括:外部电源电压、可用于向闪速存储器供电的电流、温度、使用的是外部电源还是电池、和电池电压;
其中,第二组准则包括下述组中的一个或多个成员,所述组包括:外部电源电压、可用于向闪速存储器供电的电流、温度、操作模式、数据传送速率、使用的是外部电源还是电池、和电池电压;
其中,当外部电源电压或可用于向闪速存储器供电的电流超过第二阈值时,第二信号将写入交错策略定义为大于最小可用写入交错策略;以及
其中,第一信号在外部电源电压或可用于向闪速存储器供电的电流超过第一阈值时,将读取交错策略定义为大于最小可用读取交错策略,或者第一信号在不使用从便携式储能源吸取的功率来操作闪速存储器时,将读取交错策略定义为最大可用读取交错策略,其中,第二阈值不同于第一阈值。
17、如权利要求16所述的方法,所述操作还包括:使用识别的交错策略来访问多个闪速存储器块。
18、如权利要求16所述的方法,所述操作还包括:更新读取交错策略和写入交错策略中的至少一个。
19、如权利要求18所述的方法,更新所述交错策略中的至少一个的操作包括:识别从下述组中选择的至少一个参数的改变,所述组包括:温度、使用的是外部电源还是电池、电池电压和操作模式。
20、如权利要求16所述的方法,还包括:当检测到温度超过预定阈值时,减少读取和写入交错策略中的至少一个。
CNB2007100022797A 2006-01-18 2007-01-17 处理数据的系统和选择交错策略的方法 Expired - Fee Related CN100555255C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/334,293 US7793059B2 (en) 2006-01-18 2006-01-18 Interleaving policies for flash memory
US11/334,293 2006-01-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN200910169185.8A Division CN101661434B (zh) 2006-01-18 2007-01-17 用于闪速存储器的交错策略

Publications (2)

Publication Number Publication Date
CN101004724A CN101004724A (zh) 2007-07-25
CN100555255C true CN100555255C (zh) 2009-10-28

Family

ID=37898345

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200910169185.8A Expired - Fee Related CN101661434B (zh) 2006-01-18 2007-01-17 用于闪速存储器的交错策略
CNB2007100022797A Expired - Fee Related CN100555255C (zh) 2006-01-18 2007-01-17 处理数据的系统和选择交错策略的方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200910169185.8A Expired - Fee Related CN101661434B (zh) 2006-01-18 2007-01-17 用于闪速存储器的交错策略

Country Status (5)

Country Link
US (2) US7793059B2 (zh)
EP (2) EP1818830B1 (zh)
JP (2) JP4870582B2 (zh)
CN (2) CN101661434B (zh)
TW (1) TWI340903B (zh)

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552280B1 (en) * 2006-06-28 2009-06-23 Emc Corporation Asymmetrically interleaving access to redundant storage devices
CN101715575A (zh) 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
US20080189558A1 (en) * 2007-02-01 2008-08-07 Sun Microsystems, Inc. System and Method for Secure Data Storage
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US8427867B2 (en) * 2007-10-22 2013-04-23 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8443242B2 (en) * 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072103A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
WO2009072100A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Systems and methods for temporarily retiring memory portions
WO2009072105A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US7979667B2 (en) * 2007-12-10 2011-07-12 Spansion Llc Memory array search engine
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
WO2009078006A2 (en) * 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US9152496B2 (en) * 2007-12-21 2015-10-06 Cypress Semiconductor Corporation High performance flash channel interface
US9495116B2 (en) * 2007-12-26 2016-11-15 Sandisk Il Ltd. Storage device coordinator and a host device that includes the same
JP2009211192A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリシステム
US8099539B2 (en) * 2008-03-10 2012-01-17 Lsi Corporation Method and system of a shared bus architecture
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US7961544B2 (en) * 2008-08-05 2011-06-14 Sandisk Il Ltd. Storage system and method for managing a plurality of storage devices
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
JP5489434B2 (ja) * 2008-08-25 2014-05-14 株式会社日立製作所 フラッシュメモリ搭載ストレージ装置
US8370603B2 (en) 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
KR101581679B1 (ko) * 2009-03-18 2015-12-31 삼성전자주식회사 저장 장치 및 저장 장치의 버퍼 메모리 관리 방법
US8285917B2 (en) * 2009-03-26 2012-10-09 Scaleo Chip Apparatus for enhancing flash memory access
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8321647B2 (en) * 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
JP5532671B2 (ja) * 2009-05-08 2014-06-25 ソニー株式会社 データ記憶システムおよびデータ記憶方法、実行装置および制御方法、並びに制御装置および制御方法
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8327092B2 (en) * 2009-09-21 2012-12-04 Freescale Semiconductor, Inc. Memory device configurable as interleaved or non-interleaved memory
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
KR101623730B1 (ko) * 2009-11-23 2016-05-25 삼성전자주식회사 인터리버 장치
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8904085B2 (en) * 2010-01-14 2014-12-02 Lenovo (Singapore) Pte. Ltd. Solid-state memory management
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
JP2011233114A (ja) * 2010-04-30 2011-11-17 Toshiba Corp メモリシステム
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8522055B2 (en) 2010-07-26 2013-08-27 Apple Inc. Peak power validation methods and systems for non-volatile memory
US8555095B2 (en) * 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US8826051B2 (en) 2010-07-26 2014-09-02 Apple Inc. Dynamic allocation of power budget to a system having non-volatile memory and a processor
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US20120179883A1 (en) * 2011-01-12 2012-07-12 Broadcom Corpotation System and method for dynamically adjusting memory performance
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US20120221767A1 (en) 2011-02-28 2012-08-30 Apple Inc. Efficient buffering for a system having non-volatile memory
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8645723B2 (en) 2011-05-11 2014-02-04 Apple Inc. Asynchronous management of access requests to control power consumption
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8943336B2 (en) 2011-07-01 2015-01-27 Intel Corporation Method and apparatus for configurable thermal management
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8656251B2 (en) * 2011-09-02 2014-02-18 Apple Inc. Simultaneous data transfer and error control to reduce latency and improve throughput to a host
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
CN103064799B (zh) * 2011-10-21 2016-03-09 神讯电脑(昆山)有限公司 电子系统及其数据保全方法与装置
US20130117532A1 (en) * 2011-11-07 2013-05-09 Alexander Rabinovitch Interleaving address modification
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
TWI483111B (zh) * 2012-09-20 2015-05-01 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
CN103699491B (zh) * 2012-09-28 2017-05-10 群联电子股份有限公司 数据储存方法、存储器控制器与存储器储存装置
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9092327B2 (en) 2012-12-10 2015-07-28 Qualcomm Incorporated System and method for allocating memory to dissimilar memory devices using quality of service
US9110795B2 (en) * 2012-12-10 2015-08-18 Qualcomm Incorporated System and method for dynamically allocating memory in a memory subsystem having asymmetric memory components
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9612648B2 (en) * 2013-08-08 2017-04-04 Qualcomm Incorporated System and method for memory channel interleaving with selective power or performance optimization
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
EP2884369B1 (en) 2013-12-16 2018-02-07 Stichting IMEC Nederland Memory control system for a non-volatile memory and control method
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9977628B2 (en) * 2014-04-16 2018-05-22 Sandisk Technologies Llc Storage module and method for configuring the storage module with memory operation parameters
KR102254099B1 (ko) 2014-05-19 2021-05-20 삼성전자주식회사 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9093160B1 (en) * 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9632562B2 (en) * 2014-11-20 2017-04-25 Qualcomm Incorporated Systems and methods for reducing volatile memory standby power in a portable computing device
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9996276B2 (en) * 2015-03-04 2018-06-12 Toshiba Memory Corporation Memory system, memory controller and control device
KR102222444B1 (ko) 2015-03-05 2021-03-04 삼성전자주식회사 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US10241701B2 (en) 2015-09-16 2019-03-26 Samsung Electronics Co., Ltd. Solid state memory system with power management mechanism and method of operation thereof
US11216323B2 (en) 2015-09-16 2022-01-04 Samsung Electronics Co., Ltd. Solid state memory system with low power error correction mechanism and method of operation thereof
KR20170078307A (ko) * 2015-12-29 2017-07-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10459855B2 (en) * 2016-07-01 2019-10-29 Intel Corporation Load reduced nonvolatile memory interface
US10007311B2 (en) * 2016-08-15 2018-06-26 Sandisk Technologies Llc Adaptive temperature and memory parameter throttling
CN110489051A (zh) * 2018-05-14 2019-11-22 慧荣科技股份有限公司 数据储存装置及系统信息的编程方法
TWI687811B (zh) * 2018-05-14 2020-03-11 慧榮科技股份有限公司 資料儲存裝置及系統資訊的編程方法
TWI667606B (zh) * 2018-07-06 2019-08-01 深圳大心電子科技有限公司 記憶體管理方法以及儲存控制器
KR102645786B1 (ko) * 2019-07-08 2024-03-12 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
DE112019007657T5 (de) 2019-08-23 2022-05-19 Micron Technology, Inc. Temperaturbasierte speicherverwaltung
US11183248B1 (en) 2020-07-29 2021-11-23 Micron Technology, Inc. Timing parameter adjustment mechanisms
WO2022041052A1 (en) * 2020-08-27 2022-03-03 Micron Technology, Inc. External power functionality techniques for memory devices
WO2023009122A1 (en) * 2021-07-29 2023-02-02 Hewlett-Packard Development Company, L.P. Minimize delay times for status checks to flash memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405286B2 (en) * 1998-07-31 2002-06-11 Hewlett-Packard Company Method and apparatus for determining interleaving schemes in a computer system that supports multiple interleaving schemes
CN1517880A (zh) * 2003-01-10 2004-08-04 英特尔公司 存储器交叉存取
CN1177282C (zh) * 2002-09-24 2004-11-24 威盛电子股份有限公司 执行热键功能的方法与系统

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503494A (en) * 1980-06-26 1985-03-05 Texas Instruments Incorporated Non-volatile memory system
EP0675502B1 (en) * 1989-04-13 2005-05-25 SanDisk Corporation Multiple sector erase flash EEPROM system
US5978569A (en) * 1989-05-02 1999-11-02 Norand Corporation System having plurality of docking unit receptacles for transmitting data between plurality of portable data entry terminals in local area network with a central controller
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
JPH05233551A (ja) * 1992-02-21 1993-09-10 Toshiba Corp ポータブルコンピュータ
TW231343B (zh) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US5341489A (en) 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
US5404543A (en) * 1992-05-29 1995-04-04 International Business Machines Corporation Method and system for reducing an amount of power utilized by selecting a lowest power mode from a plurality of power modes
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
DE69326236T2 (de) 1993-06-16 1999-12-30 Bull Hn Information Systems Italia S.P.A., Pregnana Milanese Speicher mit variabeler Verschachtelungshöhe und verwandte Konfigurationseinheit
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
US7137011B1 (en) * 1993-09-01 2006-11-14 Sandisk Corporation Removable mother/daughter peripheral card
US5508971A (en) * 1994-10-17 1996-04-16 Sandisk Corporation Programmable power generation circuit for flash EEPROM memory systems
FR2734061B1 (fr) 1995-05-12 1997-06-20 Thomson Csf Procede de determination de la charge disponible d'une batterie d'accumulateurs en fin de decharge
US5627784A (en) * 1995-07-28 1997-05-06 Micron Quantum Devices, Inc. Memory system having non-volatile data storage structure for memory control parameters and method
EP0777182B1 (en) * 1995-11-28 2001-07-04 Bull S.A. A memory access limiter for random access dynamic memories
JPH1069420A (ja) 1996-08-29 1998-03-10 Sony Corp 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
US5944829A (en) * 1996-09-30 1999-08-31 Intel Corporation Adjusting software characteristics by user interface based upon battery level and the amount of time the user wants the battery to last
FI104528B (fi) 1996-10-03 2000-02-15 Nokia Networks Oy Liikkuvan aseman paikallistamismenetelmä ja solukkoradioverkko
KR100205006B1 (ko) * 1996-10-08 1999-06-15 윤종용 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치
US6052306A (en) * 1996-11-04 2000-04-18 Siemens Aktiengesellschaft Method and device for automatic determination of the required high voltage for programming/erasing an EEPROM
JPH10187302A (ja) 1996-12-26 1998-07-14 Toshiba Corp データ記憶システム及び同システムに適用する電力節約方法
JP3821536B2 (ja) * 1997-05-16 2006-09-13 沖電気工業株式会社 不揮発性半導体ディスク装置
US5994829A (en) * 1997-05-23 1999-11-30 Thomson Consumer Electronics, Inc. Color cathode-ray tube having phosphor elements deposited on an imperforate matrix border
JP3508503B2 (ja) * 1997-10-02 2004-03-22 日本精工株式会社 リニアガイド装置
US6148435A (en) * 1997-12-24 2000-11-14 Cypress Semiconductor Corporation Optimized programming/erase parameters for programmable devices
US6021076A (en) 1998-07-16 2000-02-01 Rambus Inc Apparatus and method for thermal regulation in memory subsystems
JP2001067863A (ja) * 1999-08-31 2001-03-16 Mitsubishi Electric Corp 半導体記憶装置
US6516381B1 (en) * 1999-09-28 2003-02-04 Intel Corporation Supplying voltage to a memory module
US6269025B1 (en) * 2000-02-09 2001-07-31 Advanced Micro Devices, Inc. Memory system having a program and erase voltage modifier
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6304487B1 (en) * 2000-02-28 2001-10-16 Advanced Micro Devices, Inc. Register driven means to control programming voltages
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
JP2001352373A (ja) * 2000-06-08 2001-12-21 Nintendo Co Ltd 携帯端末を用いた表示処理システム、それに用いられる携帯端末、およびそれに用いられる変換アダプタ
US6748562B1 (en) * 2000-10-31 2004-06-08 Agilent Technologies, Inc. Memory tester omits programming of addresses in detected bad columns
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
TW493119B (en) * 2001-03-28 2002-07-01 Via Tech Inc Method for automatically identifying the type of memory and motherboard using the same
JP4694040B2 (ja) * 2001-05-29 2011-06-01 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP4841070B2 (ja) 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
JP3822081B2 (ja) * 2001-09-28 2006-09-13 東京エレクトロンデバイス株式会社 データ書込装置、データ書込制御方法及びプログラム
US6871257B2 (en) * 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
KR100463199B1 (ko) * 2002-03-04 2004-12-23 삼성전자주식회사 플렉서블 리던던시 스킴을 갖는 반도체 메모리 장치
FI115562B (fi) 2002-03-27 2005-05-31 Nokia Corp Menetelmä ja järjestelmä tehonkulutuksen määrittämiseksi elektroniikkalaitteen yhteydessä ja elektroniikkalaite
JP2003308138A (ja) 2002-04-18 2003-10-31 Toshiba Corp 電子機器および電子機器の駆動制御方法
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
US6879526B2 (en) * 2002-10-31 2005-04-12 Ring Technology Enterprises Llc Methods and apparatus for improved memory access
US7127622B2 (en) * 2003-03-04 2006-10-24 Micron Technology, Inc. Memory subsystem voltage control and method
WO2004086363A2 (en) * 2003-03-27 2004-10-07 M-Systems Flash Disk Pioneers Ltd. Data storage device with full access by all users
US7240219B2 (en) * 2003-05-25 2007-07-03 Sandisk Il Ltd. Method and system for maintaining backup of portable storage devices
US7237074B2 (en) * 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
JP3902159B2 (ja) * 2003-06-13 2007-04-04 株式会社日立製作所 不揮発性メモリ装置
JP4392590B2 (ja) 2003-10-31 2010-01-06 ソニー株式会社 温度制御装置及びその方法、携帯端末装置並びに温度制御プログラム
CN1886749B (zh) 2003-11-28 2012-06-13 松下电器产业株式会社 记录装置
US7081897B2 (en) 2003-12-24 2006-07-25 Intel Corporation Unified memory organization for power savings
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
JP2005234935A (ja) * 2004-02-20 2005-09-02 Renesas Technology Corp 情報記憶装置
US7577859B2 (en) * 2004-02-20 2009-08-18 International Business Machines Corporation System and method of controlling power consumption in an electronic system by applying a uniquely determined minimum operating voltage to an integrated circuit rather than a predetermined nominal voltage selected for a family of integrated circuits
US7656635B2 (en) * 2004-08-06 2010-02-02 Intel Corporation Overheat detection in thermally controlled devices
US7502256B2 (en) * 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US7180813B2 (en) * 2004-12-15 2007-02-20 Stmicroelectronics, Inc. Programmable system device having a shared power supply voltage generator for FLASH and PLD modules
US7236894B2 (en) * 2004-12-23 2007-06-26 Rambus Inc. Circuits, systems and methods for dynamic reference voltage calibration
US7864615B2 (en) * 2005-02-25 2011-01-04 Kingston Technology Corporation Flash memory controller utilizing multiple voltages and a method of use
TWI319160B (en) * 2005-07-11 2010-01-01 Via Tech Inc Memory card capable of supporting various voltage supply and control chip and method of supporting voltage thereof
KR100725979B1 (ko) * 2005-07-23 2007-06-08 삼성전자주식회사 비휘발성 메모리의 기입/독출 내구력 개선 장치 및 그 방법
US7712670B2 (en) * 2005-09-28 2010-05-11 Sauerwein Jr James T Data collection device and network having radio signal responsive mode switching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405286B2 (en) * 1998-07-31 2002-06-11 Hewlett-Packard Company Method and apparatus for determining interleaving schemes in a computer system that supports multiple interleaving schemes
CN1177282C (zh) * 2002-09-24 2004-11-24 威盛电子股份有限公司 执行热键功能的方法与系统
CN1517880A (zh) * 2003-01-10 2004-08-04 英特尔公司 存储器交叉存取

Also Published As

Publication number Publication date
JP4870582B2 (ja) 2012-02-08
CN101661434B (zh) 2016-06-15
US20100332741A1 (en) 2010-12-30
JP5551136B2 (ja) 2014-07-16
EP1818830A3 (en) 2007-10-10
EP1818830A2 (en) 2007-08-15
TWI340903B (en) 2011-04-21
US7793059B2 (en) 2010-09-07
CN101004724A (zh) 2007-07-25
EP1818830B1 (en) 2018-07-18
EP2267602A2 (en) 2010-12-29
EP2267602B1 (en) 2018-07-18
EP2267602A3 (en) 2012-01-04
JP2007193810A (ja) 2007-08-02
JP2012043451A (ja) 2012-03-01
CN101661434A (zh) 2010-03-03
TW200741464A (en) 2007-11-01
US20070168625A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
CN100555255C (zh) 处理数据的系统和选择交错策略的方法
US8171318B2 (en) Reporting flash memory operating voltages
US20090132756A1 (en) Portable flash memory storage device that may show its remaining lifetime
US11055215B2 (en) Memory system and control method for garbage collection in a memory system
CN101436118B (zh) 面向对象数据存储的方法和系统
US20090300227A1 (en) Method of monitoring host activity
CN100419634C (zh) 外围设备及其控制方法、它的主体装置及其控制方法
CN106411458B (zh) 用于对接收数据进行控制的设备和方法
CN104427075A (zh) 音量调节系统及方法
CN103514958B (zh) 一种emmc芯片寿命检测方法
KR20210000877A (ko) 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법
JP2014035773A (ja) マルチメディアプロセッシングシステム及びそのマルチメディアプロセッシング方法
CN100520946C (zh) 存储不同数据格式的存储器件
US20070168603A1 (en) Information recording apparatus and control method thereof
KR20210039171A (ko) 메모리 시스템을 포함하는 데이터 처리 시스템에서 동작 정보를 송수신하는 방법 및 장치
US20060093312A1 (en) Content playback system and method
WO2017096805A1 (zh) 一种由pc向移动设备导流应用程序的方法及pc客户端
CN107396246A (zh) 基于用户行为习惯的智能音箱控制系统
JP2012221025A (ja) フラッシュメモリ保持データのバックアップ通知システム、その方法およびプログラム
KR20080079144A (ko) 휴대용기기에서 배터리의 잔량을 표시하는 방법 및 장치
US8670852B2 (en) Audio streaming system and method for performing distributed audio processing within the system
CN107209656A (zh) 调整扬声器设置
US20130311859A1 (en) System and method for enabling execution of video files by readers of electronic publications
JP2022012874A (ja) 受信端末、通信システム、およびプログラム
CN101933093A (zh) 媒体的倒带回放

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091028

CF01 Termination of patent right due to non-payment of annual fee