Download presentation
Presentation is loading. Please wait.
1
Synology Technology Alex Wang May 1, 2008
2
Outline Hardware architecture Software architecture Performance
Competitive cost Quality
3
Hardware Architecture
4
Hardware Specification
DS107 DS207+ DS407 DS508 CPU Power PC 266MHz ARM 500MHz PowerPC 800MHz RAM 64 MB 128MB 512MB Flash 2 MB 4 MB Disk 1 2 4 5 USB 3 AC Adapter 50W 70W 100W 250W
6
DS407 Board
7
Software Architecture
8
Software Architecture
1 source tree for multiple platform 5 CPU, 19 models Only change boot loader, kernel, and toolchain Sometimes build our own toolchain crosstool: Chroot build process
9
Flash Layout 2 MB 4 MB Kernel Kernel 0xD0000, 832 KB 0x200000, 2MB
Hw config (0x10000) Reserved 0x20000 Ramdisk 0x180000, 1.5MB ppcboot (0x40000) Ramdisk 0xD0000, 704KB Hw config (0x10000) Reserved 0x20000 FIS directory (0x10000) FIS directory (0x10000) uboot (0x40000)
10
Boot Procedure 6 3 7 2 5 1 8 8 4 Flash RAM Ramdisk init Ramdisk initrd
Kernel mounts memory disk Flash RAM 6 Ramdisk init Ramdisk 3 initrd 0x800000 0xFFE00000 7 Kernel Kernel 2 5 Ramdisk linuxrc.syno 0xFFC00000 0x80000 Copy kernel to RAM 1 8 8 4 Jump to kernel Disk /etc/rc Boot loader Ramdisk /etc/rc
11
Boot Procedure
12
Software Architecture
Web Applications Management UI Network Service Synology SDK Library Linux Kernel, , Disk Driver Network Driver USB Driver Synology HW driver
13
Performance
14
RAID 5 Read Performance Intel Celeron 3.2GHz Celeron M 1.5 GHz
ARM 500 MHz ARM 500 MHz ARM 500 MHz
15
RAID 5 Read Performance Intel Celeron 3.2GHz Celeron M 1.5 GHz
ARM 500 MHz PowerPC 266 MHz ARM 500 MHz
16
RAID 5 Write Performance
17
RAID 5 Read Performance 40% faster then original Linux kernel FTP download from 26 MB/s to 37 MB/s 1 year ahead to Linux kernel How?
18
RAID 5 Read Performance At least 3 disks Allow 1 disk failure P 1 2 3
6 4 5 P 9 7 P 8 12 P 10 11
19
Stripe Cache (Used to check data consistency)
RAID 5 Read Performance Read buffer Memory copy Stripe Cache (Used to check data consistency) Memory copy P 1 2 3 6 4 5 P 9 7 P 8 12 P 10 11
20
Reduce Memory Copy Download file for (;;) {
cnt = read(file_fd, buf, sizeof(buf)); if (cnt <= 0) break; for (len = cnt, bp = buf; len > 0;) { cnt = write(sock_fd, bp, len); if (cnt < 0) error; len -= cnt; bp+=cnt; }
21
Reduce Memory Copy User space daemon Disk read() Kernel memory copy
write() Network memory copy
22
Reduce Memory Copy cnt = sendfile(sock_fd, file_fd, offset, filesize);
User space daemon Kernel Disk sendfile() Network
23
Large Directory Handling
Windows uses case-insensitive Unix/Linux is case-sensitive How would Samba do to pretend it is case-insensitive? Create/rename/delete/lookup
24
Large Directory Handling
Enumerate all files in the directory, convert file name to upper and do string compare! What if there are more than 10,000 files in a directory?
25
Large Directory Handling
Modify EXT3 file system to be case-insensitive Port EXT3 directory hash to 2.4 kernel open() 10,000 files from 2mins to 10 sec
26
Competitive Cost
27
Competitive Cost We are small company NAS is a small market
Big companies get lower price because they can share parts between different products How to compete? Software!!
28
Competitive Cost – Flash size
We use 2 MB or 4 MB flash Our competitor uses 16 MB flash (or 512 KB flash and bundle disk) Don't bundle disk to avoid the risk of disk price decline 2 MB $3 4 MB $4 16 MB $10
29
Competitive Cost – Flash size
Use 2.4 kernel smaller footprint, better performance, FTP 20% faster Network installation The ramdisk in flash provides minimize function for installation only
30
Competitive Cost – Power Supply
A 1TB Disk needs 40W PC server uses 350W power supply, noisy, large We use 100W adapter for 4 disk model, quiet, small 100 W for 4 disk+PCB? 40W Adapter $4 50W adapter (1 disk) $5.5 70W adapter (2 disks) $9 100W adapter (4 disks) $22 250W (PC) $28
31
Competitive Cost – Power Supply
Disk spin up 35 W Disk access 14 W Disk idle 12 W Disk hibernation 0 W PCB 7~12 W Power up sequence
32
Competitive Cost – Power Supply
33
Competitive Cost – Power Supply
Power up sequence Software delay until disk ready, 40 seconds How about hibernation?
34
Competitive Cost – Power Supply
Ask disk whether disk is hibernating before access it When disk is hibernating and wake up the first disk If other disks are waking up, put into queue to delay wake up Extra command to ask status? Performance?
35
Quality
36
Quality - Reliability Mass stress 12pic x 14days for every release
MP - Stress memory for 24 hours MP - Stress with disk for 24 hours Production cost: 4 disks x 100 pics Production capacity: 100 per day
37
Quality – Software Dainty
Continuous free firmware upgrade Take care on small details File created time Unicode conversion Extended attribute RAID error handling
38
Quality – RAID Error Handling
Read error? P 1 2 B 6 4 5 P 9 7 P 8 12 P 10 11
39
Quality – RAID Error Handling
Rewrite to leverage disk bad sector mapping P 1 2 B 6 4 5 P 9 7 P 8 12 P 10 11 3
40
Q&A Yes, we are hiring
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.