JP2015056171A - メモリシステムおよび情報処理装置 - Google Patents

メモリシステムおよび情報処理装置 Download PDF

Info

Publication number
JP2015056171A
JP2015056171A JP2013191142A JP2013191142A JP2015056171A JP 2015056171 A JP2015056171 A JP 2015056171A JP 2013191142 A JP2013191142 A JP 2013191142A JP 2013191142 A JP2013191142 A JP 2013191142A JP 2015056171 A JP2015056171 A JP 2015056171A
Authority
JP
Japan
Prior art keywords
data
block
memory system
page size
page
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
Application number
JP2013191142A
Other languages
English (en)
Inventor
仁 根津
Hitoshi Nezu
仁 根津
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013191142A priority Critical patent/JP2015056171A/ja
Priority to US14/194,600 priority patent/US20150081950A1/en
Publication of JP2015056171A publication Critical patent/JP2015056171A/ja
Pending legal-status Critical Current

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical 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)
  • Memory System (AREA)

Abstract

【課題】メモリシステムに含まれる不揮発性半導体メモリのページサイズと、ホストシステムが認識できるページサイズが異なっていても、ホストシステムを起動可能なメモリシステムを提供すること。
【解決手段】メモリシステムの起動時に読み出される第1のデータが格納された第1のブロックと、前記メモリシステムの起動後に読み出される第2のデータが格納された第2のブロックとを含み、前記第1のブロックおよび前記第2のブロックは夫々複数のページから構成される不揮発性メモリと、前記メモリシステムの起動時に、ページサイズ識別情報を前記メモリシステムの外部に出力する制御部とを備え、前記ページサイズ識別情報は、前記第1のブロックに含まれるページは第1のページサイズを有し、前記第2のブロックに含まれるページは第2のページサイズを有することを示している。
【選択図】図1

Description

本発明の実施形態は、不揮発性半導体メモリを備えるメモリシステムおよび情報処理装置に関する。
スマートフォン、タブレットPCなどのスマートデバイスをホストシステムとし、このホストシステムに組込まれるフラッシュメモリシステムは、簡単な制御機能を備えるコントローラと、不揮発性半導体メモリとしてのフラッシュメモリとを備える。フラッシュメモリは、消去単位であるブロックを複数個含み、各ブロックは複数のページによって構成されている。
ホストシステムは、ブート時に、フラッシュメモリのページサイズを示すページサイズ識別情報をメモリシステム側から取得し、取得したページサイズ識別情報に基づいてフラッシュメモリのページサイズを判定する。
しかしながら、ホストシステムのブートプログラムが認識可能なページサイズと、フラッシュメモリから取得したページサイズとが異なる場合、ホストシステムが起動不可能となる場合がある。フラッシュメモリのページサイズは半導体設計デザインルール変更により世代が進むにつれ急速に拡大化されており、フラッシュメモリの実ページサイズが、ホストシステムのブートプログラムが認識可能なページサイズより大きい場合でも、ホストシステムを起動可能なメモリシステムが望まれている。
特開2009−205411号公報
本発明の一つの実施形態は、メモリシステムに含まれる不揮発性半導体メモリのページサイズと、ホストシステムが認識できるページサイズが異なっていても、ホストシステムを起動可能なメモリシステムおよび情報処理装置を提供することを目的とする。
本発明の一つの実施形態によれば、メモリシステムは、インタフェース部と、不揮発性メモリと、制御部とを備えている。インタフェース部は、メモリシステムの外部とのデータの送受信を行う。不揮発性メモリは、メモリシステムの起動時に読み出される第1のデータが格納された第1のブロックと、前記メモリシステムの起動後に読み出される第2のデータが格納された第2のブロックとを含み、前記第1のブロックおよび前記第2のブロックは夫々複数のページから構成される。制御部は、前記メモリシステムの起動時に、前記インタフェース部を介して、ページサイズ識別情報を前記メモリシステムの外部に出力する。前記ページサイズ識別情報は、前記第1のブロックに含まれるページは第1のページサイズを有し、前記第2のブロックに含まれるページは第2のページサイズを有することを示している。
図1は、第1の実施の形態のメモリシステムの構成例を示す図である。 図2は、ページサイズ識別情報の一例を示す図である。 図3は、ページサイズ識別情報の再設定の手順を示す図である。 図4は、ページサイズ識別情報の他の例を示す図である。 図5は、ホストシステム1の起動時の動作手順を示すフローチャートである。 図6は、ホストシステム側のアドレス−メモリシステム側のアドレス間のアドレス変換情報を示す図である。 図7は、NAND上のデバイスドライバが記憶領域を示す図である。 図8は、メモリシステムの読み出し処理を示す概念図である。 図9は、メモリシステムの読み出し処理を示す工程図である。 図10は、メモリシステムの読み出し処理を示すタイムチャートである。 図11は、メモリシステムの書き込み処理を示すタイムチャートである。 図12は、メモリシステムの書き込み処理を示す概念図である。 図13は、メモリシステムの書き込み処理の他の例を示すタイムチャートである。 図14は、メモリシステムの書き込み処理の他の例を示すタイムチャートである。 図15は、メモリシステムの書き込み処理の他の例を示す概念図である。 図16は、メモリシステムの書き込み処理手順を示すフローチャートである。
以下に添付図面を参照して、実施形態にかかるメモリシステムおよび情報処理装置を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1に、第1の実施形態のメモリシステム100の構成例を示す。メモリシステム100は、インタフェース2を介してホストシステム1(以下、ホストと略す)と接続され、ホスト1の外部記憶装置として機能する。ホスト1は、例えば、スマートフォン、タブレットPCなどのスマートデバイスである。
メモリシステム100は、不揮発性メモリとしてのNAND型フラッシュメモリ10(以下、NANDと略す)と、メモリコントローラ30と、揮発性半導体メモリとしてのRAM20と、ページサイズ識別情報記憶部40と、I/Oバス5とを有している。
NAND10は、メモリシステム100を駆動するデバイスドライバDV1、ホスト1から送信されるユーザデータUDなどを記憶する。デバイスドライバDV1は、ホスト1で使用される。ホスト1のオペレーティングシステムやアプリケーションソフトウェアは、デバイスドライバDV1を介してメモリシステム100とデータの書き込みや読み出しを実行する。
NAND10は、複数のブロックを含んで構成されている。ブロックは、データ消去の単位である。ブロックは、複数のページによって構成されている。この実施形態では、デバイスドライバDV1は、ブロック0〜9に記憶され、ユーザデータUDは、ブロック10以降のブロックに記憶されるとする。ここで、この実施形態では、NAND10の各ページの実ページサイズは8KBであるとし、また1ブロックは256ページで構成されているとする。すなわち、NAND10の1ブロックは2MBであるとする。NAND10のページサイズは、16KB、32KBであってもよいし、1ブロック内のページ数も他のページ数であってもよい。
メモリコントローラ30は、メモリシステム100の制御を行うプロセッサとしてのCPU31と、CPU31上で実行される制御管理プログラムとしてのファームウエアが記憶されるプログラムROM32と、ホスト1から送信されるコマンド、メモリシステム100からの応答などが設定される複数のレジスタを有する周辺レジスタ群33を備える。
RAM20は、ホスト1とNAND10間で転送されるデータを一時的に保存するためバッファ領域である一次バッファ21、二次バッファ22と、データ退避領域23と、プログラムROM32に記憶されるファームウエアとしての制御プログラムが展開して実行される領域とを有している。図1では、制御プログラムの中のデータ合成処理を行う合成処理部としてのマージプログラムが展開されて実行されるマージ機能実行部24を示している。マージプログラムは、後で詳述するが、ホスト1からのデータを複数個数分マージしてNAND10にライトする機能と、ホスト1が指定する物理アドレスをNAND10の物理アドレスに変換するためのマージ用アドレスに変換するアドレス変換機能を有する。
ページサイズ識別情報記憶部40は、NAND10のデバイスドライバDV1が記憶されている記憶領域のページサイズを識別するためのページサイズ識別情報PIを記憶する。ページサイズ識別情報記憶部40は、EEPROM(Electrically Erasable Programmable Read-Only Memory)、シリアル・ペリフェラル・インタフェース(SPI)フラッシュメモリなどの書き換え可能な不揮発メモリで構成されている。また、ページサイズ識別情報記憶部40に記憶されるページサイズ識別情報PIを、NAND10に記憶させるようにしてもよい。ページサイズ識別情報PIに関しては、後で詳述する。
ホスト1は、ホスト1のブートプログラムBPが記憶されるブートROM50、不揮発性メモリとしてのRAM51を有する。ホスト1内のCPU、OS(operating system)などは、便宜上、図示を省略する。RAM5には、NAND10に保存されたデバイスドライバDV1がメモリシステム100から読み出されて記憶される。また、ページサイズ識別情報PIの再設定の際には、ページサイズ識別情報記憶部40に保存されたページサイズ識別情報がメモリシステム100から読み出されてRAM51に記憶される。
ここで、ブートROM50に記憶されるブートプログラムBPは、接続されるメモリシステムの不揮発性半導体メモリが、例えば、2KBのページサイズを有していると認識しているものとする。前述したように、NAND10の実ページサイズは、8KBであり、ブートプログラムが認識するページサイズより大きい。すなわち、ブートプログラムBPが認識しているページサイズは、NAND10の実ページサイズの自然数n(nは2以上の自然数)分の1である。ここでは、n=4である。
図2は、ページサイズ識別情報記憶部40に記憶されるページサイズ識別情報PIの一例を示すものである。図2のページサイズ識別情報PIは、ブロック単位に、ページサイズを任意に設定可能なフォーマットとしている。図2(a)は、メモリシステム100がホスト1に組み込まれた初期状態での、ページサイズ識別情報PIの設定状態を示している。図2(a)では、ページサイズ識別情報PIは、全てのブロック0〜ブロックnについて、ページサイズが8KBと設定されており、NAND10の実ページサイズと一致している。
ページサイズ識別情報記憶部40に記憶されているページサイズ識別情報PIは、外部から書き換え可能となっている。このため、ホスト1の製造者、あるいはチップセットの製造者は、ページサイズ識別情報記憶部40に記憶されているページサイズ識別情報PIを書き換えることで、ブートプログラムBPがアクセスするNAND10の記憶領域であるブロック0〜ブロック9を、ブートプログラムBPが認識するページサイズと一致させることができる。
図3に、ホスト1側からページサイズ識別情報記憶部40に記憶されているページサイズ識別情報PIを書き換える手順を示す。まず、ホスト1の製造者、あるいはチップセットの製造者は、メモリシステム100の周辺レジスタ群33のレジスタへのコマンド設定を行い、メモリシステム100に対し、ページサイズ識別情報記憶部40に記憶されたページサイズ識別情報PIの読み出しを命令する。この周辺レジスタ群33のレジスタへのコマンド設定により、CPU31上で動作するファームウエアは、ページサイズ識別情報記憶部40から、例えば、図2(a)に示したページサイズ識別情報PIを読み出し、読み出したページサイズ識別情報PIを二次バッファ22、一次バッファ21、I/Oバス5、インタフェース2を介して、ホスト1に転送する(ステップS70)。
メモリシステム100から転送されたページサイズ識別情報PIはRAM51に記憶される。ホスト1の製造者、あるいはチップセットの製造者は、RAM51上のページサイズ識別情報PIを、例えば図2(b)に示すように、変更する(ステップS71)。
図2(b)は、ホスト1の製造者、チップセットの製造者などによって、変更されたページサイズ識別情報PIを示している。図2(b)では、デバイスドライバDV1が記憶されるNAND10のブロック0〜ブロック9が、ブートプログラムBPが認識可能な2KBのページサイズに変更されている。これにより、ブートプログラムBPは、ホスト1の起動時、ブートプログラムBP内に記述された判定条件を満足するメモリデバイスとして、メモリシステム100を認識することが可能となる。
ホスト1側で変更されたページサイズ識別情報PIは、ホスト1によってメモリシステム100の周辺レジスタ33のレジスタにコマンドとともにセットされる。この周辺レジスタ群33へのコマンド設定により、CPU31上で動作するファームウエアは、周辺レジスタ群33のレジスタにセットされたページサイズ識別情報PIをページサイズ識別情報記憶部40に書き込み、不揮発化する(ステップS72)。これにより、ページサイズ識別情報PIの再設定が行われる。
図4は、ページサイズ識別情報記憶部40に記憶されるページサイズ識別情報PIの他のフォーマット例を示すものである。このフォーマットでは、先頭ブロックから任意のブロックまでのページサイズを設定可能である。図4(a)は、メモリシステム100がホスト1に組み込まれた初期状態での、ページサイズ識別情報PIの設定状態を示している。図4(a)では、ページサイズ識別情報PIは、ブロック番号の番号を入力する箇所と、ページサイズを入力する箇所が空欄となっている。図4(b)は、ホスト1の製造者、チップセットの製造者などによって、変更されたページサイズ識別情報PIを示している。図4(b)では、ブロック9が2KBのページサイズを有するように設定されており、これにより、デバイスドライバDV1が記憶されるNAND10のブロック0〜ブロック9が、ブートプログラムBPが認識可能な2KBのページサイズであることをブートプログラムBPとメモリシステム10の双方が認識する。
つぎに、図5に従って、メモリシステム100が組み込まれたホスト1の通常の運用の際の起動時の動作手順について説明する。なお、メモリシステム100は、通常の運用の際は、図5のステップS100に示したホストシステム1の電源ONの際に、電源ONにされ、ステップS110〜S170の手順に従って起動される。但し、ホスト1の通常の運用の際は、メモリシステム100のページサイズ情報記憶部40に記憶されたページサイズ識別情報PIは、図2(b)あるいは図4(b)に示したように、ブートプログラムBPが認識可能なページサイズに再設定されている。
ホスト1が起動されると(ステップS100)、ブートROM50に記憶されるブートプログラムBPが起動される。ブートプログラムBPは、メモリシステム100に対し、ページサイズ識別情報記憶部40に記憶されたページサイズ識別情報PIの読み出しを要求する。CPU31は、ブートプログラムBPによる周辺レジスタ群33のレジスタへのコマンド設定によってホスト1からの読み出し要求を認識する。CPU31は、ページサイズ識別情報記憶部40から、例えば、図2(b)に示したページサイズ識別情報PIを読み出し、読み出したページサイズ識別情報PIを二次バッファ22、一次バッファ21、I/Oバス5、インタフェース2を介して、ホスト1に転送する(ステップS110)。ブートプログラムBPは、メモリシステム100から転送されたページサイズ識別情報PIをRAM51に記憶する(ステップS120)。
ブートプログラムBPは、ブートプログラム自身が認識しているNAND10のページサイズと、メモリシステム100から取得したページサイズ識別情報PIに登録されているページサイズとを比較し(ステップS130)、両者が不一致の場合は、これ以降の処理を停止する(ステップS140)。例えば、ページサイズ識別情報PIとして、図2(a)に示すように、全てのページが8KBであるような設定がなされている場合、ブートプログラムBPは、ブートプログラムBP内に記述された判定条件を満足するメモリデバイスとして、メモリシステム100を認識することができず、この時点で処理を停止する。
一方、ステップS130の判定で、両者が一致している場合、ブートプログラムBPは、メモリシステム100に対し、NAND10のブロック0〜ブロック9のデータ読み出しを要求する。ブートプログラムBPが周辺レジスタ群33のレジスタに対して読み出しコマンド、ブロック0〜ブロック9の物理アドレスを設定することによって、メモリシステム100に対する読み出し要求が実行される。
CPU31は、NAND10のブロック0〜ブロック9からデータを読み出し、読み出したデータを二次バッファ22、一次バッファ21、I/Oバス5、インタフェース2を介して、ホスト1に転送する(ステップS150)。ブートプログラムBPは、メモリシステム100から転送されたデータをデバイスドライバDV1としてRAM51に記憶する(ステップS160)。次に、ブートプログラムBPは、ホスト1のプログラムカウンタをデバイスドライバDV1に設定することで、デバイスドライバDV1を起動する(ステップS170)。このデバイスドライバDV1の起動によって、NAND10のユーザ記憶領域UDに対し、ホスト1のOSやアプリケーションからアクセスが可能な状態となる(ステップS180)。デバイスドライバDV1は、メモリシステム100とホスト1の起動時に読み出され、ユーザ記憶領域UDに記憶されたユーザデータは、メモリシステム1の起動後に読み出される。
図6は、データの読み出しおよびデータの書き込みの際に、マージ機能実行部24が行うアドレス変換処理を示すものである。図6において、左欄には、ブートプログラムBPのアクセス単位と、ブートプログラムBPが認識しているブロック内ページ数が示されている。ブートプログラムBPのアクセス単位とは、ブートプログラムBPが認識しているページサイズのことであり、この例では、2KBである。また、ブートプログラムBPは、1ブロックが128ページで構成されると認識している。図6において、右欄には、NAND10のページサイズと、NAND10のブロック内ページ数が示されている。この例では、NAND10のページサイズは8KBであり、NAND10は、1ブロックが256ページで構成されている。
図6の中欄は、マージ機能実行部24が行うアドレス変換処理を示すものである。このアドレス変換処理は、リード処理およびライト処理の双方に適用可能であり、次のようなアドレス変換が行われる。ブートプログラムBPのアドレス指定は、ブロック番号およびブロック内ページ番号を使うのではなく、図6の符号D2に示すように、通しページ番号によって行われる。図6の符号D1に示したブロック番号は便宜上図示しただけで、アドレス指定の際には使用されない。
ここで、NAND10のページサイズ(8KB)をページサイズ識別情報に登録されたページサイズ(2KB)で除算した商をページサイズ比R(=4)と呼ぶ。ホスト1が指定するページ番号をページサイズ比Rで除算した商が、NAND10のページ番号Npとなり、その余りが、ページ内オフセットOffとなる。また、ページ番号Npを、NAND10の1ブロックあたりのページ数PP(=256)で除算した商が、NAND10のブロック番号Nbとなる。
例えば、ホスト1が指定したページ番号0は、ブロック番号0、ページ番号0、オフセット0にアドレス変換され、ホスト1が指定したページ番号1は、ブロック番号0、ページ番号0、オフセット1にアドレス変換され、ホスト1が指定したページ番号2は、ブロック番号0、ページ番号0、オフセット2にアドレス変換され、ホスト1が指定したページ番号3は、ブロック番号0、ページ番号0、オフセット3にアドレス変換される。
このアドレス変換によれば、図7に示すように、ホスト1の指定した2KB単位の1280ページ分のデータ記憶領域は、NAND10のブロック0〜9のうちの前半部分(正確には、ブロック0のページ0からブロック1のページ63)に対応することになる。別言すれば、デバイスドライバDV1は、NAND10のブロック0〜9のうちの前半部分に先詰めで記憶されている。先の図5のステップS150で説明したブロック0〜ブロック9に対する読み出し処理では、実際には、図6に示したアドレス変換が行われて、デバイスドライバDV1は、NAND10におけるブロック0のページ0からブロック1のページ63までの領域から読み出されて、ホスト1に転送されることになる。
図8に、メモリシステム100の2KB単位の読み出し処理を示す。図9は、メモリシステム100の読み出し処理手順を示す図である。図10は、メモリシステム100の読み出し処理を示すタイムチャートである。ホスト1のデバイスドライバDV1は、周辺レジスタ群33のレジスタへ読み出しコマンド、読み出しアドレスをセットする(ステップS200)。マージ機能実行部24は、図10に示す、第1のリードコマンドRDCMD1、アドレスADDR、第2のリードコマンドRDCMD2をホスト1から受信したことを検出すると、図6に示したアドレス変換処理を用いて、ホスト1から入力された読み出しアドレスを、NAND10の物理アドレスに変換する(ステップS210)。マージ機能実行部24は、図8に示すように、変換したアドレスを用いてNAND10から2KBのデータを読み出し、読み出した2KBのデータを二次バッファ22に記憶する(ステップS220)。さらに、マージ機能実行部24は、図8に示すように、二次バッファ22に記憶された2KBのデータを一次バッファ21に転送する(ステップS230)。さらに、マージ機能実行部24は、図8に示すように、一次バッファ21に記憶された2KBのデータをホスト1へ転送する(ステップS240)。
なお、NAND10のカラム読み出しシーケンスを使えば、ホスト1からバイト単位でのカラムアクセスを行うことで、NAND10からデータをバイト単位に読み出すことも可能である。
図11に、ホスト1から2KB単位の通常の書き込み要求が来たときのタイムチャートを示す。図12は、通常の書き込み処理を示す図である。以下に示す書き込み処理は、ホストシステムの製造者や、チップセットの製造者が、デバイスドライバDV1を変更設定する際に、行われる。
メモリシステム100では、NAND10のページサイズ単位(8KB)で書き込みを行う。一方、ホスト1からの書き込みデータは2KB単位である。このため、マージ機能実行部24は、図6に示したアドレス変換規則にしたがって、図12に示すように、2KBのデータを一次バッファ21で4個バッファリングし、バッファリングした4個のデータを図6に示したアドレス変換規則にしたがってマージし、マージ後の8KBのデータを二次バッファ22にバッファリングし、さらに二次バッファ22にバッファリングした8KBのデータを、図6に示したアドレス変換規則にしたがって計算されるNAND10の所定のブロックに書き込む。
図11に示すように、ホスト1から、1回目はページ番号128へ2KBを書き込む要求があり、2回目はページ番号129へ2KBを書き込む要求があり、3回目はページ番号130へ2KBを書き込む要求があり、4回目はページ番号131へ2KBを書き込む要求があったとする。
ホスト1からの1回目のデータ書き込みでは、ホスト1のデバイスドライバDV1は、周辺レジスタ群33のレジスタへ、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータA、第2書き込みコマンドWTCMD2を順次セットする。マージ機能実行部24は、第1書き込みコマンドWTCMD1、書き込みアドレスADDR(ページ番号)、書き込みデータAをホスト1から受信したことを検出すると、データAを周辺レジスタ群33のレジスタからI/Oバス5を介して一次バッファ21に転送する。また、図6に示したアドレス変換処理を用いて、ホスト1から入力された書き込みアドレスを、ブロック番号Nb、ページ番号NpおよびオフセットOffから成るマージ用アドレスに変換する。なお、1回目の書き込みでは、メモリコントローラ30は、第2書き込みコマンドWTCMD2を無視する。データは、一次バッファ21にバッファリングされるのみでNAND10に書かれることはないので、メモリシステム100からホスト1に応答されるビジー信号Busyのアサート期間は短い。
ホスト1からの2回目のデータ書き込みでは、ホスト1のデバイスドライバDV1は、周辺レジスタ群33のレジスタへ、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータB、第2書き込みコマンドWTCMD2を順次セットする。マージ機能実行部24は、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータBをホスト1から受信したことを検出すると、この書き込みアドレスADDRが1回目のデータ書き込みの際に入力された書き込みアドレスADDR(ページ番号)と同一ページに書き込むべきアドレスであるか否かを判定する。同一ページに書き込むべきアドレスでない場合の処理は、後で説明する。図11に示す例では、2回目の書き込み、3回目の書き込み、4回目の書き込みにおいて、アドレスADDR(ページ番号)が連続しており、かつこれらはNAND10上の同一ページに書き込むべきアドレスである。マージ機能実行部24は、書き込みデータBを周辺レジスタ群33のレジスタからI/Oバス5を介して一次バッファ21に転送する。また、図6に示したアドレス変換処理を用いて、ホスト1から入力された書き込みアドレスを、ブロック番号Nb、ページ番号NpおよびオフセットOffから成るマージ用アドレスに変換する。なお、2回目の書き込みでは、メモリコントローラ30は、第1書き込みコマンドWTCMD1および第2書き込みコマンドWTCMD2を無視する。前回同様、ビジー信号Busyのアサート期間は短い。
ホスト1からの3回目のデータ書き込みでは、ホスト1のデバイスドライバDV1は、周辺レジスタ群33のレジスタへ、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータC、第2書き込みコマンドWTCMD2を順次セットする。マージ機能実行部24は、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータCをホスト1から受信したことを検出すると、書き込みデータCを周辺レジスタ群33のレジスタからI/Oバス5を介して一次バッファ21に転送する。また、図6に示したアドレス変換処理を用いて、ホスト1から入力された書き込みアドレスを、ブロック番号Nb、ページ番号NpおよびオフセットOffから成るマージ用アドレスに変換する。なお、3回目の書き込みでも、メモリコントローラ30は、第1書き込みコマンドWTCMD1および第2書き込みコマンドWTCMD2を無視する。前回同様、ビジー信号Busyのアサート期間は短い。
ホスト1からの4回目のデータ書き込みでは、ホスト1のデバイスドライバDV1は、周辺レジスタ群33のレジスタへ、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータD、第2書き込みコマンドWTCMD2を順次セットする。マージ機能実行部24は、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータD、第2書き込みコマンドWTCMD2をホスト1から受信したことを検出すると、書き込みデータDを周辺レジスタ群33のレジスタからI/Oバス5を介して一次バッファ21に転送する。また、図6に示したアドレス変換処理を用いて、ホスト1から入力された書き込みアドレスを、ブロック番号Nb、ページ番号NpおよびオフセットOffから成るマージ用アドレスに変換する。なお、4回目の書き込みでも、メモリコントローラ30は、第1書き込みコマンドWTCMD1を無視する。
さらに、マージ機能実行部24は、第2書き込みコマンドWTCMD2の受信を検出すると、一次バッファ21でバッファリングしている4個の2KBのデータを、オフセットOff順にマージし、マージ後の8KBのデータを二次バッファ22にバッファリングする。さらに、マージ機能実行部24は、図6に示したアドレス変換規則にしたがって、マージ後の8KBのデータを書き込むべきNAND10上のアドレスを計算する。この場合は、ブロック0のページ番号32が計算される。したがって、マージ機能実行部24は、二次バッファ22にバッファリングした8KBのマージデータA,B,C,Dを、NAND10のブロック0のページ番号32のページに書き込む。ホスト1からの4回目のデータ書き込みの際には、NAND10への書き込みが実際に行われるので、ビジー信号Busyのアサート期間は長い。
図13に、ホスト1からページサイズ識別情報PIの登録内容と異なるデータサイズの書き込み要求が来た場合の書き込み処理を示す。図13に示すように、ホスト1から、1回目はページ番号128へ2KBを書き込む要求があり、2回目はページ番号129へ2KBを書き込む要求があり、3回目はページ番号130へ2KBを書き込む要求があり、4回目はページ番号0へ8KBを書き込む要求があったとする。
図13の場合、ホスト1からの1回目〜3回目のデータ書き込みでは、ホスト1からの書き込み要求がページサイズ識別情報と一致しているので、前述と同様の処理が行われる。ホスト1からの4回目のデータ書き込みでは、ホスト1のデバイスドライバDV1は、周辺レジスタ群33のレジスタへ、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータD、第2書き込みコマンドWTCMD2を順次セットする。マージ機能実行部24は、第1書き込みコマンドWTCMD1、書き込みアドレスADDR(ページ番号0)、書き込みデータDをホスト1から受信したことを検出すると、このデータDのアドレスおよびデータサイズがページサイズ識別情報PIに登録内容と一致するか否かを判定する。この場合、ページサイズ識別情報PIでは、ブロック0に含まれるページ番号0のデータサイズは2KBであると登録されているので、ページ番号0のアドレスを持つ8KBのデータDと一致しない。
マージ機能実行部24は、データDのアドレスおよびデータサイズがページサイズ識別情報PIの登録内容と一致しないので、このデータDを一次バッファ21には転送しない。そして、メモリコントローラ30は、ホスト1に対し、今回の1回目〜4回目のデータ書き込みが失敗したことを示す情報と、4回目のデータ書き込みはページ識別情報PIに一致しないことを示す情報を含むエラー情報を応答する。このエラー情報により、ホスト1は、1回目〜4回目のデータ書き込みが失敗したことを知ることが可能となる。
図14は、1回目の転送データとマージして同一ページに書き込むべきでないデータの書き込み要求がホスト1から来たときの書き込み処理を示すタイムチャートである。図15は、1回目の転送データとマージして同一ページに書き込むべきでないデータの書き込み要求がホスト1から来たときの書き込み処理を示す図である。図14に示すように、ホスト1から、1回目はページ番号0へ2KBを書き込む要求があり、2回目はページ番号1へ2KBを書き込む要求があり、3回目はページ番号2へ2KBを書き込む要求があり、4回目はページ番号1152(ブロック9のページ0)へ2KBを書き込む要求があったとする。
図14の場合、ホスト1からの1回目〜3回目のデータ書き込み要求は、NAND10の同一ページに書き込むべきであるので、前述と同様の処理が行われる。したがって、ホスト1からの1回目〜3回目の書き込みデータA、B、Cは、図15(a)に示すように、一次バッファ21に順次バッファリングされる。ホスト1からの4回目のデータ書き込みでは、ホスト1のデバイスドライバDV1は、周辺レジスタ群33のレジスタへ、第1書き込みコマンドWTCMD1、書き込みアドレスADDR、書き込みデータD、第2書き込みコマンドWTCMD2を順次セットする。マージ機能実行部24は、第1書き込みコマンドWTCMD1、書き込みアドレスADDR(ページ番号0)、書き込みデータDをホスト1から受信したことを検出すると、このデータDのアドレスおよびデータサイズがページサイズ識別情報PIに登録内容と一致するか否かを判定する。この場合、ページサイズ識別情報PIでは、ブロック9に含まれるページ番号0のデータサイズは2KBであると登録されているので、ページ番号1152のアドレスを持つ2KBのデータDと一致する。
さらに、マージ機能実行部24は、このデータDのアドレスに基づき、このデータDが1回目の転送データとマージして同一ページに書き込むべきであるか否かを判定する。この場合、図6に示したアドレス変換規則では、1回目のデータ書き込み要求のデータは、NAND10のブロック0のページ0に書き込むべきであり、4回目の書き込み要求のデータは、ブロック0のページ31(ページ288)に書き込むべきである。したがって、マージ機能実行部24は、この4回目の書き込み要求のデータは、1回目のデータ書き込み要求のデータと同一ページに書き込むべきではないと判断する。マージ機能実行部24は、4回目の書き込みデータDを一次バッファ21に転送するのではなく、図15(a)に示すように、データ退避領域23に転送する。
さらに、マージ機能実行部24は、図6に示したアドレス変換処理を用いて、ホスト1から入力された1回目〜3回目のデータ書き込み要求の書き込みアドレスを、ブロック番号Nb、ページ番号NpおよびオフセットOffから成るマージ用アドレスに変換する。また、マージ機能実行部24は、図15(b)に示すように、一次バッファ21で3個バッファリングしている3個の2KBのデータA、B、Cを、オフセットOff順にマージし、さらにこのマージされた6KBのデータにダミーデータを付加して8KBのデータとし、この8KBのデータを二次バッファ22にバッファリングする。さらに、マージ機能実行部24は、図6に示したアドレス変換規則にしたがって、マージ後の8KBのデータを書き込むべきNAND10上のアドレスを計算する。この場合は、ブロック0のページ番号0が計算される。したがって、マージ機能実行部24は、二次バッファ22にバッファリングした8KBのマージデータ(A+B+C+ダミーデータ)を、NAND10のブロック0のページ番号0のページに書き込む。ホスト1からの4回目のデータ書き込みの際には、NAND10への書き込みが実際に行われるので、ビジー信号Busyのアサート期間は長い。その後、データ退避領域23に退避していたデータDを、図15(c)に示すように、一次バッファ21に転送する。一次バッファ21にバッファリングされたデータDは、その後のホスト1からの書き込み要求の内容に応じて、ホスト1からの書き込みデータあるいはダミーデータと組み合わされて8KBのデータにされた後、二次バッファ22を介してNAND10に書き込まれる。
図16は、図11〜図15で説明したマージ機能実行部24での書き込み処理の手順を示すフローチャートである。なお、この書き込み手順では、NAND10の書き込み単位であるページサイズは、8KBであって、ホスト1からの1回のコマンドシーケンスでの書き込みデータ単位(2KB)の4倍であり、4回のコマンドシーケンスに1回、NAND10での書き込みを行うことにしている。このため、NAND10のページサイズが16KBの場合は、8回のコマンドシーケンスに1回、NAND10での書き込みを行うことになる。
マージ機能実行部24は、ホスト1から書き込み要求を受信すると(ステップS300)、この書き込み要求で指定される書き込みアドレスおよびデータサイズがページサイズ識別情報記憶部40に記憶されているページサイズ識別情報PIの内容と一致するか否かを判定する(ステップS310)。そして、図13に示した例のように、書き込み要求で指定される書き込みアドレスおよびデータサイズがページサイズ識別情報PIの内容と一致していない場合は、マージ機能実行部24は、この時点で処理を停止し(ステップS320)、ホスト1にエラー情報を送信する(ステップS330)。
マージ機能実行部24は、ステップS310の判定がYesの場合、つぎにこのデータ書き込みが1回目の書き込み要求であるか否かを判定する(ステップS340)。マージ機能実行部24は、ステップS340の判定がYesの場合、周辺レジスタ群33のレジスタにセットされた書き込みデータを一次バッファ21に転送する(ステップS345)。マージ機能実行部24は、ステップS340の判定がNoの場合、すなわち今回の書き込み要求が2〜4回目の書き込み要求である場合は、今回の書き込み要求で指定される書き込みデータが、1回の書き込み要求で指定された書き込みデータと同一ページに書き込むべきデータであるか否かを判定する(ステップS342)。マージ機能実行部24は、1回目の書き込み要求で指定された書き込みアドレスと、今回の書き込み要求で指定された書き込みアドレスと、図6に示したアドレス変換規則とに基づいて、ステップS342の判定処理を実行する。
このステップS342の判定処理がYesの場合は、マージ機能実行部24は、今回の書き込み要求で指定された書き込みデータを周辺レジスタ群33のレジスタから一次バッファ21に転送する(ステップS345)。一方、ステップS342の判定処理がNoの場合は、マージ機能実行部24は、図14、図15を用いて説明したように、今回の書き込み要求で指定された書き込みデータを周辺レジスタ群33のレジスタからデータ退避領域23に転送する(ステップS360)。
ステップS370では、今回の書き込み要求が4回目であるか否かが判定され、その判定結果がNoである場合は、手順をステップS300に復帰させ、前述したステップS310〜S370の処理が、ステップS370の判定結果がYesになるまで、繰り返される。
ステップS370において、今回の書き込み要求が4回目であると判定された場合は、マージ機能実行部24は、一次バッファ21に、2KBのデータが4個バッファリングされているか否かを判定する(ステップS380)。マージ機能実行部24は、一次バッファ21に、2KBのデータが4個バッファリングされている場合は、一次バッファ21にバッファリングしている4個の2KBのデータを、オフセットOff順にマージし(ステップS390)、マージ後の8KBのデータを二次バッファ22にバッファリングする(ステップS410)。さらに、マージ機能実行部24は、図6に示したアドレス変換規則にしたがって、マージ後の8KBのデータを書き込むべきNAND10上のアドレスを計算し、計算したアドレスに従って二次バッファ22にバッファリングした8KBのマージデータを、NAND10のページに書き込む(ステップS420)。
ステップS380で、一次バッファ21にデータが1個以上〜4個未満しかバッファリングされていない場合、マージ機能実行部24は、この不足分をダミーデータで充足することで8KBのデータを作成する(ステップS400)。例えば、1回目の書き込み分のデータと、3回目の書き込み分のデータとを含む2個のデータしか一次バッファ21にバッファリングされていない場合は、2個目の書き込みデータと4個目の書き込みデータに対応する箇所にダミーデータが配置されるように、図6に示したアドレス変換規則と書き込みアドレスとを参照して、書き込みデータとダミーデータのマージ処理を行う。図15に示した例では、4回目の書き込み分のデータのみが不足しているので、4回目の書き込みデータに対応する箇所にダミーデータが配置されている。マージ機能実行部24は、ダミーデータによって充足した8KBのマージデータを二次バッファ22にバッファリングする(ステップS410)。さらに、マージ機能実行部24は、図6に示したアドレス変換規則にしたがって、マージ後の8KBのデータを書き込むべきNAND10上のアドレスを計算し、計算したアドレスに従って二次バッファ22にバッファリングした8KBのマージデータを、NAND10のページに書き込む(ステップS420)。
このようにこの実施形態においては、ページサイズ識別情報におけるデバイスドライバDV1が記憶される一部のブロックについてのページサイズを外部設定可能としている。このため、ホストシステムの製造業者や、チップセットの製造業者は、デバイスドライバDV1が記憶される一部のブロックがホストシステム側のブートプログラムによって読み出すことができるように、前記一部のブロックのページサイズを変更設定することができ、これにより、ブートプログラムによるメモリシステムの認識処理の際に、処理が停止されることが防止され、ホストシステムが起動不可能となることはない。
また、この実施形態では、ホストからの書き込みデータを複数個マージし、マージした複数個のデータをNAND10のページに書き込むためのデータマージ機能とアドレス変換機能を備えているので、デバイスドライバDV1が記憶される一部のブロックに対してホストシステム側がアクセスするデータサイズに比べ、NAND10のページサイズがn倍(nは2以上の自然数)である場合でも、ホストシステムの製造業者や、チップセットの製造業者によるデバイスドライバDV1の変更作業が可能となる。
また、この実施形態では、デバイスドライバDV1が記憶されたブロックに対する書き込みが行われる場合、この書き込みデータが、ページサイズ識別情報の登録内容と一致するか否かを判定し、一致しない場合、前記ホストシステムにエラーを送信することにしているので、ホストシステム1側で指定したデータサイズがメモリシステム側で受け入れることができない場合には、ホストシステム側で異常を検知することができ、デバイスドライバDV1の変更作業を軽減することが可能となる。
また、この実施形態では、デバイスドライバDV1が記憶されたブロックに対する書き込みが行われる場合、今回の書き込みデータが1回目の書き込みデータと合成して同一ページに書き込むか否かを判定し、同一ページに書き込むべきでない場合は、今回の書き込みデータをデータ退避領域に退避し、このデータ退避によりNAND10のページサイズに対しデータが不足する場合は、不足分だけダミーデータを付加することとしているので、ホストシステム1側でのデバイスドライバDV1の変更作業のアドレス指定作業が軽減化される。
なお、上記実施形態では、ホスト1の書き込みデータは、周辺レジスタ群33のレジスタで一旦受信され、周辺レジスタ群33のレジスタにセットされた書き込みデータをメモリコントローラ30が一次バッファ21に転送することとしたが、ホスト1がI/Oバス5上に出力したデータを、メモリコントローラ30が一次バッファ21に直接取り込むようにすることも可能である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 ホストシステム、2 インタフェース、5 I/Oバス、10 NAND型フラッシュメモリ、20 RAM、21 一次バッファ、22 二次バッファ、23 データ退避領域、24 マージ機能実行部、30 メモリコントローラ、31 CPU(プロセッサ)、32 プログラムROM、33 周辺レジスタ群、40 ページサイズ識別情報記憶部、50 ブートROM、51 RAM、100 メモリシステム、DV1 デバイスドライバ、PI ページサイズ識別情報、BP ブートプログラム、D1 ブロック番号、D2 ページ番号、Nb ブロック番号、Np ページ番号、Off オフセット、PP 1ブロックあたりのページ数、ADDR アドレス、RDCMD リードコマンド、WTCMD ライトコマンド。

Claims (12)

  1. メモリシステムの外部とのデータの送受信を行うインタフェース部と、
    前記メモリシステムの起動時に読み出される第1のデータが格納された第1のブロックと、前記メモリシステムの起動後に読み出される第2のデータが格納された第2のブロックとを含み、前記第1のブロックおよび前記第2のブロックは夫々複数のページから構成される、不揮発性メモリと、
    前記メモリシステムの起動時に、前記インタフェース部を介して、ページサイズ識別情報を前記メモリシステムの外部に出力する制御部とを備え、
    前記ページサイズ識別情報は、前記第1のブロックに含まれるページは第1のページサイズを有し、前記第2のブロックに含まれるページは第2のページサイズを有することを示していることを特徴とするメモリシステム。
  2. 前記第1のページサイズは、前記第2のページサイズのn(nは2以上の自然数)分の1であることを特徴とする請求項1記載に記載のメモリシステム。
  3. 前記第1のブロックに対して、第1のページサイズをアクセス単位とする第1のアドレスに基づくアクセス要求があった場合、n個の前記アクセス要求を、前記第1のブロックに含まれる同一のページにアクセスさせるアドレス変換を行うアドレス変換部をさらに備えることを特徴とする請求項2に記載のメモリシステム。
  4. 前記第1のデータは、前記メモリシステムを駆動するためのデバイスドライバであることを特徴とする請求項3に記載のメモリシステム。
  5. 前記不揮発性メモリに対するライトデータをバッファリングするバッファを更に備え、
    前記バッファは、第1のバッファと、第2のバッファを備え、
    前記制御部は、
    受信した第1のページサイズのライトデータをn個分、前記第1のバッファにバッファリングし、
    前記第1のバッファにバッファリングしたn個のライトデータを、第2のページサイズのライトデータになるように合成して第2のバッファにバッフアリングし、
    前記第2のバッファにバッファリングされた合成データを前記不揮発性メモリの前記第1のブロックに含まれる同一のページに書き込む
    合成処理部を備える
    ことを特徴とする請求項3に記載のメモリシステム。
  6. 前記バッファは、データ退避領域を備え、
    前記合成処理部は、前記第1のブロックに対する書き込みが行われる場合、今回のライトデータが1回目のライトデータと合成して同一ページに書き込むか否かを判定し、同一ページに書き込まない場合は、今回のライトデータを前記データ退避領域に退避することを特徴とする請求項5に記載のメモリシステム。
  7. 前記合成処理部は、n個のライトデータを受信した時点で、前記第1のバッファにバッファリングされたライトデータがn個に満たない場合は、不足分だけダミーデータを付加して第2のページサイズのライトデータになるようにライトデータおよびダミーデータを合成して前記第2のバッファにバッフアリングし、
    前記第2のバッファにバッファリングされた合成データを前記不揮発性メモリに書き込むことを特徴とする請求項6に記載のメモリシステム。
  8. ホスト装置およびメモリシステムを含む情報処理装置において、
    前記ホスト装置は、
    ブートプログラムを実行するプロセッサ
    を備え、
    前記メモリシステムは、
    前記ホスト装置とデータの送受信を行うインタフェース部と、
    前記ホスト装置の起動時に読み出される第1のデータが格納された第1のブロックと、前記メモリシステムの起動後に読み出される第2のデータが格納された第2のブロックとを含み、前記第1のブロックおよび前記第2のブロックは夫々複数のページから構成される、不揮発性メモリと、
    前記メモリシステムの起動時に、前記インタフェース部を介して、ページサイズ識別情報を前記ホスト装置に出力する制御部とを備え、
    前記ページサイズ識別情報は、前記第1のブロックに含まれるページは第1のページサイズを有し、前記第2のブロックに含まれるページは第2のページサイズを有することを示していることを特徴とする情報処理装置。
  9. 前記ホスト装置は、前記ブートプログラム実行時に前記第1のブロックにアクセスすることを特徴とする請求項8に記載の情報処理装置。
  10. 前記ホスト装置は、前記メモリシステムから受信した前記ページサイズ識別情報に基づき、前記第1のブロックに対しては第1のページサイズをアクセス単位とする第1のアドレスに基づきアクセス要求をすることを特徴とする請求項8に記載の情報処理装置。
  11. 前記メモリシステムは、前記第1のブロックに対して、第1のページサイズをアクセス単位とする第1のアドレスに基づくアクセス要求があった場合、n個の前記アクセス要求を、前記第1のブロックに含まれる同一のページにアクセスさせるアドレス変換を行うアドレス変換部をさらに備えることを特徴とする請求項10に記載の情報処理装置。
  12. 前記第1のページサイズは、前記第2のページサイズのn(nは2以上の自然数)分の1である請求項8記載に記載の情報処理装置。
JP2013191142A 2013-09-13 2013-09-13 メモリシステムおよび情報処理装置 Pending JP2015056171A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013191142A JP2015056171A (ja) 2013-09-13 2013-09-13 メモリシステムおよび情報処理装置
US14/194,600 US20150081950A1 (en) 2013-09-13 2014-02-28 Memory system and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013191142A JP2015056171A (ja) 2013-09-13 2013-09-13 メモリシステムおよび情報処理装置

Publications (1)

Publication Number Publication Date
JP2015056171A true JP2015056171A (ja) 2015-03-23

Family

ID=52669072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013191142A Pending JP2015056171A (ja) 2013-09-13 2013-09-13 メモリシステムおよび情報処理装置

Country Status (2)

Country Link
US (1) US20150081950A1 (ja)
JP (1) JP2015056171A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019133657A (ja) * 2018-01-29 2019-08-08 三星電子株式会社Samsung Electronics Co.,Ltd. ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体
KR20200036508A (ko) * 2018-09-28 2020-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
JP2020524849A (ja) * 2017-06-22 2020-08-20 マイクロン テクノロジー,インク. 不揮発性のメモリシステム又はサブシステム
JP2022515541A (ja) * 2018-12-31 2022-02-18 マイクロン テクノロジー,インク. ストレージデバイスにおけるシーケンシャルデータ最適化サブリージョン

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6289793B1 (ja) * 2016-05-20 2018-03-07 オリンパス株式会社 Ui生成装置
US11144638B1 (en) * 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US20220027472A1 (en) * 2018-01-18 2022-01-27 Pure Storage, Inc. Ransomware detection and mitigation in a zoned storage device storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278781A (ja) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
US20030137874A1 (en) * 2002-01-21 2003-07-24 Fujitsu Limited Memory controller and memory system apparatus
US20090196102A1 (en) * 2008-02-04 2009-08-06 Mosaid Technologies Incorporated Flexible memory operations in nand flash devices
US20090216937A1 (en) * 2008-02-27 2009-08-27 Kabushiki Kaisha Toshiba Memory controller, memory system, and access control method of flash memory
JP2011511391A (ja) * 2008-02-04 2011-04-07 モサイド・テクノロジーズ・インコーポレーテッド 構成可能ページサイズを有する不揮発性メモリデバイス

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US7996000B1 (en) * 2006-09-29 2011-08-09 Yahoo! Inc. Managing page sizes for a mobile device using estimation of content customizer techniques
US7657724B1 (en) * 2006-12-13 2010-02-02 Intel Corporation Addressing device resources in variable page size environments
US8417912B2 (en) * 2010-09-03 2013-04-09 International Business Machines Corporation Management of low-paging space conditions in an operating system
US20130191580A1 (en) * 2012-01-23 2013-07-25 Menahem Lasser Controller, System, and Method for Mapping Logical Sector Addresses to Physical Addresses

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278781A (ja) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
US20030137874A1 (en) * 2002-01-21 2003-07-24 Fujitsu Limited Memory controller and memory system apparatus
JP2003216483A (ja) * 2002-01-21 2003-07-31 Fujitsu Ltd メモリコントローラおよびメモリシステム装置
US20090196102A1 (en) * 2008-02-04 2009-08-06 Mosaid Technologies Incorporated Flexible memory operations in nand flash devices
JP2011511391A (ja) * 2008-02-04 2011-04-07 モサイド・テクノロジーズ・インコーポレーテッド 構成可能ページサイズを有する不揮発性メモリデバイス
US20090216937A1 (en) * 2008-02-27 2009-08-27 Kabushiki Kaisha Toshiba Memory controller, memory system, and access control method of flash memory
JP2009205411A (ja) * 2008-02-27 2009-09-10 Toshiba Corp メモリコントローラおよびメモリシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020524849A (ja) * 2017-06-22 2020-08-20 マイクロン テクノロジー,インク. 不揮発性のメモリシステム又はサブシステム
JP2019133657A (ja) * 2018-01-29 2019-08-08 三星電子株式会社Samsung Electronics Co.,Ltd. ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体
JP7420472B2 (ja) 2018-01-29 2024-01-23 三星電子株式会社 ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体
KR20200036508A (ko) * 2018-09-28 2020-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR102586786B1 (ko) * 2018-09-28 2023-10-11 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
JP2022515541A (ja) * 2018-12-31 2022-02-18 マイクロン テクノロジー,インク. ストレージデバイスにおけるシーケンシャルデータ最適化サブリージョン
US11755214B2 (en) 2018-12-31 2023-09-12 Micron Technology, Inc. Sequential data optimized sub-regions in storage devices

Also Published As

Publication number Publication date
US20150081950A1 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
JP2015056171A (ja) メモリシステムおよび情報処理装置
US11615035B2 (en) Storage system and method for performing and authenticating write-protection thereof
US10324864B2 (en) Storage system and method for performing and authenticating write-protection thereof
KR102447493B1 (ko) 랭크 단위로 메모리 장치를 트레이닝하는 전자 장치 및 그것의 메모리 트레이닝 방법
US11126602B2 (en) Key-value storage device and operating method thereof
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US20200026464A1 (en) Data writing method and storage controller
US20100125772A1 (en) Error correcting controller, flash memory chip system, and error correcting method thereof
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
JP2010500682A (ja) フラッシュメモリアクセス回路
JP5066894B2 (ja) 記憶媒体制御装置
JP2007299249A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法
JP2013246630A (ja) ブートシステムおよびシステム初期化方法
JP2008065725A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法
US9652378B2 (en) Writing method, memory controller and memory storage device
JP2007048090A (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
US20230298684A1 (en) Memory system and information processing system
JP2013004043A (ja) 情報処理装置、画像形成装置およびプログラム
JP2008176606A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2008009945A (ja) メモリシステム
JP2006331233A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2015215774A (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP5195690B2 (ja) 情報処理装置、該装置用のromイメージ生成装置、および転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150812

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160705