(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-26
(45)【発行日】2024-03-05
(54)【発明の名称】情報処理装置の製造方法、及び情報処理装置
(51)【国際特許分類】
G06F 8/61 20180101AFI20240227BHJP
G06F 12/02 20060101ALI20240227BHJP
【FI】
G06F8/61
G06F12/02 530C
(21)【出願番号】P 2022080360
(22)【出願日】2022-05-16
【審査請求日】2022-05-16
(32)【優先日】2021-05-20
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】菅原 隆
(72)【発明者】
【氏名】アラン フレデリック アーノルド
(72)【発明者】
【氏名】平良 優介
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2015/0178188(US,A1)
【文献】米国特許出願公開第2018/0322041(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60-8/658
G06F 9/445
G06F 12/02
(57)【特許請求の範囲】
【請求項1】
1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域である第1記憶領域と、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域である第2記憶領域とを有するSSD(Solid State Drive)を備える情報処理装置の製造方法であって、
出荷時に前記SSDに予め記憶させるプログラム及びデータであるプリロードデータをインストールする処理を実行するインストールプログラムを、前記第1記憶領域に記憶させる第1の製造工程と、
前記インストールプログラムを実行して、前記プリロードデータの少なくとも一部を、前記第2記憶領域にインストールする第2の製造工程と、
前記インストールプログラムを実行した後に、前記第2記憶領域に記憶されている前記プリロードデータの任意の部分を、前記第1記憶領域に移動させる第3の製造工程と
を含む情報処理装置の製造方法。
【請求項2】
前記第2の製造工程において、前記インストールプログラムを実行する処理には、前記第1記憶領域に記憶された特定のデータを、前記第2記憶領域に移動して前記第1記憶領域のワークデータ領域を解放し、前記インストールプログラムの実行を終了するときに前記ワークデータ領域を消去する処理が含まれ、
前記第3の製造工程において、前記プリロードデータを移動する処理には、前記プリロードデータの少なくとも一部を前記第1記憶領域の前記ワークデータ領域に移動する処理が含まれる
請求項1に記載の情報処理装置の製造方法。
【請求項3】
前記SSDは、前記第1記憶領域と前記第2記憶領域との間でデータを移動するためのコマンド処理を実行するように構成されており、
前記第3の製造工程において、前記プリロードデータを移動する処理には、前記SSDを制御して、前記コマンド処理により、前記第2記憶領域に記憶されている前記プリロードデータの任意の部分を前記第1記憶領域に移動する処理が含まれる
請求項1に記載の情報処理装置の製造方法。
【請求項4】
前記第1記憶領域及び前記第2記憶領域は、前記SSDのダイナミック記憶領域の少なくとも一部であり、
前記ダイナミック記憶領域は、前記第1記憶領域と前記第2記憶領域との間で切り替え可能な動的メモリセルの記憶領域である
請求項1に記載の情報処理装置の製造方法。
【請求項5】
前記第3の製造工程において、前記プリロードデータを移動する処理には、前記プリロードデータの少なくとも一部を、前記SSDの前記ダイナミック記憶領域に移動する処理を含まれる
請求項4に記載の情報処理装置の製造方法。
【請求項6】
前記第3の製造工程において、前記プリロードデータを移動する処理には、前記ダイナミック記憶領域の少なくとも一部を前記第2記憶領域から前記第1記憶領域に切り替えるように前記SSDを制御する処理が含まれる
請求項4に記載の情報処理装置の製造方法。
【請求項7】
前記インストールプログラムを実行する前に、前記SSDを制御して、前記ダイナミック記憶領域の少なくとも一部を前記第1記憶領域から前記第2記憶領域に切り替える
請求項4に記載の情報処理装置の製造方法。
【請求項8】
1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域である第1記憶領域と、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域である第2記憶領域とを有するSSD(Solid State Drive)と、前記SSDに記憶させたプログラム及び記憶データに基づいて情報処理を実行する制御部とを備える情報処理装置の製造方法であって、
前記制御部が、出荷時に前記SSDに予め記憶させるプログラム及びデータであるプリロードデータをインストールする処理を実行するインストールプログラムを、前記SSDに記憶させる第1の製造工程と、
前記制御部が、前記インストールプログラムを実行して、前記プリロードデータの少なくとも一部を、前記第2記憶領域にインストールする第2の製造工程と、
前記制御部が、前記第2記憶領域に記憶されている前記プリロードデータを、前記第1記憶領域に移動させる第3の製造工程と
を含む情報処理装置の製造方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置の製造方法、及び情報処理装置に関する。
【背景技術】
【0002】
パーソナルコンピュータなどの情報処理装置では、出荷された初期状態において、OS(Operating System)及び所定のアプリケーションプログラムが予めインストール(プレインストールという)されて出荷されることがある。情報処理装置は、状況に応じて、エンドユーザに出荷される前に長期間(例えば、倉庫に)保管される場合がある。この場合、保管中にプレインストールされたデータのデータ保持の信頼性を向上させることが望まれる。また、情報処理装置のプレインストールする技術が知られている(例えば、特許文献1を参照)。
【0003】
また、情報処理装置では、近年、HDD(Hard Disk Drive)の代わりにSSD(Solid State Drive)を記憶装置に備えるものが普及してきている。また、SSDには、大容量化するために、例えば、QLC(Quad Level Cell)などの1つのメモリセルで複数ビットに相当する記憶が可能なメモリセル(以下、複数ビットセルという)を用いたフラッシュメモリを備えるものが知られている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、QLCなどの複数ビットセルは、単ビットセルであるSLC(Single Level Cell)に比べて、大容量化が可能な反面、データ保持期間が短い。また、複数ビットセルのデータ保持期間は、温度が高い程、短くなる傾向がある。そのため、従来の情報処理装置では、例えば、出荷前に高温の場所で長期間保管された場合に、SSDにプレインストールしたデータに、データ化けが発生する可能性があった。
【0006】
本発明は、上記問題を解決すべくなされたもので、その目的は、SSDにプレインストールされているデータのデータ化けを低減することができる情報処理装置の製造方法、及び情報処理装置を提供することにある。
【課題を解決するための手段】
【0007】
上記問題を解決するために、本発明の一態様は、1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域である第1記憶領域と、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域である第2記憶領域とを有するSSD(Solid State Drive)を備える情報処理装置の製造方法であって、出荷時に前記SSDに予め記憶させるプログラム及びデータであるプリロードデータをインストールする処理を実行するインストールプログラムを、前記第1記憶領域に記憶させる第1の製造工程と、前記インストールプログラムを実行して、前記プリロードデータの少なくとも一部を、前記第2記憶領域にインストールする第2の製造工程と、前記インストールプログラムを実行した後に、前記第2記憶領域に記憶されている前記プリロードデータの任意の部分を、前記第1記憶領域に移動させる第3の製造工程とを含む情報処理装置の製造方法である。
【0008】
また、本発明の一態様は、上記の情報処理装置の製造方法において、前記第2の製造工程において、前記インストールプログラムを実行する処理には、前記第1記憶領域に記憶された特定のデータを、前記第2記憶領域に移動して前記第1記憶領域のワークデータ領域を解放し、前記インストールプログラムの実行を終了するときに前記ワークデータ領域を消去する処理が含まれ、前記第3の製造工程において、前記プリロードデータを移動する処理には、前記プリロードデータの少なくとも一部を前記第1記憶領域の前記ワークデータ領域に移動する処理が含まれてもよい。
【0009】
また、本発明の一態様は、上記の情報処理装置の製造方法において、前記SSDは、前記第1記憶領域と前記第2記憶領域との間でデータを移動するためのコマンド処理を実行するように構成されており、前記第3の製造工程において、前記プリロードデータを移動する処理には、前記SSDを制御して、前記コマンド処理により、前記第2記憶領域に記憶されている前記プリロードデータの任意の部分を前記第1記憶領域に移動する処理が含まれてもよい。
【0010】
また、本発明の一態様は、上記の情報処理装置の製造方法において、前記第1記憶領域及び前記第2記憶領域は、前記SSDのダイナミック記憶領域の少なくとも一部であり、前記ダイナミック記憶領域は、前記第1記憶領域と前記第2記憶領域との間で切り替え可能な動的メモリセルの記憶領域であってもよい。
【0011】
また、本発明の一態様は、上記の情報処理装置の製造方法において、前記第3の製造工程において、前記プリロードデータを移動する処理には、前記プリロードデータの少なくとも一部を、前記SSDの前記ダイナミック記憶領域に移動する処理を含まれてもよい。
【0012】
また、本発明の一態様は、上記の情報処理装置の製造方法において、前記第3の製造工程において、前記プリロードデータを移動する処理には、前記ダイナミック記憶領域の少なくとも一部を前記第2記憶領域から前記第1記憶領域に切り替えるように前記SSDを制御する処理が含まれてもよい。
【0013】
また、本発明の一態様は、上記の情報処理装置の製造方法において、前記インストールプログラムを実行する前に、前記SSDを制御して、前記ダイナミック記憶領域の少なくとも一部を前記第1記憶領域から前記第2記憶領域に切り替えるようにしてもよい。
【0014】
また、本発明の一態様は、1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域である第1記憶領域と、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域である第2記憶領域とを有するSSD(Solid State Drive)と、前記SSDに記憶させたプログラム及び記憶データに基づいて情報処理を実行する制御部とを備える情報処理装置の製造方法であって、前記制御部が、出荷時に前記SSDに予め記憶させるプログラム及びデータであるプリロードデータをインストールする処理を実行するインストールプログラムを、前記SSDに記憶させる第1の製造工程と、前記制御部が、前記インストールプログラムを実行して、前記プリロードデータの少なくとも一部を、前記第2記憶領域にインストールする第2の製造工程と、前記制御部が、前記第2記憶領域に記憶されている前記プリロードデータを、前記第1記憶領域に移動させる第3の製造工程とを含む情報処理装置の製造方法である。
【0015】
また、本発明の一態様は、1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域である第1記憶領域と、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域である第2記憶領域との間で切り替え可能なダイナミック記憶領域を含むSSD(Solid State Drive)と、前記SSDに結合される制御部であって、前記SSDの前記ダイナミック記憶領域の前記第1記憶領域に、前記SSDに予め記憶させるプログラム及びデータであるプリロードデータを保存し、前記プリロードデータを保存した後に、情報処理装置を出荷後に初めて起動したときに、前記プリロードデータを前記SSDの前記ダイナミック記憶領域の前記第2記憶領域に移動させる制御部とを備える情報処理装置である。
【0016】
また、本発明の一態様は、上記の情報処理装置において、前記制御部は、さらに、前記プリロードデータを前記第2記憶領域に移動した後、前記SSDを制御して、前記ダイナミック記憶領域の前記第1記憶領域を前記第2記憶領域になるように切り替えるようにしてもよい。
【発明の効果】
【0017】
本発明の上記態様によれば、SSDにプレインストールしたデータのデータ化けを低減することができる。
【図面の簡単な説明】
【0018】
【
図1】第1の実施形態による情報処理装置及びSSDの主要なハードウェア構成の一例を示す図である。
【
図2】第1の実施形態におけるSSDの記憶領域の構成例を示す図である。
【
図3】SSDのSLCとQLCとの特性の比較を示す図である。
【
図4】第1の実施形態による情報処理装置のプレインストール工程の処理の一例を示すフローチャートである。
【
図5】第1の実施形態による情報処理装置のプレインストール工程におけるSSDの状態遷移の一例を示す図である。
【
図6】第2の実施形態による情報処理装置のプレインストール工程の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の一実施形態による情報処理装置の製造方法、情報処理装置、及びプレインストール方法について、図面を参照して説明する。
【0020】
[第1の実施形態]
図1は、第1の実施形態による情報処理装置1及びSSD40の主要なハードウェア構成の一例を示す図である。
図1に示すように、情報処理装置1は、例えば、ノートブック型パーソナルコンピュータであり、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、エンベデッドコントローラ31と、入力部32と、電源回路33と、SSD40とを備える。
【0021】
CPU(Central Processing Unit)11は、プログラム制御により種々の演算処理を実行し、情報処理装置1全体を制御している。
【0022】
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS(オペレーティングシステム)、周辺機器類をハードウェア操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0023】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部14に描画データ(表示データ)として出力する。
【0024】
表示部14は、例えば、液晶ディスプレイであり、ビデオサブシステム13から出力された描画データ(表示データ)に基づく表示画面を表示する。
【0025】
チップセット21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、及びLPC(Low Pin Count)バスなどのコントローラを備えており複数のデバイスが接続される。
図1では、デバイスの例示として、BIOSメモリ22と、SSD40とが、チップセット21に接続されている。
なお、本実施形態において、CPU11とチップセット21とは、メイン制御部10に対応する。
【0026】
BIOS(Basic Input Output System)メモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROM(フラッシュメモリ)などの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
【0027】
エンベデッドコントローラ31は、情報処理装置1のシステム状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し制御するワンチップマイコン(One-Chip Microcomputer)である。また、エンベデッドコントローラ31は、電源回路33を制御する電源管理機能を有している。なお、エンベデッドコントローラ31は、不図示のCPU、ROM、RAMなどで構成されるとともに、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備えている。エンベデッドコントローラ31には、それらの入出力端子を介して、例えば、入力部32、及び電源回路33などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。
【0028】
入力部32は、例えば、キーボードなどの入力デバイスやタッチパッドなどのポインティング・デバイスである。
【0029】
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、AC/DCアダプタなどを含んでおり、例えば、AC/DCアダプタを介して外部電源から、又はバッテリから供給される直流電圧を、情報処理装置1を動作させるために必要な複数の電圧に変換する。また、電源回路33は、エンベデッドコントローラ31からの制御に基づいて、情報処理装置1の各部に電力を供給する。
【0030】
SSD(Solid State Drive)40は、書き換え可能な不揮発性メモリを有するメモリドライブ装置であり、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。情報処理装置1は、SSD40が記憶するデータを利用して各種情報処理を実行する。SSD40は、例えば、シリアルATAや、PCI-Expressバスにより、チップセット21に接続されている。
また、SSD40は、複数のフラッシュメモリ41と、メモリコントローラ42とを備える。
【0031】
フラッシュメモリ41は、例えば、NANDフラッシュメモリである。フラッシュメモリ41は、例えば、フローティングゲートを備えずに、チャージトラップ層に電子をトラップさせてデータを記憶するチャージトラップ方式のメモリセルを備えている。また、フラッシュメモリ41のメモリセルは、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルであり、例えば、QLC(Quad Level Cell)である。ここで、QLCは、データの書き込み閾値を複数設けることで、1つのメモリセルで4ビット相当の記憶が可能なメモリセルである。
【0032】
また、フラッシュメモリ41のメモリセルは、QLCをSLC(Single Level Cell)として機能させることが可能である。ここで、SLCとは、データの書き込み閾値を1つの値にして、1つのメモリセルで1ビットのデータを記憶する単ビットセルのことである。
複数のフラッシュメモリ41は、QLCとSLCとの両方に対応可能な記憶領域を構成する。ここで、
図2を参照して、SSD40の記憶領域の詳細については後述する。
【0033】
図2は、本実施形態におけるSSD40の記憶領域の構成例を示す図である。
図2に示すように、SSD40の記憶領域は、SLC領域SA1と、QLC領域QA1とを有している。なお、SSD40の記憶領域は、複数のフラッシュメモリ41によって構成される記憶領域である。
【0034】
SLC領域SA1(第1記憶領域の一例)は、単ビットセルの記憶領域であり、例えば、QLCセルをSLCとして機能させている記憶領域である。SLC領域SA1は、スタティックSLC領域SA11と、ダイナミックSLC領域SA12とを有している。SLC領域SA1(第1記憶領域の一例)は、情報処理装置1において、SLCバッファとして使用される。
【0035】
スタティックSLC領域SA11は、SLCの記憶領域として固定で使用される記憶領域である。
【0036】
ダイナミックSLC領域SA12は、後述するメモリコントローラ42の設定により、QLC領域QA1に変更可能な記憶領域である。
【0037】
QLC領域QA1(第2記憶領域の一例)は、複数ビットセルであるQLCの記憶領域である。QLC領域QA1は、スタティックQLC領域QA11と、ダイナミックQLC領域QA12とを有している。
【0038】
スタティックQLC領域QA11は、QLCの記憶領域として固定で使用される記憶領域である。
【0039】
ダイナミックQLC領域QA12は、後述するメモリコントローラ42の設定により、SLC領域SA1に変更可能な記憶領域である。
なお、ダイナミックSLC領域SA12及びダイナミックQLC領域QA12は、QLC領域QA1とSLC領域SA1とを相互に変更可能なダイナミック領域DA1(ダイナミック記憶領域)に対応する。すなわち、ダイナミック記憶領域とは、ダイナミックQLC領域QA12とダイナミックSLC領域SA12との間で切り替え可能な領域である。さらに、SSD40は、ダイナミック記憶領域のみを含んでいてもよい。つまり、SSD40は、ダイナミックQLC領域QA12及びダイナミックSLC領域SA12のみを含んでいてもよい。
【0040】
ここで、
図3を参照して、QLCとSLCとの特性の違いについて説明する。
図3は、SSD40のSLCとQLCとの特性の比較を示す図である。
【0041】
図3において、特性は、上から順に、コスト/GB(ギガバイト)、パフォーマンス、エンデュランス、及びデータリテンションを示している。コスト/GBは、SSD40の記憶容量のGB当たりのコストを示し、パフォーマンスは、情報処理装置1が情報処理を実行する場合の処理能力の高さを示している。また、エンデュランスは、SSD40の書き換え可能回数の特性を示し、データリテンションは、SSD40のデータ保持期間の特性を示している。
【0042】
QLCが1つのメモリセルで4ビット相当のデータを記憶できるのに対して、SLCは、1つのメモリセルで1ビットのデータを記憶できる。そのため、コスト/GBは、QLCがSLCに比べて低く、SLCがQLCに比べて高い。
【0043】
また、QLCからデータを読み出す場合には、複数の閾値レベル(例えば、15個の閾値)の判定を行う必要があるのに対して、SLCからデータを読み出す場合には、1つの閾値の判定でよい。そのため、パフォーマンスは、QLCがSLCに比べて低く(低パフォーマンス)、SLCがQLCに比べて高い(高パフォーマンス)。
【0044】
また、QLCのエンデュランス特性(書き換え可能回数特性)は、SLCのエンデュランス特性より低い。そのため、QLCのエンデュランス特性は、SLCに比べて低く、SLCのエンデュランス特性は、QLCに比べて高い。
【0045】
また、QLCのデータリテンション特性(データ保持期間特性)は、SLCよりデータ化けが発生し易い。具体的には、マルチビットセルのデータ保持期間は、温度が上昇するにつれて短くなる傾向がある。 そのため、倉庫など、情報処理装置を高温の場所に長期間保管してから出荷する場合など、マルチビットセルにプレインストールされているデータが破損する可能性がある。そのため、QLCのデータリテンション特性は、SLCに比べて短く、SLCのデータリテンション特性は、QLCに比べて長い。なお、データリテンション特性は、温度が高い程、短くなる傾向がある。
【0046】
図1の説明に戻り、メモリコントローラ42は、例えば、不図示のCPU、ROM、RAMなどを含むプロセッサであり、SSD40を統括的に制御する。メモリコントローラ42は、例えば、チップセット21との間のホストインタフェース(ホストI/F)の制御処理、フラッシュメモリ41との間のメモリインタフェース(メモリI/F)の制御処理、フラッシュメモリ41のデータ管理処理などの処理を実行する。
【0047】
また、メモリコントローラ42は、メイン制御部10からの各種要求(例えば、コマンド処理による要求)に応じて、SSD40に関する各種処理を実行する。メモリコントローラ42は、例えば、QLC領域QA1に記憶されているデータを、SLC領域SA1に移動させる特殊コマンドを有している。メモリコントローラ42は、メイン制御部10から出力された当該特殊コマンドに応じて、QLC領域QA1に記憶されているデータを、SLC領域SA1に移動させるコマンド処理を実行する。
【0048】
次に、図面を参照して、本実施形態による情報処理装置1の製造方法うちの情報処理装置1にプレインストールを行うプレインストール工程について説明する。
なお、プレインストールとは、出荷時にSSD40に予め記憶させる(プリロードする必要のある)プログラム及びデータ(以下、プリロードデータということがある)をインストールする処理のことであり、初期インストールのことである。また、出荷時にSSD40に予め記憶させるプログラム及びデータをプレインストールプログラム及びプレインストールデータという。
【0049】
図4は、本実施形態による情報処理装置1のプレインストール工程の処理の一例を示すフローチャートである。また、
図5は、本実施形態による情報処理装置1のプレインストール工程におけるSSD40の状態遷移の一例を示す図である。
【0050】
図4に示すように、情報処理装置1は、プレインストール工程の処理において、まず、インストーラをSLC領域SA1にロードする(ステップS101)。情報処理装置1のメイン制御部10は、出荷時にSSD40に予め記憶させる(プリロードさせる)プログラム及びデータをインストールする処理を実行するインストーラ(インストールプログラム)を、例えば、USBなどを用いて、外部から取得し、SSD40に記憶させる。SSD40のメモリコントローラ42は、SLC領域SA1に、インストーラ(インストールプログラム)を記憶させる。これにより、SSD40の記憶領域は、
図5に示す記憶領域が空の状態ST1から、SLC領域SA1にインストーラ(インストールプログラム)を記憶させた状態ST2になる。
【0051】
図5の状態ST2に示すように、インストーラ(インストールプログラム)には、例えば、コアOSイメージ、ワークファイル、インストールソースファイル、ページファイル、及びドライバ(デバイスドライバ)などが含まれる。ここで、コアOSイメージは、例えば、Windows(登録商標)のイメージ情報である。
【0052】
なお、メイン制御部10は、SSD40に対して論理アドレスによりアクセスし、SSD40のうちのどの物理的な記憶領域に書き込みが行うのかを指定しないことが一般的である。そのため、SSD40のメモリコントローラ42が、SSD40の記憶領域を決定するものとしてもよい。現在普及している技術では、メモリコントローラ42が、記憶領域を選択するものが一般的である。
【0053】
次に、メイン制御部10は、インストーラを実行させてプレインストールプログラム及びデータをQLC領域を含む記憶領域に記憶させる(ステップS102)。メイン制御部10は、SSD40のSLC領域SA1にテンポラリファイル領域を確保するために、コアOSイメージ、ワークファイル、及びインストールソースファイルを、SLC領域SA1からQLC領域QA1に移動させる。
【0054】
すなわち、メモリコントローラ42は、メイン制御部10の指示に応じて、コアOSイメージ、ワークファイル、及びインストールソースファイルを、SLC領域SA1からQLC領域QA1に移動させて、
図5の状態ST3に示すように、SLC領域SA1にテンポラリファイルの領域(ワークデータ領域)を確保する。メイン制御部10は、確保したテンポラリファイルを利用して、インストーラ(インストールプログラム)によるプレインストールプログラム及びデータのインストール処理を実行する。このように、メイン制御部10は、インストールプログラムを実行して、QLC領域QA1を含むSSD40の記憶領域にプレインストールプログラム及びデータ(プリロードされるプログラム及びデータ、又は、略してプリロードデータという)をインストールする。
【0055】
次に、メイン制御部10は、インストールに使用したワークデータを消去する(ステップS103)。メイン制御部10は、
図5の状態ST4に示すように、SSD40にインストールに用いたワークデータを消去させる。なお、
図5に示す例でのワークデータは、ワークファイルとテンポラリファイルとが対応する。
【0056】
次に、メイン制御部10は、QLC領域QA1のプレインストールプログラム及びデータをSLC領域SA1に移動させる(ステップS104)。メイン制御部10は、SSD40に、上述した特殊コマンドを出力し、SSD40のメモリコントローラ42は、特殊コマンド処理を実行して、
図5の状態ST5に示すように、コアOSイメージ及びインストールソースファイルを、QLC領域QA1からSLC領域SA1に移動させる。
【0057】
これにより、SSD40には、プレインストールプログラム及びデータが全て、SLC領域SA1に記憶された状態(状態ST5)になり、情報処理装置1が出荷されるまで、この状態に保管される。ステップS104の処理後に、メイン制御部10は、プレインストール工程の処理を終了する。
なお、プリロードデータをSLC領域SA1に格納すると、SLCの記憶密度がQLCの記憶密度よりも低くなるため、SSD40全体の容量が減少することになる。この場合、メイン制御部10は、出荷後に初めて起動されると(すなわち、ユーザによるいわゆる「箱から出して」起動すると)、SSD40を制御して、全てのプリロードデータをSLC領域SA1からQLC領域QA1に移動するように構成されてもよい。次に、SSD40の実効容量を増やすために、メイン制御部10は、SSD40をさらに制御して、ダイナミックSLC領域SA12の一部又は全部を代わりに、ダイナミックQLC領域QA12に切り替えてもよい。このように、プリロードデータは、保存及び出荷時に信頼性が高いが容量の小さいSLCメモリビットに格納され、出荷及び最初の起動後に、大容量のQLCメモリビットに移動される。
【0058】
なお、上述した
図4の処理において、ステップS101の処理は、プレインストール工程における第1の製造工程(第1のステップ)に対応し、ステップS102及びステップS103が、プレインストール工程における第2の製造工程(第2のステップ)に対応する。また、ステップS104が、プレインストール工程における第3の製造工程(第3のステップ)に対応する。
【0059】
以上説明したように、本実施形態による情報処理装置1の製造方法は、SLC領域SA1(第1記憶領域)と、QLC領域QA1(第2記憶領域)とを有するSSD40と、SSD40に記憶させたプログラム及び記憶データに基づいて情報処理を実行するメイン制御部10(制御部)とを備える情報処理装置1の製造方法であって、第1の製造工程と、第2の製造工程と、第3の製造工程とを含む。ここで、第1記憶領域(SLC領域SA1)は、1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域である。また、第2記憶領域(QLC領域QA1)は、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域である。第1の製造工程において、メイン制御部10が、出荷時にSSD40に予め記憶させるプログラム及びデータをインストールする処理を実行するインストールプログラムを、SSD40(例えば、SLC領域SA1)に記憶させる。第2の製造工程において、メイン制御部10が、インストールプログラムを実行して、QLC領域QA1を含むSSD40の記憶領域に、予め記憶させるプログラム(プレインストールプログラム)及びデータをインストールする。第3の製造工程において、メイン制御部10が、QLC領域QA1に記憶されている予め記憶させるプログラム(プレインストールプログラム)及びデータを、SLC領域SA1に移動させる。なお、第1の製造工程において、インストールプログラムが、SLC領域SA1(第1記憶領域)に記憶されるようにしてもよい。
【0060】
これにより、本実施形態による情報処理装置1の製造方法は、
図3に示すように、データ保持期間(データリテンション)がQLC領域QA1よりも長いSLC領域SA1に、予め記憶させるプログラム(プレインストールプログラム)及びデータを記憶させるため、SSD40にプレインストールしたデータ(プログラムも含む)のデータ化けを低減することができる。そのため、本実施形態による情報処理装置1の製造方法では、情報処理装置1を、例えば、出荷前に高温の場所で長期間保管することが可能になる。
【0061】
例えば、日中の気温が40℃を超える場合があるインドなどで、情報処理装置1の出荷前に保管する場合に、SLC領域SA1にプレインストールすることで、データ化けを低減することが可能であり、出荷後に情報処理装置1を正常に動作させることができる。
【0062】
また、本実施形態では、第2の製造工程において、メイン制御部10が、インストールプログラムを実行する際に、ワークデータ領域(例えば、ワークファイル)をSLC領域SA1に確保するために、SLC領域SA1に記憶されているデータをQLC領域QA1に移動する。また、メイン制御部10は、インストールプログラムの実行を終了する際に、ワークデータ領域に記憶されているワークデータを消去する。そして、第3の製造工程において、メイン制御部10は、QLC領域QA1に記憶されている予め記憶させるプログラム及びデータを、ワークデータを消去したワークデータ領域を含むSLC領域SA1の空き領域に移動させる。
【0063】
これにより、本実施形態による情報処理装置1の製造方法では、パフォーマンスの高いSLC領域SA1にワークデータ領域を確保して、効率良くプレインストールを実行させつつ、SSD40にプレインストールしたデータ(プログラムも含む)のデータ化けを低減することができる。
【0064】
また、本実施形態では、SSD40は、QLC領域QA1に記憶されているプログラム及びデータを、SLC領域SA1に移動させるコマンド処理(特殊コマンド処理)を実行可能である。第3の製造工程において、メイン制御部10が、コマンド処理の実行をSSD40に要求し、SSD40が、コマンド処理を実行して、予め記憶させるプログラム及びデータを、QLC領域QA1からSLC領域SA1に移動させる。
【0065】
これにより、本実施形態による情報処理装置1の製造方法では、SSD40のコマンド処理により、さらに効率良くプレインストールを実行させることができる。
【0066】
また、本実施形態では、複数ビットセルは、QLCである。
これにより、1つのメモリセルで、4ビットのデータを記憶するQLCでは、データリテンション特性(データ保持期間)が短いため、特に好適にプレインストールしたデータ(プログラムも含む)のデータ化けを低減することができる。
【0067】
また、本実施形態によるプレインストール方法は、SLC領域SA1(第1記憶領域)と、QLC領域QA1(第2記憶領域)とを有するSSD40と、SSD40に記憶させたプログラム及び記憶データに基づいて情報処理を実行するメイン制御部10(制御部)とを備える情報処理装置1のプレインストール方法であって、第1のステップと、第2のステップと、第3のステップとを含む。ここで、第1記憶領域(SLC領域SA1)は、1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域である。また、第2記憶領域(QLC領域QA1)は、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域である。第1のステップ(例えば、
図4のステップS101)において、メイン制御部10が、出荷時にSSD40に予め記憶させるプログラム及びデータをインストールする処理を実行するインストールプログラムを、SLC領域SA1に記憶させる。第2のステップ(例えば、
図4のステップS102及びステップS103)において、メイン制御部10が、インストールプログラムを実行して、QLC領域QA1を含むSSD40の記憶領域に、予め記憶させるプログラム(プレインストールプログラム)及びデータをインストールする。第3のステップ(例えば、
図4のステップS104)において、メイン制御部10が、QLC領域QA1に記憶されている予め記憶させるプログラム(プレインストールプログラム)及びデータを、SLC領域SA1に移動させる。
【0068】
これにより、本実施形態によるプレインストール方法は、上述した情報処理装置1の製造方法と同様の効果を奏し、SSD40にプレインストールしたデータ(プログラムも含む)のデータ化けを低減することができる。
【0069】
[第2の実施形態]
次に、図面を参照して、第2の実施形態による情報処理装置1の製造方法について説明する。
本実施形態では、第3の製造工程(第3のステップ)において、QLC領域QA1のデータを移動する領域が、SLC領域SA1になかった場合の変形例について説明する。
【0070】
本実施形態では、メイン制御部10は、QLC領域QA1に記憶されている予め記憶させるプログラム及びデータの容量が、SLC領域SA1の空き領域より大きい場合に、QLC領域QA1をSLC領域SA1に変更させてSLC領域SA1の空き領域を確保する。そして、メイン制御部10は、予め記憶させるプログラム及びデータを、QLC領域QA1からSLC領域SA1に移動させる。
【0071】
なお、本実施形態における情報処理装置1及びSSD40の基本的なハード構成は、
図1に示す第1の実施形態と同様であるため、ここではその説明を省略する。
次に、
図6を参照して、本実施形態による情報処理装置1の製造方法うちの情報処理装置1にプレインストールを行うプレインストール工程について説明する。
【0072】
図6は、本実施形態による情報処理装置1のプレインストール工程の処理の一例を示すフローチャートである。
図6において、ステップS201からステップS203までの処理は、上述した
図4に示すステップS101からステップS103までの処理と同様であるため、ここではその説明を省略する。
【0073】
次に、ステップS204において、メイン制御部10は、移動対象のデータ容量が、SLC領域SA1の空き容量より大きいか否か(移動対象のデータ容量>SLC領域SA1の空き容量?)を判定する。メイン制御部10は、移動対象のデータ容量が、SLC領域SA1の空き容量より大きい(移動対象のデータ容量>SLC領域SA1の空き容量)場合(ステップS204:YES)に、処理をステップS205に進める。また、メイン制御部10は、移動対象のデータ容量が、SLC領域SA1の空き容量以下である(移動対象のデータ容量≦SLC領域SA1の空き容量)場合(ステップS204:NO)に、処理をステップS206に進める。
【0074】
ステップS205において、メイン制御部10は、QLC領域QA1の一部をSLC領域SA1に変更する。メイン制御部10は、
図2に示すダイナミックQLC領域QA12の一部を、ダイナミックSLC領域SA12に変更して、SLC領域SA1の空き容量を確保する。なお、ダイナミックQLC領域QA12をダイナミックSLC領域SA12に変更する場合に、記憶容量が(1/4)になるため、メイン制御部10は、SLC領域SA1の不足容量の4倍のダイナミックQLC領域QA12の部分を、ダイナミックSLC領域SA12に変更する必要がある。ステップS205の処理後に、メイン制御部10は、処理をステップS206に進める。
【0075】
また、ステップS206において、メイン制御部10は、QLC領域QA1のプレインストールプログラム及びデータをSLC領域SA1に移動させる。ステップS206の処理は、上述した
図4に示すステップS104の処理と同様であるため、ここではその説明を省略する。ステップS206の処理後に、メイン制御部10は、プレインストール工程の処理を終了する。
【0076】
なお、上述した
図6の処理において、ステップS201の処理は、プレインストール工程における第1の製造工程(第1のステップ)に対応し、ステップS202及びステップS203が、プレインストール工程における第2の製造工程(第2のステップ)に対応する。また、ステップS204からステップS206までの処理が、プレインストール工程における第3の製造工程(第3のステップ)に対応する。
【0077】
以上説明したように、本実施形態による情報処理装置1の製造方法(プレインストール方法)では、SSD40は、QLC領域QA1の複数ビットセルを単ビットセルとして機能させることで、QLC領域QA1をSLC領域SA1に変更可能である。第3の製造工程(第3のステップ)において、メイン制御部10は、QLC領域QA1に記憶されている予め記憶させる(プリロードさせる)プログラム及びデータの容量が、SLC領域SA1の空き領域より大きい場合に、QLC領域QA1をSLC領域SA1に変更させてSLC領域SA1の空き領域を確保する。そして、メイン制御部10は、予め記憶させる(プリロードさせる)プログラム及びデータを、QLC領域QA1からSLC領域SA1に移動させる。
【0078】
これにより、本実施形態による情報処理装置1の製造方法(プレインストール方法)は、SLC領域SA1が不足した場合であっても、QLC領域QA1をSLC領域SA1に変更することで、QLC領域QA1よりからSLC領域SA1に、予め記憶させる(プリロードさせる)プログラム(プレインストールプログラム)及びデータを適切に移動させることができる。
【0079】
なお、情報処理装置1は、エンドユーザにより使用される通常動作の状態では、SSD40のメモリコントローラ42が、データリテンションを管理して、適切に書き換えを行うため、QLC領域QA1に記憶されているデータのデータ化けをエンドユーザが気に掛ける必要はない。
【0080】
なお、本実施形態による情報処理装置1の製造方法、及び情報処理装置1は、以下の形態であってもよい。
本実施形態による情報処理装置1の製造方法は、1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域であるSLC領域SA1と、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域であるQLC領域QA1とを有するSSD40を備える情報処理装置1の製造方法であって、第1の製造工程と、第2の製造工程と、第3の製造工程と祖含む。第1の製造工程において、出荷時にSSD40に予め記憶させるプログラム及びデータであるプリロードデータをインストールする処理を実行するインストールプログラムを、SLC領域SA1に記憶させる。第2の製造工程において、インストールプログラムを実行して、プリロードデータ少なくとも一部を、QLC領域QA1にインストールする。第3の製造工程において、インストールプログラムを実行した後に、QLC領域QA1に記憶されているプリロードデータの任意の部分を、SLC領域SA1に移動させる。
【0081】
また、本実施形態による情報処理装置1の製造方法では、第2の製造工程において、インストールプログラムを実行する処理には、SLC領域SA1に記憶された特定のデータを、QLC領域QA1に移動してSLC領域SA1のワークデータ領域を解放し、インストールプログラムの実行を終了するときにワークデータ領域を消去する処理が含まれてもよい。また、第3の製造工程において、プリロードデータを移動する処理には、プリロードデータの少なくとも一部をSLC領域SA1のワークデータ領域に移動する処理が含まれてもよい。
【0082】
また、本実施形態による情報処理装置1の製造方法では、SSD40は、SLC領域SA1とQLC領域QA1との間でデータを移動するためのコマンド処理を実行するように構成されてもい。第3の製造工程において、プリロードデータを移動する処理には、SSD40を制御して、コマンド処理により、QLC領域QA1に記憶されているプリロードデータの任意の部分をSLC領域SA1に移動する処理が含まれてもよい。
【0083】
また、本実施形態による情報処理装置1の製造方法では、SLC領域SA1及びQLC領域QA1は、SSD40のダイナミック記憶領域の少なくとも一部であり、ダイナミック記憶領域は、SLC領域SA1とQLC領域QA1との間で切り替え可能な動的メモリセルの記憶領域であってもよい。
【0084】
また、本実施形態による情報処理装置1の製造方法では、第3の製造工程において、プリロードデータを移動する処理には、プリロードデータの少なくとも一部を、SSD40のダイナミック記憶領域に移動する処理を含まれてもよい。
【0085】
また、本実施形態による情報処理装置1の製造方法では、第3の製造工程において、プリロードデータを移動する処理には、ダイナミック記憶領域の少なくとも一部をQLC領域QA1からSLC領域SA1に切り替えるようにSSD40を制御する処理が含まれてもよい。
【0086】
また、本実施形態による情報処理装置1の製造方法では、インストールプログラムを実行する前に、SSD40を制御して、ダイナミック記憶領域の少なくとも一部をSLC領域SA1からQLC領域QA1に切り替えてもよい。
【0087】
また、本実施形態による情報処理装置1の製造方法では、1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域であるSLC領域SA1と、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域であるQLC領域QA1とを有するSSD40と、SSD40に記憶させたプログラム及び記憶データに基づいて情報処理を実行するメイン制御部10とを備える情報処理装置の製造方法であって、第1の製造工程と、第2の製造工程と、第3の製造工程とを含んでもよい。第1の製造工程において、メイン制御部10が、出荷時にSSD40に予め記憶させるプログラム及びデータであるプリロードデータをインストールする処理を実行するインストールプログラムを、SSD40に記憶させる。第2の製造工程において、メイン制御部10が、インストールプログラムを実行して、プリロードデータの少なくとも一部を、QLC領域QA1にインストールする。第3の製造工程において、メイン制御部10が、QLC領域QA1に記憶されているプリロードデータを、SLC領域SA1に移動させる。
【0088】
また、本実施形態による情報処理装置1は、SSD40と、メイン制御部10とを備える。SSD40は、1つのメモリセルで1ビットのデータを記憶する単ビットセルの記憶領域であるSLC領域SA1と、1つのメモリセルで複数ビットのデータを記憶する複数ビットセルの記憶領域であるQLC領域QA1との間で切り替え可能なダイナミック記憶領域を含む。メイン制御部10は、SSD40に結合される制御部であって、SSD40のダイナミック記憶領域のSLC領域SA1に、SSD40に予め記憶させるプログラム及びデータであるプリロードデータを保存し、プリロードデータを保存した後に、情報処理装置を最初に起動したときに、プリロードデータをSSD40のダイナミック記憶領域のQLC領域QA1に移動させる。
【0089】
また、本実施形態では、メイン制御部10は、さらに、プリロードデータをQLC領域QA1に移動した後、SSD40を制御して、ダイナミック記憶領域のSLC領域SA1をQLC領域QA1になるように切り替えてもよい。
【0090】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、QLC領域QA1からSLC領域SA1にデータを移動させる処理を特殊コマンドにより、SSD40のメモリコントローラ42が実行する例を説明したが、これに限定されるものではない。例えば、SSD40は、特殊コマンドを備えずに、メイン制御部10が、通常のSSD40の制御を用いて、QLC領域QA1からSLC領域SA1にデータを移動させるようにしてもよい。
【0091】
また、上記の各実施形態において、情報処理装置1は、ノートブック型パーソナルコンピュータ(モバイルコンピュータ)である例を説明したが、これに限定されるものではなく、例えば、デスクトップ型パーソナルコンピュータやタブレット端末装置などの他の情報処理装置であってもよい。
【0092】
また、上記の各実施形態において、複数ビットセルの一例として、SSD40に、QLCを用いる例を説明したがこれに限定されるものではない。複数ビットセルは、例えば、1つのメモリセルで2ビット相当を記憶するMLC(Multi Level Cell)、1つのメモリセルで3ビット相当を記憶するTLC(Triple Level Cell)などであってもよい。
【0093】
また、上記の各実施形態において、フラッシュメモリ41のメモリせるが、チャージトラップ方式のメモリセルである例を説明したが、これに限定されるものではなく、フローティングゲートを備えるフローティングゲート方式のメモリセルであってもよい。
【0094】
また、上記の
図6の処理において、ステップS204及びステップS205の処理を、メイン制御部10が主体に実行する例を説明したが、これに限定されるものではなく、SSD40がこれらの処理を実行するようにしてもよい。
また、現在普及している技術では、SSD40のメモリコントローラ42がSSD40の記憶領域を選択することが一般的であり、
図4及び
図6に示す処理において、メモリコントローラ42が制御主体になって、SLC領域SA1とQLC領域QA1を選択するようにしてもよい。
【0095】
また、上述した第1の製造工程において、インストールプログラムが、SLC領域SA1(第1記憶領域)に記憶される例を説明したが、これに限定されるものではなく、QLC領域QA1に記憶されるようにしてもよい。
【0096】
なお、上述した情報処理装置1及びSSD40が備える各構成は、内部に、コンピュータシステムを有している。そして、上述した情報処理装置1及びSSD40が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した情報処理装置1及びSSD40が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0097】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に情報処理装置1及びSSD40が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0098】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0099】
1 情報処理装置
10 メイン制御部
11 CPU
12 メインメモリ
13 ビデオサブシステム
14 表示部
21 チップセット
22 BIOSメモリ
31 エンベデッドコントローラ(EC)
32 入力部
33 電源回路
40 SSD
41 フラッシュメモリ
42 メモリコントローラ
DA1 ダイナミック領域
QA1 QLC領域
QA11 スタティックQLC領域
QA12 ダイナミックQLC領域
SA1 SLC領域
SA11 スタティックSLC領域
SA12 ダイナミックSLC領域