2018年1月31日 星期三

[windows] Process Explorer, Memory Info, 記憶體使用


右鍵->property:



performance:








peakworking set = 669, 048kb  = windows工作管理員的值





PageFaultCount

The number of page faults.

PeakWorkingSetSize

The peak working set size, in bytes.

WorkingSetSize

The current working set size, in bytes.

QuotaPeakPagedPoolUsage

The peak paged pool usage, in bytes.

QuotaPagedPoolUsage

The current paged pool usage, in bytes.

QuotaPeakNonPagedPoolUsage

The peak nonpaged pool usage, in bytes.

QuotaNonPagedPoolUsage

The current nonpaged pool usage, in bytes.

PagefileUsage

The Commit Charge value in bytes for this process. Commit Charge is the total amount of memory that the memory manager has committed for a running process.

PeakPagefileUsage

The peak value in bytes of the Commit Charge during the lifetime of this process.



•記憶體 - 工作集. 私人工作集中的記憶體數量,加上處理程序使用中且可與其他處理程序共用的記憶體數量。
•記憶體 - 尖峰工作集. 處理程序使用的工作集記憶體之最大數量。
•記憶體 - 工作集 Delta. 處理程序使用的工作集記憶體中數量的變化。
•記憶體 - 認可大小. 保留給處理程序使用的虛擬記憶體數量。
•記憶體 - 分頁集區. 供處理程序使用的已認可虛擬記憶體數量,可寫入其他儲存媒體,例如硬碟。
•記憶體 - 非分頁集區. 供處理程序使用的已認可虛擬記憶體數量,不能寫入其他儲存媒體。





https://docs.microsoft.com/zh-tw/sysinternals/downloads/process-explorer
https://msdn.microsoft.com/zh-tw/library/windows/desktop/ms684874(v=vs.85).aspx


2018年1月29日 星期一

[C++] string format hexadecimal example


ex:

output




src:
CString s1, s2;
CString s3, s4;
for(int i = 0 ; i < 20 ; i++){
s1.Format("%2X,", buffer[i]); //前面不足位不補0
s2 += s1;

s3.Format("%02X,", buffer[i]); //前面不足位會補0
s4 += s3;
}



REF:
https://msdn.microsoft.com/zh-tw/library/hf4y5e3w.aspx
https://msdn.microsoft.com/zh-tw/library/8aky45ct.aspx



2018年1月28日 星期日

[Sport] Prize money for Australian Open 2018


change rateUpdate
23.9320180129
AUDNTD
Men's & Women's Singles
Winner4,000,000 NT$ 95,720,000.00
Runner-up2,000,000 NT$ 47,860,000.00
Semifinalists880,000 NT$ 21,058,400.00
Quarterfinalists440,000 NT$ 10,529,200.00
Round of 16240,000 NT$ 5,743,200.00
Round of 32142,500 NT$ 3,410,025.00
Round of 6490,000 NT$ 2,153,700.00
First Round60,000 NT$ 1,435,800.00
Men's & Women's Doubles (per pair)
Winner700,000 NT$ 16,751,000.00
Runner-up350,000 NT$ 8,375,500.00
Semifinalists175,000 NT$ 4,187,750.00
Quarterfinalists90,000 NT$ 2,153,700.00
Round of 1649,000 NT$ 1,172,570.00
Round of 3229,500 NT$ 705,935.00
First Round18,500 NT$ 442,705.00 


https://ausopen.com/essentials/match-info/prize-money

2018年1月18日 星期四

[VC6] add Configuration (release / debug) , add example


sol:
Build -> Configurations -> add / remove 






ex:
add Keeplog


change executable for debug session




add preprocessor definitions:


add output file name:



[VC6] add Configuration (release / debug)


sol:
Build -> Configurations -> add / remove 



2018年1月4日 星期四

[SSD] SLC, MLC, TLC, QLC. 2D, 3D NAND






 SLC, MLC, TLC, QLC

SLC (Single-level cell)

1 bit of data per cell

Fastest writing speed

Longest service life (P/E Cycle is approximately 50,000 to 100,000)

MLC (Multi-level cell)

2 bits of data per cell

Writing speed < SLC

Average service life (P/E Cycle is approximately 3,000 to 10,000)

TLC (Triple-level cell)

3 bits of data per cell

Writing speed < MLC

Has less than half of MLC's service life (P/E Cycle is approximately 500 to 1,000)

QLC (Quad-level cell)

4 bits of data per cell

Slowest writing speed

Shortest service life, currently under development






2D NAND vs 3D NAND















2D and 3D NAND Technology Roadmap







2007- BiCS(Bit Cost Scalable)技術(包含多堆疊柵極層結構)被提出
2009年,金屬柵極三維NAND閃存技術(TCAT)被提出來

下面是四大NAND廠商的3D-TLC產品。

Micron B0KB 3D TLC 384Gb。

Toshiba 3D BiCS2 TLC 256Gb

SK Hynix 3D-v3 TLC 256Gb

Samsung 3D-v2 TLC 256Gb


3D-TLC存儲密度大,但是相比MLC,出錯率更高,必須要有更高效、糾錯能力更強的技術支持,這就是LDPC(Low Density Parity Check Code,低密度奇偶校驗碼)



ref:
https://www.techporn.ph/tlc-is-becoming-the-mainstream-for-ssd-in-the-consumer-market/
https://www.pcper.com/news/Storage/Transcend-run-MLC-Flash-SLC-Mode-SuperMLC-Speed-Boost

https://semiengineering.com/nand-market-hits-speed-bump/

[Tool] HD Tune , 免費磁碟掃描工具





網址:
http://www.hdtune.com/download.html

2018年1月2日 星期二

[MFC] DeleteColumn, Delete all of the columns. (MSDN is wrong)




void  CdlgErrorcode::ClearListCtrl_ERRORCODE(IN CListCtrl *pListCtrl)
{

pListCtrl->DeleteAllItems();
while (pListCtrl->DeleteColumn(0));
return;
}





MSDN上的solution 有問題


https://msdn.microsoft.com/zh-tw/library/75edh5fy.aspx